GEM, PDP, GridFlow, all use fake pointers. That is, pd defines A_POINTER
as being a t_gpointer * and all of the above externals disregard this
completely and send something else. It's because pd provides no other
sensible means to send a pointer.
Older versions of GridFlow were sending a pointer as 2 floats of integer
value, and I was going to make it 3 floats when beginning to support
64-bit, but thought that although misusing A_POINTER was more evil in my
book, at least it's being done with passing only one atom around, and I'm
also happy to be doing the same evil as everybody else too.
(I could have tried a plain reinterpret_cast<> so that it'd be 1 float in
32-bit or 2 floats in 64-bit, but I didn't want to think of the special
float values such as +0, -0, +inf, -inf, NaN, denormals, and anything
else. It could've been fine, but I didn't want to have to think about it.)
_ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada