Syntax options: FLOAT=D_FLOAT FLOAT=G_FLOAT FOAT=IEEE_FLOAT The /FLOAT qualifier determines the conversion that SQL Module language performs on SQL Module Language procedure parameters declared as single or double precision floating point SQL datatypes. SQL floating point datatypes are FLOAT(n), REAL, and DOUBLE PRECISION. See the Oracle Rdb SQL Reference Manual for details. Internally to Oracle Rdb, single precision floating point types are represented as F-Floating while double precision floating point types are represented and G-Floating. See SQL and Corresponding OpenVMS Data Types for Module Language in Section 3.4 of the Oracle Rdb SQL Reference Manual for more details. By default, parameters declared as single or double precision floating point type are expected to be passed by the calling host language program in F-Floating and G-Floating format, respectively. This is equivalent to using a qualifier of /FLOAT=G_FLOAT with the SQL$MOD command. If the command line for SQL$MOD has /FLOAT=D_FLOAT, then the single and double precision floating point parameters are expected to be in F-Floating and D-Floating format respectively. SQL Module Language will convert the double precision parameters between D-Floating and G-Floating formats for both input and output. If the command line for SQL$MOD has /FLOAT=IEEE_FLOAT, the single and double precision floating point parameters are expected to be in IEEE S-Floating and IEEE T-Floating format, respectively. SQL Module Language will convert between these formats and the internal F-Floating and G-Floating formats for both input and output. If a parameter of an SQL Module Language procedure is of a record type, any fields of the record which are of floating point types follow the same rules as described above. The floating point formats of the host language program actual parameters must agree with the format expected by the SQL Module Language actual parameter. See the Oracle Rdb SQL Reference Manual for information concerning actual and formal parameter agreement.) NOTES Oracle Rdb always stores floating point numbers internally using the VAX 32-bit and 64-bit types called F-Floating (F_ FLOAT) and G-Floating (G_FLOAT), respectively. This means that when IEEE formats are used in a host language program, Oracle Rdb converts back and forth between the VAX and IEEE formats. There are differences in the number of available bits in the fraction and exponent between these formats. Additionally, the IEEE formats have certain exponent values reserved for infinity values. These differences can cause floating point overflow or underflow as well as rounding errors during the conversion process. See Appendix A of the Portable Mathematics Library in the OpenVMS Operating System documentation for data on the maximum and minimum values for VAX versus IEEE floating point formats. When /FLOAT=IEEE_FLOAT is used, floating point data types may not be imported from the Common Data Dictionary.