[Openmcl-devel] Getting a double-float from ObjC
    Gary Byers 
    gb at clozure.com
       
    Sat Jun 19 06:58:43 PDT 2004
    
    
  
On Sat, 19 Jun 2004, Sebastian Nozzi wrote:
> Hi Gary,
>
> There might be a similar problem here:
> (or doesn't OpenMCL support unsigned long longs?)
>
> ? (setf num *)
> #<NS-CF-NUMBER 6148 (#x1BAF70)>
>
> ? (send num 'unsigned-long-long-value)
>  > Error in process Listener(5): The message "unsignedLongLongValue"
> must be sent using SEND/STRET
>
>  > While executing: BUILD-CALL
>
> (OpenMCL 0.14.2-p1)
The version of REQUIRES-STRET-P that I mailed out in response to your
earlier bug report (and that's now in 0.14 CVS) seems to recognize
that :UNSIGNED-DOUBLEWORDs aren't returned in structures:
(defun requires-stret-p (rspec)
  (when (member rspec '(:DOUBLE-FLOAT :UNSIGNED-DOUBLEWORD :SIGNED-DOUBLEWORD)
		:test #'eq)
    (return-from requires-stret-p nil))
  (setq rspec (fudge-objc-type rspec))
  (if (numberp rspec)
    (> rspec 1)
    (> (ensure-foreign-type-bits (parse-foreign-type rspec)) 32)))
What version of this function is failing ?  What happens if you
? (trace ccl::requires-stret-p)
and try to compile:
? (send num 'unsigned-long-long-value)
?
    
    
More information about the Openmcl-devel
mailing list