This is the way I thought you did it but I'm running this and it's not working:
(with-foreign-object (float :float) (setf float 6) (type-of float))
>(INTEGER 0 4611686018427387903)
The output says it is an integer
I tried this:
(with-foreign-object (float :float) (setf (mem-ref float :float) 4) (type-of (mem-ref float :float)))
And get this error:
Value of #1=#:VALUE4 in (SB-KERNEL:%SET-SAP-REF-SINGLE FLOAT 0 #1#) is 4, not a SINGLE-FLOAT. [Condition of type SIMPLE-TYPE-ERROR]
If someone could help me cast in CFFI I would appreciate it. the word "cast" isn't even in the CFFI documentation. I just would like to be able to cast anything, from functions to variable into other types. Any maybe if someone skilled in CFFI can tell me if it so good that it can do any thing you can in C. I would appreciate that too.