CFPUInformation.hpp

Go to the documentation of this file.
00001 #ifndef __CFPUInformation__
00002 #define __CFPUInformation__
00003 
00004 #include "../Basics/CString.hpp"
00005 #include "SSystemInformation.hpp"
00006 #include "../IO/CTextStream.hpp"
00007 
00008 //  ===========================================================================
00009 
00010 using Exponent::Host::SSystemInformation;
00011 using Exponent::Basics::CString;
00012 using Exponent::IO::CTextStream;
00013 
00014 //  ===========================================================================
00015 
00016 namespace Exponent
00017 {
00018     namespace Host
00019     {
00037         class CFPUInformation
00038         {
00039         public:
00040 
00041 //  ===========================================================================
00042 
00046             static void initialiseCPUInformation();
00047 
00048 //  ===========================================================================
00049 
00054             static void dumpFPUInfoToFile(CSystemString &path);
00055 
00060             static void dumpFPUInfoToFile(CTextStream &stream);
00061 
00062 //  ===========================================================================
00063 
00068             static bool CPUHasMMX() { return CFPU_INFORMATION_HAS_MMX; }
00069 
00074             static bool CPUHasSSE() { return CFPU_INFORMATION_HAS_SSE; }
00075 
00080             static bool CPUHasSSE2() { return CFPU_INFORMATION_HAS_SSE2; }
00081 
00086             static bool CPUHasSSE3() { return CFPU_INFORMATION_HAS_SSE3; }
00087 
00092             static bool CPUHasHyperThreading() { return CFPU_INFORMATION_HAS_HT; }
00093 
00094 //  ===========================================================================
00095 
00096         protected:
00097 
00098 //  ===========================================================================
00099 
00100             static bool CFPU_INFORMATION_HAS_MMX;       
00101             static bool CFPU_INFORMATION_HAS_SSE;       
00102             static bool CFPU_INFORMATION_HAS_SSE2;      
00103             static bool CFPU_INFORMATION_HAS_SSE3;      
00104             static bool CFPU_INFORMATION_HAS_HT;        
00106         };
00107     }
00108 }
00109 #endif  // End of CFPUInformation.hpp

Infinity API - CFPUInformation.hpp Source File generated on 7 Mar 2007