Re: How can I pass an atom to a C function as C float or double
- Posted by euman at bellsouth.net Sep 13, 2003
- 323 views
<?xml version="1.0" ?><html> <head> <title></title> </head> <body> <div align="left"><font face="Arial"><span style="font-size:10pt">Is this better Elliott? Robert?</span></font></div> <div align="left"><br/> </div> <div align="left"><font face="Arial"><span style="font-size:10pt">(C DLL)</span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt">her_dll</span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt">float CRoutine( float parameter1, double parameter2 ); </span></font></div> <div align="left"><br/> </div> <div align="left"><font face="Arial"><span style="font-size:10pt">(Euphoria code)</span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt">atom junk, x, y</span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt">x = 0.45</span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt">y = 0.4534 </span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt">junk = allocate(16) -- 4 (float) + 8(Double)</span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt">poke(junk, atom_to_float32(x))</span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt">poke4(junk+4, atom_to_float64(y))</span></font></div> <div align="left"><br/> </div> <div align="left"><font face="Arial"><span style="font-size:10pt">constant </span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt">Myfunction = define_c_func(her_dll,"CRoutine",{C_FLOAT, C_DOUBLE}, C_FLOAT)</span></font></div> <div align="left"><br/> </div> <div align="left"><font face="Arial"><span style="font-size:10pt">f = c_func(Myfunction,{peek(junk),peek4u(junk+4)}) -- byref</span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt">f = c_func(Myfunction,{junk,junk+4}) -- byval</span></font></div> <div align="left"><br/> </div> <div align="left"><font face="Arial"><span style="font-size:10pt">Hope this is more correct than the last post I made after 16 hours</span></font></div> <div align="left"><font face="Arial"><span style="font-size:10pt">behind this darn thing. Oh yeah, Thanks Elliott, Rob</span></font></div> <div align="left"><br/> </div> <div align="left"><font face="Arial"><span style="font-size:10pt">Euman</span></font></div> <div align="left"><br/></div> <div align="left"></div>