Here you can find the source of mod(double i, final double n)
public static double mod(double i, final double n)
//package com.java2s; /**/* w w w . j a va 2 s. c om*/ * Copyright 2015 Palantir Technologies * * Licensed under the BSD-3 License (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://opensource.org/licenses/BSD-3-Clause * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ public class Main { public static double mod(double i, final double n) { i = 0 <= i ? i % n : (n - (-i % n)) % n; assert 0 <= i && i < n; return i; } public static int mod(int i, final int n) { i = 0 <= i ? i % n : (n - (-i % n)) % n; assert 0 <= i && i < n; return i; } }