所有C数学函数的名称似乎都可以理解,但是我找不到fdim首字母缩略词的含义。
(fdim计算两个浮点输入的正差)。
最佳答案
我在ISO-C工作组的document archive中进行了搜索,发现大多数关于将浮点数增强到C99的提案都是由Jim Thomas贡献的。尽我所知,fdim
早在1996年就已包含在新标准草案中,不幸的是,该档案馆从那时起并未提供指向提案电子副本的链接。
因此,我直接通过电子邮件联系了托马斯先生,并收到了回复,在他的允许下,我引用了其中的相关部分:
来自:吉姆·托马斯(Jim Thomas)
至:Norbert Juffa
时间:2020/2/15星期六8:42 AM
主题:Re:ISO-C99中fdim()函数的命名和原理
[...]
C fdim函数是Fortran DIM(正差)函数的C版本。 C函数及其名称旨在供程序员从Fortran到C的移植代码。
这证实了与注释中提到的Fortran的联系。至于DIM
本身的名称,Ctx's answer不仅解决了这一问题,而且在次要功能已经存在了50年的情况下,人们也希望这样做。
在该问题下方的注释中,Mark Dickinson指向Fortran 66 standard,在第23页上,Fortran的DIM
函数将其定义为a₁-Min(a₁,a 2)。这提供了进一步的证据,表明名称DIM
是DIfference和Minimum的缩写。