FMOD(3) Library Functions Manual FMOD(3)

fmodfloating-point remainder function

#include <math.h>

double
fmod(double x, double y);

long double
fmodl(long double x, long double y);

float
fmodf(float x, float y);

The () functions compute the floating-point remainder of x/ y.

Specifically, the functions return the value x-i*y, for some integer i such that, if y is non-zero, the result has the same sign as x and magnitude less than the magnitude of y.

(±0, y) returns ±0 if y is neither 0 nor NaN.

(x, y) returns a NaN and raises the "invalid" floating-point exception for x infinite or y zero.

(x, ±infinity) returns x for x not infinite.

If you need to apply the fmod() functions to SIMD vectors or arrays, using the following functions provided by the Accelerate.framework may give significantly better performance:

#include <Accelerate/Accelerate.h>

vFloat (vFloat x, vFloat y);
void (float *z, const float *y, const float *x, const int *n);
void (double *z, const double *y, const double *x, const int *n);

math(3)

The fmod() functions conform to ISO/IEC 9899:2011.

December 11, 2006 macOS 15.2