package maths // Abs gets the absolute value of an int func Abs(x int) int { if x < 0 { return -x } return x } // Pmod is a mositive modulo // golang's % is a "remainder" function si misbehaves for negative modulus inputs func Pmod(x, d int) int { if x == 0 || d == 0 { return 0 } x = x % d if x >= 0 { return x } else if d < 0 { return x - d } else { return x + d } } // Max returns the highest int func Max(x, y int) int { if x < y { return y } return x } // Min returns the lowest int func Min(x, y int) int { if x > y { return y } return x }