Lines Matching refs:Float
56 class Float
69 Float (void);
70 explicit Float (StorageType value);
71 explicit Float (float v, RoundingDirection rd = ROUND_TO_EVEN);
72 explicit Float (double v, RoundingDirection rd = ROUND_TO_EVEN);
75 static Float convert (const Float<OtherStorageType, OtherExponentBits, OtherMantissaBits, OtherExponentBias, OtherFlags>& src, RoundingDirection rd = ROUND_TO_EVEN);
77 static inline Float convert (const Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags>& src, RoundingDirection = ROUND_TO_EVEN) { return src; }
96 static inline Float construct (int sign, int exponent, StorageType mantissa);
111 static Float constructBits (int sign, int exponent, StorageType mantissaBits);
130 inline bool operator< (const Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags>& other) const { return this->asDouble() < other.asDouble(); }
132 static Float zero (int sign);
133 static Float inf (int sign);
134 static Float nan (void);
136 static Float largestNormal (int sign);
137 static Float smallestNormal (int sign);
144 typedef Float<deUint16, 5, 10, 15, FLOAT_HAS_SIGN|FLOAT_SUPPORT_DENORM> Float16; //!< IEEE 754-2008 16-bit floating-point value
145 typedef Float<deUint32, 8, 23, 127, FLOAT_HAS_SIGN|FLOAT_SUPPORT_DENORM> Float32; //!< IEEE 754 32-bit floating-point value
146 typedef Float<deUint64, 11, 52, 1023, FLOAT_HAS_SIGN|FLOAT_SUPPORT_DENORM> Float64; //!< IEEE 754 64-bit floating-point value
148 typedef Float<deUint16, 5, 10, 15, FLOAT_HAS_SIGN> Float16Denormless; //!< IEEE 754-2008 16-bit floating-point value without denormalized support
151 inline Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags>::Float (void)
157 inline Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags>::Float (StorageType value)
163 inline Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags>::Float (float value, RoundingDirection rd)
172 inline Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags>::Float (double value, RoundingDirection rd)
181 inline float Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags>::asFloat (void) const
190 inline double Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags>::asDouble (void) const
199 inline Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags> Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags>::zero (int sign)
202 return Float(StorageType((sign > 0 ? 0ull : 1ull) << (ExponentBits+MantissaBits)));
206 inline Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags> Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags>::inf (int sign)
209 return Float(StorageType(((sign > 0 ? 0ull : 1ull) << (ExponentBits+MantissaBits)) | (((1ull<<ExponentBits)-1) << MantissaBits)));
213 inline Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags> Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags>::nan (void)
215 return Float(StorageType((1ull<<(ExponentBits+MantissaBits))-1));
219 inline Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags> Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags>::largestNormal (int sign)
222 return Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags>::construct(sign, ExponentBias, (static_cast<StorageType>(1) << (MantissaBits + 1)) - 1);
226 inline Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags> Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags>::smallestNormal (int sign)
229 return Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags>::construct(sign, 1 - ExponentBias, (static_cast<StorageType>(1) << MantissaBits));
233 Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags>
234 Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags>::construct
250 return Float(StorageType(s | (exp << MantissaBits) | (mantissa & ((StorageType(1)<<MantissaBits)-1))));
254 Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags>
255 Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags>::constructBits
265 return Float(StorageType((signBit << (ExponentBits+MantissaBits)) | (exponentBits << MantissaBits) | (mantissaBits)));
270 Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags>
271 Float<StorageType, ExponentBits, MantissaBits, ExponentBias, Flags>::convert
272 (const Float<OtherStorageType, OtherExponentBits, OtherMantissaBits, OtherExponentBias, OtherFlags>& other, RoundingDirection rd)
324 return Float(StorageType(s | (m + half + bias) >> bitDiff));
332 return Float(StorageType(s | m));
340 return Float(StorageType(s | m));
343 return Float(StorageType(s | (m >> bitDiff)));
420 return Float(StorageType(s | (StorageType(e + ExponentBias) << MantissaBits) | m));