Difference between the methods mod and fmod in NumPy
mod(~) from Numpy's
fmod(~) is confusingly not whether or not one is for floating numbers; they are both capable of parsing floating numbers. The defining difference is how they handle negative numbers.
Let's take a look at a simple example.
x = [3, 8.5, -7]np.mod(x, 3)array([0. , 2.5, 2. ])
mod(-7,3)=2, which is equivalent to Python's
(-7%3=2). Also notice how 8.5, which is a floating number, was parsed correctly.
Now, let's do the same thing using the fmod method:
x = [3, 8.5, -7]np.fmod(x, 3)array([ 0. , 2.5, -1. ])
Here, we see that
fmod(-7,3)=-1, which is a different answer from above. In fact, Numpy's
fmod(~) method follows the main C library's