为什么在math.h中而不是在float.h中定义了fpclassify()宏?

精神病

N2479 C17..C2x工作草案-2020年2月5日ISO / IEC 9899:202x(E):

7.12.3.1 The fpclassify macro:
Synopsis
#include <math.h>
int fpclassify(real-floating x);

为什么fpclassify()在中定义宏math.h而不在中定义宏float.h

动机/理由/论据是什么?

埃里克·波斯蒂奇(Eric Postpischil)

根据C 2018 5.2.4.2.2,float.h提供“浮动类型的特征”。因此,它定义了描述类型的,例如表征其精度和范围,使用的基数等等。在设计C实现时,所有这些都是固定的。

fpclassify是对的运算结果是根据自变量计算得出的,因此它是值的数学函数,而不是浮点类型的特征。

还请注意,<float.h>和和<limits.h>其他头文件分开指定。这两个位于C标准的“环境限制”部分,其中涵盖了C实现的特征。(它们在“库”部分中也作为引用“环境限制”部分的存根列出。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么math.h需要链接到makefile中而不是string.h中?

来自分类Dev

为什么在Windows stdint.h中未正确定义UINTX_C()宏?

来自分类Dev

为什么math.h有pow()返回double而不是int

来自分类Dev

为什么math.h中没有钳位功能

来自分类Dev

为什么在Linux而不是OS X的“ time.h”中定义“ timer_t”

来自分类Dev

为什么Math.max在Java中如此昂贵?

来自分类Dev

如何调用我自己的tan函数的实现,而不是math.h中定义的函数?

来自分类Dev

如何调用我自己的tan函数的实现,而不是math.h中定义的函数?

来自分类Dev

为什么要在没有出现多个定义错误的情况下将类而不是函数放到.h文件中?

来自分类Dev

为什么要对宏定义中的单个值使用括号?

来自分类Dev

为什么glm :: dot比helper_math.h和我的实现快

来自分类Dev

使用math.h实现sin函数并得到错误不知道为什么

来自分类Dev

为什么01001000等于Binary中的H

来自分类常见问题

在Julia中,为什么@printf是宏而不是函数?

来自分类Dev

在Julia中,为什么@printf是宏而不是函数?

来自分类Dev

为什么{... window} .Math未定义?

来自分类Dev

为什么Math类中的nextUp方法会跳过一些值?

来自分类Dev

为什么在python 3.8中sqrt(x * x + y * y)!= math.hypot(x,y)?

来自分类Dev

为什么Math.Round()在C#中的工作方式不同

来自分类Dev

为什么Math.sqrt()在Java中输出错误的值?

来自分类Dev

为什么“1 Math.pow 2”在 Scala 中不起作用?

来自分类Dev

为什么GCC对于C ++ <cmath>比C <math.h>更有效地实现isnan()?

来自分类Dev

为什么在vulkan.h中,不可调度对象总是类型定义为64位?

来自分类Dev

为什么在struct中的h_addr_list托管一个char **而不是struct in_addr **?

来自分类Dev

为什么AND是常见Lisp中的宏

来自分类Dev

为什么在发布版本中,assert宏的定义不能只是“ #define assert(expression)0”?

来自分类Dev

如何在类中的(* .cpp)而不是(* .h)中定义结构

来自分类Dev

为什么stdio.h中的FILE结构是大写的?

来自分类Dev

为什么stddef.h不在/ usr / include中?

Related 相关文章

  1. 1

    为什么math.h需要链接到makefile中而不是string.h中?

  2. 2

    为什么在Windows stdint.h中未正确定义UINTX_C()宏?

  3. 3

    为什么math.h有pow()返回double而不是int

  4. 4

    为什么math.h中没有钳位功能

  5. 5

    为什么在Linux而不是OS X的“ time.h”中定义“ timer_t”

  6. 6

    为什么Math.max在Java中如此昂贵?

  7. 7

    如何调用我自己的tan函数的实现,而不是math.h中定义的函数?

  8. 8

    如何调用我自己的tan函数的实现,而不是math.h中定义的函数?

  9. 9

    为什么要在没有出现多个定义错误的情况下将类而不是函数放到.h文件中?

  10. 10

    为什么要对宏定义中的单个值使用括号?

  11. 11

    为什么glm :: dot比helper_math.h和我的实现快

  12. 12

    使用math.h实现sin函数并得到错误不知道为什么

  13. 13

    为什么01001000等于Binary中的H

  14. 14

    在Julia中,为什么@printf是宏而不是函数?

  15. 15

    在Julia中,为什么@printf是宏而不是函数?

  16. 16

    为什么{... window} .Math未定义?

  17. 17

    为什么Math类中的nextUp方法会跳过一些值?

  18. 18

    为什么在python 3.8中sqrt(x * x + y * y)!= math.hypot(x,y)?

  19. 19

    为什么Math.Round()在C#中的工作方式不同

  20. 20

    为什么Math.sqrt()在Java中输出错误的值?

  21. 21

    为什么“1 Math.pow 2”在 Scala 中不起作用?

  22. 22

    为什么GCC对于C ++ <cmath>比C <math.h>更有效地实现isnan()?

  23. 23

    为什么在vulkan.h中,不可调度对象总是类型定义为64位?

  24. 24

    为什么在struct中的h_addr_list托管一个char **而不是struct in_addr **?

  25. 25

    为什么AND是常见Lisp中的宏

  26. 26

    为什么在发布版本中,assert宏的定义不能只是“ #define assert(expression)0”?

  27. 27

    如何在类中的(* .cpp)而不是(* .h)中定义结构

  28. 28

    为什么stdio.h中的FILE结构是大写的?

  29. 29

    为什么stddef.h不在/ usr / include中?

热门标签

归档