C: How to wrap a float to the interval [-pi, pi)

Edit Apr 19, 2013: Modulo function updated to handle boundary cases as noted by aka.nice and arr_sea: static const double _PI= 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348; static const double _TWO_PI= 6.2831853071795864769252867665590057683943387987502116419498891846156328125724179972560696; // Floating-point modulo // The result (the remainder) has same sign as the divisor. // Similar to matlab’s mod(); Not similar to fmod() – Mod(-3,4)= 1 fmod(-3,4)= -3 … Read more

Google Sheet yields infinitesimal number as remainder of an integer/whole number

actually, this is not a bug and it is pretty common. its called a floating point “error” and in a nutshell, it has to do things with how decimal numbers are stored within a google sheets (even excel or any other app) more details can be found here: https://en.wikipedia.org/wiki/IEEE_754 to counter it you will need … Read more

Modular Exponentiation for high numbers in C++

Exponentiation by squaring still “works” for modulo exponentiation. Your problem isn’t that 2 ^ 168277 is an exceptionally large number, it’s that one of your intermediate results is a fairly large number (bigger than 2^32), because 673109 is bigger than 2^16. So I think the following will do. It’s possible I’ve missed a detail, but … Read more

tech