<tgmath.h>头文件(二)
对于<math.h>头文件中没有后缀的函数(modf函数除外。),如果<complex.h>头文件中没有同名函数(存在字母前缀c。),对应的泛型宏与函数同名。
上述函数与泛型宏的对应关系如下表所示:
如果上述泛型宏中所有参数都是实数,使用宏将调用实数函数;否则使用上述泛型宏将导致未定义行为。
以泛型宏ceil为例:
|
|
输出:
ceil(1.3) = 2.00
ceil(1.3f) = 2.00
ceil(1.3L) = 2.00
对于<complex.h>头文件中没有后缀的函数,如果<math.h>头文件中没有同名函数(仅在字母前缀c上存在差异。),对应的泛型宏与函数同名。
上述函数与泛型宏的对应关系如下表所示:
泛型宏 | <complex.h>头文件中函数 | ||
float | double | long double | |
carg | cargf | carg | cargl |
cimag | cimagf | cimag | cimagl |
conj | conjf | conj | conjl |
cproj | cprojf | cproj | cprojl |
creal | crealf | creal | creall |
上述泛型宏中的参数无论是实数还是复数,都将调用复数函数。
以泛型宏conj为例:
|
|
输出:
conj(1.0): double complex type
conj(1.0+1.0I): double complex type