On my ARM environment, qreal is interpreted as float, not double. Currently in libs/pigment, qreal is implicitly treated like a double, while writing something like qmax(v, 0.), where v is a qreal. 0. is a double and the compiler complains because there is no function using (float, double).
There are also many conversions that are done between floats and doubles in KoColorSpace.cpp. So I've updated all necessary functions to accept qreal instead of double or float. As a result, the API has been changed. I've checked that it's still compiling on amd64 in addition to arm for instance but I'm not sure that I didn't break something in the plugins for instance.
I would like to hear your review on this patch. If I'm creating some issues, I'm eager to try to solve them.