"L. Spiro Engine"

F:/My Projects/LSEngine/Modules/LSMathLib/Src/Float16/LSMFloat16.h

00001 
00017 #ifndef __LSM_FLOAT16_H__
00018 #define __LSM_FLOAT16_H__
00019 
00020 #include "../LSMMathLib.h"
00021 
00022 namespace lsm {
00023 
00031         class CFloat16 {
00032         public :
00033                 // == Various constructors.
00034                 LSE_CALLCTOR                                    CFloat16();
00035                 LSE_CALLCTOR                                    CFloat16( LSFLOAT _fValue );
00036                 LSE_CALLCTOR                                    CFloat16( const CFloat16 &_f16Value );
00037 
00038 
00039                 // == Operators.
00045                 LSE_CALL                                                operator LSFLOAT() const;
00046 
00047 
00048         protected :
00049                 // == Types.
00053                 typedef union LSM_FLOAT_INT {
00057                         LSFLOAT                                         fValue;
00058 
00062                         LSINT32                                         i32Value;
00063 
00067                         LSUINT32                                        ui32Value;
00068                 } * LPLSM_FLOAT_INT, * const LPCLSM_FLOAT_INT;
00069 
00070 
00071                 // == Members.
00075                 LSUINT16                                                m_ui16Value;
00076 
00077 
00078                 // == Functions.
00084                 LSVOID LSE_CALL                                 FromFloat( LSFLOAT _fValue );
00085 
00091                 LSFLOAT LSE_CALL                                ToFloat() const;
00092         };
00093 
00094 }       // namespace lsm
00095 
00096 #endif  // __LSM_FLOAT16_H__
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator