What does the fdim acronym stand for?

All C math functions seems to have an understandable name, but I can't find what the fdim acronym stands for. (fdim computes the positive difference of it two floating-point inputs).

I searched the ISO-C working group's document archive, and noticed that most of the proposals for the floating-point enhancements to what would become C99 were contributed by Jim Thomas. Best I can tell, fdim was included in the draft new standard prior to 1996, and unfortunately the archive does not provide links to electronic copies for proposals from that time.

So I contacted Mr. Thomas directly via email and received a response, the relevant portion of which I quote here with his permission:

From: Jim Thomas To: Norbert Juffa Time: Sat 2/15/2020 8:42 AM Subject: Re: Naming of, and rationale for, the fdim() function in ISO-C99 [...] The C fdim function is the C versions for the Fortran DIM (positive difference) function. The C function, and its name, were intended for programmers porting code form Fortran to C.

This confirms the linkage with Fortran alluded to in comments. As for the name DIM itself, Ctx's answer addresses this as well as one could hope for in the case of a minor function that has been around for fifty years.

In comments below the question, Mark Dickinson pointed to the Fortran 66 standard, which on page 23 defined Fortran's DIM function as a₁ - Min (a₁, a₂). This provides further evidence that the name DIM is a contraction of DIfference and Minimum.

FDIM, What does FDIM mean? This page is about the various possible meanings of the acronym, abbreviation, shorthand or slang term: FDIM. What does FDIM stand for? List of 12 FDIM definitions. Updated April 2020. Top FDIM abbreviation meaning: Four Days in May

My guess is, that it is a composition from difference and max, because this is what the function does.


double fdim(x, y) { 
    float    tmp = x - y;        // 1st step: "di"fference
    float result = fmax(tmp, 0); // 2nd step: "m"aximum
    return result;

Same nomenclature for example with fma(a, b, c), which means "multiply" and "add" (a*b+c)


The function indeed occurred even earlier in Fortran, where the function DIM(number, number) is defined as

A function that returns the value of the first argument minus the minimum (MIN) of the two arguments.

so the function name is derived from difference and minimum here. See the F77 DIM manual

What does FDIM stand for?, What does FDIM stand for? List of 14 FDIM definitions. Top FDIM abbreviation meanings updated July 2020. FDIM: Federación Democrática Internacional de Mujeres (Spanish: Women's International Democratic Federation) FDIM: First Dorsal Interosseous Manus (muscle)

I can't find any good published first source for this. fdim first appeared in C99, and the C99 rationale (7.12.12) only mentions this:

The names for fmax, fmin and fdim have f prefixes to allow for extension integer versions following the example of fabs and abs.

But we could already guess as much, the f stands for floating point.

Similarly, the last f in fdimf stands for float, and the last l in fdiml stands for long double. These prefix/postfix letters are commonly used in the standard libs.

FDIM - What Does FDIM Abbreviation Mean?, Acronym, Definition. FDIM, Federaci�n Democr�tica Internacional de Mujeres ( Spanish: Women's International Democratic Federation). FDIM, First Dorsal� Couldn't find the full form or full meaning of FDIM? Maybe you were looking for one of these abbreviations: FDIC - FDID - FDIE - FDIIR - FDIL - FDIN - FDIO - FDIR - FDIS - FDISK

FDIM, I searched the ISO-C working group's document archive, and noticed that most of the proposals for the floating-point enhancements to what� We know 6 definitions for FDIM abbreviation or acronym in 2 categories. Possible FDIM meaning as an acronym, abbreviation, shorthand or slang term vary from category to category. Please look for them carefully. FDIM Stands For: All acronyms (6) Airports & Locations Business & Finance Common Government & Military Medicine & Science (2) Chat & Sub Cultures Education Schools (1) Technology, IT etc.

What does the fdim acronym stand for?, What does FDIM mean? Get the full information of FDIM acronym / abbreviation / slang definitions at AcronymsandSlang.com Find out or define your FDIM� Meaning. FDIM. First Dorsal Interosseous Manus (muscle) showing only Science & Medicine definitions ( show all 2 definitions) Note: We have 1 other definition for FDIM in our Acronym Attic. new search.

What does FDIM stand for?, 9 definitions of FIDM. Meaning of FIDM. What does FIDM stand for? FIDM abbreviation. Define FIDM at AcronymAttic.com. Medical FDIM abbreviation meaning defined here. What does FDIM stand for in Medical? Top FDIM abbreviation related to Medical: Fluorescence Digital Imaging Microscopy

  • Float difference, ignoring minus? Does it really matter? :-)
  • It's been bugging me for a while, and I can't find the answer in the all the documentation I've red so far, so it matters to me =)
  • Finding the rationale to the standard lib in general and its naming is much like attempting to make sense of a drunk person talking in their sleep. I can make the attempt by peeking in old K&R etc for you, but I doubt I'll find much.
  • DIM was part of the Fortran 77 standard. At a guess, C stole the name from there, so you'll likely need the Fortran historians to find out where the name came from.
  • Actually, it looks as though it's even in the Fortran 66 standard (page 23, Table 3, intrinsic functions).
  • @Ctx I find it not only interesting, I find it important that we preserve these little bits of computing history, and who better to ask than the people who made that history?
  • Wildly speculating, di could mean difference, but that doesn't explain the m. Or dim could possibly mean dimension, but that doesn't make much sense.
  • I hoped for a moment to find an answer by looking at the interger definition of dim, but it did not help..
  • @Pyoz_ There might not be any explanation. Some of these functions were named by a cat walking across the keyboard. Take strpbrk for example.
  • @Lundin cppreference believes to have the explanation for this name: en.cppreference.com/w/c/string/byte/strpbrk The roots are believed to be in snobol (snobol4.org/docs/burks/tutorial/ch4.htm point 4.8.4)