private static double Cut(double x, double range) { var k = range * 2.0; var p = x % k; return p < range ? p : k - p; } }