## Linux and UNIX Man Pages

Test Your Knowledge in Computers #744
Difficulty: Medium
Clang is a compiler front end for the C, C++, Objective-C and Objective-C++ programming languages.
True or False?

# fmod(3) [freebsd man page]

```FMOD(3) 						   BSD Library Functions Manual 						   FMOD(3)

NAME
fmod, fmodf, fmodl -- floating-point remainder functions

LIBRARY
Math Library (libm, -lm)

SYNOPSIS
#include <math.h>

double
fmod(double x, double y);

float
fmodf(float x, float y);

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

DESCRIPTION
The fmod(), fmodf(), and fmodl() functions compute the floating-point remainder of x/ y.

RETURN VALUES
If y is non-zero, the fmod(), fmodf(), and fmodl() functions return the value x-i*y, for some integer i, such that the result has the same
sign as x and magnitude less than the magnitude of y.  If y is zero, a NaN is produced.

math(3)

STANDARDS
The fmod(), fmodf(), and fmodl() functions conform to ISO/IEC 9899:1999 (``ISO C99'').

BSD								   June 19, 2008							       BSD```

## Check Out this Related Man Page

```fmod(3) 						     Library Functions Manual							   fmod(3)

NAME
fmod, drem, remainder - Compute the floating-point remainder

LIBRARY
Math Library (libm.a)

SYNOPSIS
#include <math.h>

double	     fmod	 (double x, double y); float	    fmodf      (float  x, float  y); long double       fmodl	   (long double x,
long double y); double	    drem       (double x, double y); float	   dremf       (float	x,  float   y);  long  double	     dreml
(long  double  x,  long	double y); double	remainder  (double x, double y); float	      remainderf (float  x, float  y); long double
remainderl  (long double x, long double y);

STANDARDS
Interfaces documented on this reference page conform to industry standards as follows:

fmod():	XPG4

remainder():  XPG4-UNIX

DESCRIPTION
The fmod(), fmodf(), and fmodl() functions return the remainder	r = x - n*y, where n = trunc(x/y).  The result has the same sign as x  and
magnitude less than the magnitude of y.	The remainder is computed exactly and |r| is less than |y|.

The  drem(), dremf(), dreml(), remainder(), remainderf(), and remainderl() functions return the remainder r = x - n*y, where n = rint(x/y).
Additionally, if |n - x/y|=1/2, then n is even.	The remainder is computed exactly and |r| is less than or equal to |y|/2.

The drem() and remainder() functions are aliases of each other.	The dremf(), and remainderf() functions are aliases of	each  other.   The
dreml() and remainderl() functions are aliases of each other.

The following table describes function behavior in response to exceptional arguments:

---------------------------------------------------------------------------
Function 		       Exceptional Argument	 Routine Behavior
---------------------------------------------------------------------------
fmod(),	fmodf(),     fmodl()   x = infinity		 Invalid argument
fmod(),	fmodf(),     fmodl()   y = 0			 Invalid argument
drem(),	dremf(),     dreml()   x = infinity		 Invalid argument
drem(),	dremf(),     dreml()   y = 0			 Invalid argument
remainder()		       x = infinity		 Invalid argument
remainderf()		       x = infinity		 Invalid argument
remainderl()		       x = infinity		 Invalid argument
remainder()		       y = 0			 Invalid argument
remainderf()		       y = 0			 Invalid argument
remainderl()		       y = 0			 Invalid argument
---------------------------------------------------------------------------

delim off

fmod(3)```