123456
double operator %(double d, double e) { while (d < 0) d+=e; while (d >= e) d -= e; return d; }