<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:13px">[Answering to my own posting once again]</span><div><br></div><div><div style="font-family:arial,sans-serif;font-size:13px">> I started with the following minimal code executed from a Rhino plugin:</div>
<div style="font-family:arial,sans-serif;font-size:13px">> ...</div><div style="font-family:arial,sans-serif;font-size:13px">>   cl_boot(argc, argv);</div><div style="font-family:arial,sans-serif;font-size:13px">>   cl_shutdown();</div>
</div><div style="font-family:arial,sans-serif;font-size:13px">> ...</div><div><div style="font-family:arial,sans-serif;font-size:13px">> But when loading the plugin I get the following error message:</div><div style="font-family:arial,sans-serif;font-size:13px">
> ...</div><div style="font-family:arial,sans-serif;font-size:13px">>   Something has changed the FPU control settings.</div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px">> </span><span style="font-size:13px;font-family:arial,sans-serif">In file 'ecl/src/gc-unstable/mach_dep.</span><span style="font-size:13px;font-family:arial,sans-serif">c' the FPU control word is changed with 'fldcw'.  </span></div>
<div><span style="font-size:13px;font-family:arial,sans-serif">> But this seems to apply only in the case of Linux.  I have the problem with Windows...  </span></div><div><span style="font-size:13px;font-family:arial,sans-serif">> I could not find any other place where the FPU control settings are changed.  </span></div>
<div><span style="font-size:13px;font-family:arial,sans-serif"><br></span></div><div><span style="font-size:13px;font-family:arial,sans-serif">> Am I missing something?</span></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br>
</span></div><div style><span style="font-family:arial,sans-serif;font-size:13px">Yes, I am:  ECL relies on the underlying operating system > The operating system is Windows > And here is the problem :)</span></div>
<div style><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div style><font face="arial, sans-serif">The debugger indicates the dynamic load library mfc100ud.dll as the origin of the problem...</font></div>
<div style><font face="arial, sans-serif"><br></font></div><div style><font face="arial, sans-serif">I also found a solution:</font></div><div style><font face="arial, sans-serif"><br></font></div><div style><font face="arial, sans-serif">Rhino provides the macros </font><span style="font-family:arial,sans-serif">ON_FPU_BeforeSloppyCall() and </span><span style="font-family:arial,sans-serif">ON_FPU_AfterSloppyCall() for similar cases and wrapping the call to </span><span style="font-family:arial,sans-serif">cl_boot(argc, argv) allows to get rid of the error message:</span></div>
<div style><font face="arial, sans-serif"><div><br></div><div>  ON_FPU_BeforeSloppyCall();</div><div>  cl_boot(argc, argv);</div><div>  ON_FPU_AfterSloppyCall();</div><div><br></div><div style>I only dislike to qualify cl_boot() as "sloppy" rather than the underlying operating system.  But a comment will help :)</div>
</font></div><div style><font face="arial, sans-serif"><br></font></div><div style><font face="arial, sans-serif">Here, for the case somebody else encounters a similar problem, the relevant page in the Rhino C++ SDK Knowledge Base:</font></div>
<div style><br></div><div style><font face="arial, sans-serif"><div>  - FPU Issues</div><div>    <a href="http://wiki.mcneel.com/developer/sdksamples/fpusloppycall">http://wiki.mcneel.com/developer/sdksamples/fpusloppycall</a></div>
<div><br></div><div style>By the way, is there some alternative to cl_boot(argc, argv) which allows to initialise ECL without providing argc and argv?</div><div style><br></div><div style>Sorry for the <span style="font-size:13px">inconvenience,</span></div>
<div style><span style="font-size:13px"><br></span></div><div style><span style="font-size:13px">Dietrich</span></div><div style><span style="font-size:13px"><br></span></div></font></div><div style><font face="arial, sans-serif"><br>
</font></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Apr 19, 2013 at 1:27 AM, Dietrich Bollmann <span dir="ltr"><<a href="mailto:dietrich@formgames.org" target="_blank">dietrich@formgames.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi again,<div class="im"><br><br>> I get the following error message:<br></div>> ...<div class="im">
<br>>   Something has changed the FPU control settings.<br></div>> ...<div class="im"><br>> Any idea how I can avoid this?</div><div><br>In file 'ecl/src/gc-unstable/mach_dep.c' the FPU control word is changed with 'fldcw'.  But this seems to apply only in the case of Linux.  I have the problem with Windows...  I could not find any other place where the FPU control settings are changed.  Am I missing something?<br>

<br>Thanks, <br><br>Dietrich<div><div class="h5"><br><br><br><br>On Thu, Apr 18, 2013 at 8:43 PM, Dietrich Bollmann <<a href="mailto:dietrich@formgames.org" target="_blank">dietrich@formgames.org</a>> wrote:<br>><br>
> Hi, <br>><br>> I would like to integrate ECL into the 3D modelling software<br>
> "Rhinoceros" (<a href="http://en.wikipedia.org/wiki/Rhino3D" target="_blank">http://en.wikipedia.org/wiki/Rhino3D</a>).<br>><br>> I started with the following minimal code executed from a Rhino plugin:<br>
><br>>   char *argv[] = {"Rhinoceros", NULL};<br>
>   int argc = sizeof(argv) / sizeof(char*) - 1;<br>>   cl_boot(argc, argv);<br>>   cl_shutdown();<br>><br>> But when loading the plugin I get the following error message:<br>><br>>   Rhinoceros 5.0 RHINO ERROR<br>

>   File name: rhino3MathErrorHandling.cpp<br>>   Line number: 256<br>>   Function name: RhMathErrorCheck<br>>   Something has changed the FPU control settings.<br>>   See debugger output window for details.<br>

><br>> Any idea how I can avoid this?<br>><br>> Thanks,<br>><br>> Dietrich<br>><br></div></div></div></div>
</blockquote></div><br></div>