< Compile Options / Optimize Options >
[Format]
[Description]
| 
- | This option omits part of the type conversion processing for the floating type. | 
| 
- | When this option is selected, the generation code that performs type conversion of the next floating-point number changes. | 
| 
- | a) Type conversion from 32-bit floating type to unsigned integer type | 
| 
- | b) Type conversion from unsigned integer type to 32-bit floating type | 
| 
- | c) Type conversion from integer type to 64-bit floating type via 32-bit floating type | 
[Example]
| 
- | < a) Type conversion from 32-bit floating type to unsigned integer type> | 
| unsigned long func1(float f) {    return ((unsigned long)f); }   When this option is not specified:  _func1:          FCMP   #4F000000H,R1          BLT    L12          FADD   #0CF800000H,R1  L12:          FTOI   R1,R1          RTS | 
| 
- | < b) Type conversion from unsigned integer type to 32-bit floating type> | 
| float func2(unsigned long u) {       return ((float)u); }   When this option is not specified:  _func2:          BTST   #31,R1          BEQ    L15          SHLR   #1,R1,R14          AND    #1,R1          OR     R14,R1          ITOF   R1,R1          FADD   R1,R1          BRA    L16  L15:          ITOF   R1,R1  L16:          RTS | 
| 
- | < c) Type conversion from integer type to 64-bit floating type via 32-bit floating type> | 
Does not apply when the dbl_size=8 specification is not valid.
| double func3(long l)  {       return (double)(float)l;  } When this option is not specified: _func3:         ITOF    R1,R1         BRA    __COM_CONVfd   When this option is specified:         BRA    __COM_CONV32sd   | 
[Remarks]
| 
- | When this option is specified, code performance of the relevant type conversion processing is improved. The conversion result may, however, differ from C/C++ language specifications, so take care on this point. | 
| 
- | This option of c) is invalid when optimize=0. |