<br><br><div class="gmail_quote">On Wed, Feb 8, 2012 at 6:01 AM, Juan Jose Garcia-Ripoll <span dir="ltr"><<a href="mailto:juanjose.garciaripoll@googlemail.com">juanjose.garciaripoll@googlemail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div class="im">On Wed, Feb 8, 2012 at 6:59 AM, Raymond Toy <span dir="ltr"><<a href="mailto:toy.raymond@gmail.com" target="_blank">toy.raymond@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Does ecl have the equivalent of cmucl's (and sbcl's)<br>
with-float-traps-masked</blockquote><div><br></div></div><div>Not yet. This can be implemented using SI::TRAP-FPE</div><div><br></div><div><div>(defmacro with-float-traps-masked (&body body)</div><div>   `(let ((%trap-bits (si::trap-fpe 'cl:last t)))</div>


<div>     (unwind-protect</div><div>       (progn (si::trap-fpe %trap-bits nil) ,@body)</div><div>      (si::trap-fpe %trap-bits t))))</div></div></div></blockquote><div><br>This will probably work.  I take it that this will disable all traps?  This would be the typical expected Fortran mode, so that's perfect. <br>
</div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


and vector-sap?<br></blockquote><div><br></div><div>Hmm, is this for the CFFI? Because it is going to depend very much on what VECTOR-SAP has to return. For UFFI you have SI::MAKE-FOREIGN-DATA-FROM-ARRAY which takes an array and returns an UFFI pointer. Alternatively, C-INLINE may be easily used to retrieve the pointer in a C format.</div>
</div></blockquote><div><br>Thanks for the tips.  I'm not very familiar with cffi or uffi.  Basically, vector-sap needs to return something that can be made into a pointer for a foreign function to use as the address of an array/vector.<br>
 <br></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail_quote"><div class="im">

<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Oh, I also need the equivalent of without-gcing.<br></blockquote><div><br></div></div><div>You only need them to keep the arrays from gc, but this can be ensured by simply storing the arrays in special or local variables. ECL never moves data around: it relies on conservative garbage collectors.</div>
</div></blockquote><div><br>Ok.  I'll make sure the arrays are stored in local (lexical) variables, if they aren't already.<br><br>Thanks,<br><br>Ray<br></div></div>