The math.fmod() is a method from the Standard math Library of Python Programming Language. The fmod() function calculates the module value of given parameters x and y.
Python fmod()
Python fmod() is a built-in function under the math library used to find a module of two given numbers. The fmod() function accepts two arguments and will return modulus in the float type.
The math.fmod() method is a library method of the math module. It is used to find a modulus for given numbers, where the first parameter is a dividend, and the second parameter is the divisor. This means the fmod() function finds x%y for a given any two numbers x and y.
Please remember that this function is advised to use when you want to find a module of any float number. Because, in Python, if you use x%y for any float type number with different signed values, the result may differ from using fmod(x,y).
Note: The math.fmod() can be used to get the modules/remainder of positive and negative integers and positive and negative floats.
Syntax
math.fmod(x,y)
Arguments
The fmod() function takes two arguments: x and y (both can be positive or negative), which find x%y.
Return Value
The fmod() function returns a floating-point number value after calculating the module of the given two numbers.
Please note that,
- If x and y are both zero, this function returns a ValueError.
- If the second argument means y is zero, it also returns a ValueError.
- If any of x or y is not a number, this function returns a TypeError.
Python fmod() Function Compatibility
Python 2.x – Yes
Python 3.x – Yes
Programming Example
See the following code.
# app.py # Importing math library import math # Demonstrating working of fmod() # Using different values of x and y # When both are positive x = 12 y = 9 print("Module of ", x, " and ", y, "is: ", math.fmod(x, y)) # When any one of them are negative x = -16 y = 3 print("Module of ", x, " and ", y, "is: ", math.fmod(x, y)) # When both are negative x = -65 y = -31 print("Module of ", x, " and ", y, "is: ", math.fmod(x, y)) # When second argument (y) is 0 x = 10 y = 0 print("Module of ", x, " and ", y, "is: ", math.fmod(x, y))
Output
Module of 12 and 9 is: 3.0 Module of -16 and 3 is: -1.0 Module of -65 and -31 is: -3.0 Traceback (most recent call last): File "fmod.py", line 24, in <module> print("Module of ",x," and ",y, "is: ",math.fmod(x,y)) ValueError: math domain error
In the above code, we have declared two variables x and y, given their different values in different cases.
After that, we have a printed module of each case, and we can see that the answer is positive only when both x and y are positive, except that the answer is negative in all cases.
Also, we can see that in each case, the answer is in a floating-point.
However, in the last case, when we gave the value of y is 0, we got a ValueError.
Conclusion
The return fmod(x, y), as defined by the platform C library. Note that the Python expression x % y may not return the same result.
The C standard intends that fmod(x, y) be exactly (mathematically; to infinite precision) equal to x – n*y for some integer n such that the result has the same sign as x and magnitude less than abs(y).
Python’s x % y returns the result with the sign of y instead and may not be precisely computable for float arguments.