On Sun, 2014-03-30 at 07:18 -0700, Joeish W wrote:
> Thanks for getting back to me., I really appreciate it
> Using coerce though I'm already casting it to a float on the lisp
> side...I was wondering if I can cast a 4 to a float with CFFI and have
> the output be a 4.0f0 like it works in C...without doing anything on
> the Lisp side
CFFI doesn't do automatic coercions, but you can do it with a custom
type:
(define-foreign-type float+int () ()
(:actual-type :float)
(:simple-parser float+int))
(defmethod expand-to-foreign (value (type float+int))
`(coerce ,value 'float))
(with-foreign-object (val :float)
(setf (mem-ref val 'float+int) 4)
(mem-ref val :float))
--
Stelian Ionescu a.k.a. fe[nl]ix
Quidquid latine dictum sit, altum videtur.