Type-generic math
来自cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
头
<tgmath.h>包括头<math.h><complex.h>,并定义了几种类型的通用宏。这些宏确定实际要调用的函数的参数的类型.Original:
The header
<tgmath.h> includes the headers <math.h> and <complex.h> and defines several type-generic macros. These macros determines the actual function to call depending on the types of the parameters.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[编辑] 三角函数,双曲线,指数函数NJ
A型通用宏
XXX调用Original:
A type-generic macro
XXX calls either of:The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
- 真正的功能Original:real function:The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
- float变种
XXXfOriginal:float variantXXXfThe text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions. - double变种
XXXOriginal:double variantXXXThe text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions. - long double变种
XXXlOriginal:long double variantXXXlThe text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
-
- 复杂的功能Original:complex function:The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
- float变种
cXXXfOriginal:float variantcXXXfThe text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions. - double变种
cXXXOriginal:double variantcXXXThe text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions. - long double变种
cXXXlOriginal:long double variantcXXXlThe text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
-
上述规则的一个例外是
exp(请参阅下表)Original:
An exception to the above rule is
exp (see the table below).The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
调用的函数如下:
Original:
The function to call is determined as follows:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
- 如果任何参数是复杂的,那么复杂的函数被调用,否则,真正的函数被调用.Original:If any of the parameters is complex, then the complex function is called, otherwise the real function is called.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions. - 如果任何参数是long double,然后long double变种被调用。否则,如果任何参数是double,然后被称为double变种。否则,float的变体被称为.Original:If any of the parameters is long double, then the long double variant is called. Otherwise, if any of the parameters is double, then the double variant is called. Otherwise, float variant is called.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions. - 的行为是未定义的参数与相应的函数的参数是不兼容的。
本节是不完整的
原因: what's meant by incompatible?Original:The behavior is undefined is any of the parameters is incompatible with the corresponding argument of the function.本节是不完整的
原因: what's meant by incompatible?The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
类型通用的宏如下:
Original:
The type-generic macros are as follows:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
| Type-generic macro | Real function variants |
Complex function variants | ||||
|---|---|---|---|---|---|---|
| float |
double |
long double |
float |
double |
long double | |
| asin | asinf | asin | asinl | casinf | casin | casinl |
| acos | acosf | acos | acosl | cacosf | cacos | cacosl |
| atan | atanf | atan | atanl | catanf | catan | catanl |
| asinh | asinhf | asinh | asinhl | casinhf | casinh | casinhl |
| acosh | acoshf | acosh | acoshl | cacoshf | cacosh | cacoshl |
| atanh | atanhf | atanh | atanhl | catanhf | catanh | catanhl |
| sin | sinf | sin | sinl | csinf | csin | csinl |
| cos | cosf | cos | cosl | ccosf | ccos | ccosl |
| tan | tanf | tan | tanl | ctanf | ctan | ctanl |
| sinh | sinhf | sinh | sinhl | csinhf | csinh | csinhl |
| cosh | coshf | cosh | coshl | ccoshf | ccosh | ccoshl |
| tanh | tanhf | tanh | tanhl | ctanhf | ctanh | ctanhl |
| exp | expf | exp | expl | cexpf | cexp | cexpl |
| log | logf | log | logl | clogf | clog | clogl |
| pow | powf | pow | powl | cpowf | cpow | cpowl |
| sqrt | sqrtf | sqrt | sqrtl | csqrtf | csqrt | csqrtl |
| abs | fabsf | fabs | fabsl | cabsf | cabs | cabsl |
| exp | expf | exp | expl | cexpf | cexp | cexpl |
[编辑] 其它功能NJ
A型通用宏
XXX的变种,一个真正的函数调用Original:
A type-generic macro
XXX calls either of the variants of a real function:The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
- float变种
XXXfOriginal:float variantXXXfThe text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions. - double变种
XXXOriginal:double variantXXXThe text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions. - long double变种
XXXlOriginal:long double variantXXXlThe text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
请注意,有没有
modf类型通用的宏.Original:
Note, there's no
modf type-generic macro.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
调用的函数如下:
Original:
The function to call is determined as follows:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
- 如果任何参数是long double,然后long double变种被调用。否则,如果任何参数是double,然后被称为double变种。否则,float的变体被称为.Original:If any of the parameters is long double, then the long double variant is called. Otherwise, if any of the parameters is double, then the double variant is called. Otherwise, float variant is called.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions. - 的行为是未定义的参数与相应的函数的参数是不兼容的。
本节是不完整的
原因: what's meant by incompatible?Original:The behavior is undefined is any of the parameters is incompatible with the corresponding argument of the function.本节是不完整的
原因: what's meant by incompatible?The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.