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