diff options
Diffstat (limited to '')
-rw-r--r-- | docs/doxygen/nel/a02421.html | 179 |
1 files changed, 179 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02421.html b/docs/doxygen/nel/a02421.html new file mode 100644 index 00000000..e00ae963 --- /dev/null +++ b/docs/doxygen/nel/a02421.html @@ -0,0 +1,179 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>NeL: NLMISC::CCpuInfo___ struct Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.3.6 --> +<div class="qindex"> <form class="search" action="search.php" method="get"> +<a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NLMISC::CCpuInfo___ Struct Reference</h1><code>#include <<a class="el" href="a05616.html">cpu_info.h</a>></code> +<p> +<hr><a name="_details"></a><h2>Detailed Description</h2> +This helps to know wether cpu has some features such as mmx, sse ... <dl compact><dt><b>Author:</b></dt><dd>Nicolas Vizerie <p> +Nevrax France </dd></dl> +<dl compact><dt><b>Date:</b></dt><dd>2001 </dd></dl> + +<p> + +<p> +Definition at line <a class="el" href="a05616.html#l00041">41</a> of file <a class="el" href="a05616.html">cpu_info.h</a>.<table border=0 cellpadding=0 cellspacing=0> +<tr><td></td></tr> +<tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02421.html#NLMISC_1_1CCpuInfo______e0">hasCPUID</a> (void)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02421.html#NLMISC_1_1CCpuInfo______e1">hasMMX</a> (void)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02421.html#NLMISC_1_1CCpuInfo______e2">hasSSE</a> (void)</td></tr> + +</table> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="NLMISC_1_1CCpuInfo______e0" doxytag="NLMISC::CCpuInfo___::hasCPUID" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLMISC::CCpuInfo___::hasCPUID </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +test wether the cpuid instruction is supported (always false on non intel architectures) +<p> +Definition at line <a class="el" href="a05615.html#l00108">108</a> of file <a class="el" href="a05615.html">cpu_info.cpp</a>. +<p> +References <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +<div class="fragment"><pre>00109 { +00110 <span class="preprocessor"> #ifdef NL_OS_WINDOWS</span> +00111 <span class="preprocessor"></span> <a class="code" href="a04558.html#a11">uint32</a> result; +00112 __asm +00113 { +00114 pushad +00115 pushfd +00116 <span class="comment">// If ID bit of EFLAGS can change, then cpuid is available</span> +00117 pushfd +00118 pop eax <span class="comment">// Get EFLAG</span> +00119 mov ecx,eax +00120 xor eax,0x200000 <span class="comment">// Flip ID bit</span> +00121 push eax +00122 popfd <span class="comment">// Write EFLAGS</span> +00123 pushfd +00124 pop eax <span class="comment">// read back EFLAG</span> +00125 xor eax,ecx +00126 je noCpuid <span class="comment">// no flip -> no CPUID instr.</span> +00127 +00128 popfd <span class="comment">// restore state</span> +00129 popad +00130 mov result, 1 +00131 jmp CPUIDPresent +00132 +00133 noCpuid: +00134 popfd <span class="comment">// restore state</span> +00135 popad +00136 mov result, 0 +00137 CPUIDPresent: +00138 } +00139 <span class="keywordflow">return</span> result == 1; +00140 <span class="preprocessor"> #else</span> +00141 <span class="preprocessor"></span> <span class="keywordflow">return</span> <span class="keyword">false</span>; +00142 <span class="preprocessor"> #endif</span> +00143 <span class="preprocessor"></span>} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CCpuInfo______e1" doxytag="NLMISC::CCpuInfo___::hasMMX" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLMISC::CCpuInfo___::hasMMX </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +helps to know wether the processor features mmx instruction set This is initialized at started, so its fast (always false on not 0x86 architecture ...) +<p> +Definition at line <a class="el" href="a05615.html#l00144">144</a> of file <a class="el" href="a05615.html">cpu_info.cpp</a>. +<p> +References <a class="el" href="a05615.html#l00105">NLMISC::HasMMX</a>. +<p> +<div class="fragment"><pre>00144 { <span class="keywordflow">return</span> <a class="code" href="a05378.html#a5">HasMMX</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLMISC_1_1CCpuInfo______e2" doxytag="NLMISC::CCpuInfo___::hasSSE" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLMISC::CCpuInfo___::hasSSE </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +helps to know wether the processor has streaming SIMD instructions (the OS must supports it) This is initialized at started, so its fast (always false on not 0x86 architecture ...) +<p> +Definition at line <a class="el" href="a05615.html#l00145">145</a> of file <a class="el" href="a05615.html">cpu_info.cpp</a>. +<p> +References <a class="el" href="a05615.html#l00106">NLMISC::HasSSE</a>. +<p> +<div class="fragment"><pre>00145 { <span class="keywordflow">return</span> <a class="code" href="a05378.html#a6">HasSSE</a>; } +</pre></div> </td> + </tr> +</table> +<hr>The documentation for this struct was generated from the following files:<ul> +<li><a class="el" href="a05616.html">cpu_info.h</a><li><a class="el" href="a05615.html">cpu_info.cpp</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 13:07:09 2004 for NeL by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border=0 > +</a>1.3.6 </small></address> +</body> +</html> |