#ifdef DOUBLE_PRECISION_COMPUTE
#define MAKE_PRECISE(N) ...
#endif
// if not defined, leave as it is. MAKE_PRECISE(N) (N)
Can above macro (replaced "..." with the right redifiniton) do the below operation?
double PI=MAKE_PRECISE(3.14159265359f);
becomes
double PI=3.14159265359;
double area= MAKE_PRECISE(3.14159265359f)*r*r;
becomes
double area= 3.14159265359*r*r;