.\" Copyright 2003 Walter Harms, Andries Brouwer .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL .\" %%%LICENSE_END .\" .TH FDIM 3 2017-09-15 "" "Linux Programmer's Manual" .SH NAME fdim, fdimf, fdiml \- positive difference .SH SYNOPSIS .B #include .PP .BI "double fdim(double " x ", double " y ); .br .BI "float fdimf(float " x ", float " y ); .br .BI "long double fdiml(long double " x ", long double " y ); .PP Link with \fI\-lm\fP. .PP .in -4n Feature Test Macro Requirements for glibc (see .BR feature_test_macros (7)): .in .PP .ad l .BR fdimf (), .BR fdiml (): .RS 4 _ISOC99_SOURCE || _POSIX_C_SOURCE\ >=\ 200112L .RE .ad .SH DESCRIPTION These functions return the positive difference, max(\fIx\fP-\fIy\fP,0), between their arguments. .SH RETURN VALUE On success, these functions return the positive difference. .PP If .I x or .I y is a NaN, a NaN is returned. .PP If the result overflows, a range error occurs, and the functions return .BR HUGE_VAL , .BR HUGE_VALF , or .BR HUGE_VALL , respectively. .SH ERRORS See .BR math_error (7) for information on how to determine whether an error has occurred when calling these functions. .PP The following errors can occur: .TP Range error: result overflow .\" .I errno .\" is set to .\" .BR ERANGE . An overflow floating-point exception .RB ( FE_OVERFLOW ) is raised. .PP These functions do not set .IR errno . .\" FIXME . Is it intentional that these functions do not set errno? .\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6796 .SH VERSIONS These functions first appeared in glibc in version 2.1. .SH ATTRIBUTES For an explanation of the terms used in this section, see .BR attributes (7). .TS allbox; lbw24 lb lb l l l. Interface Attribute Value T{ .BR fdim (), .BR fdimf (), .BR fdiml () T} Thread safety MT-Safe .TE .SH CONFORMING TO C99, POSIX.1-2001, POSIX.1-2008. .SH SEE ALSO .BR fmax (3) .SH COLOPHON This page is part of release 4.16 of the Linux .I man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at \%https://www.kernel.org/doc/man\-pages/.