cexpf, cexp, cexpl
来自cppreference.com
在标头
<complex.h>
定义
在标头
<tgmath.h>
定义
#define exp( z )
(4)
(C99 起)
1-3) 计算复数的
z
的以 e 为底的指数。4) 泛型宏:若
z
拥有 long double complex 类型,则调用 cexpl
,若 z
拥有 double complex 类型,则调用 cexp
,若 z
拥有 float complex 类型,则调用 cexpf
。若 z
是实浮点数或整数,则该宏调用对应的实函数(expf、exp 、expl)。若 z
是虚数,则调用对应的复参数版本。[编辑] 参数
z
-
复数实参
[编辑] 返回值
若不出现错误,则返回 e 的 z
次幂,\(\small e^z\)ez
。
[编辑] 错误处理及特殊值
报告的错误与 math_errhandling 一致。
若实现支持IEEE浮点算术,则
- cexp(conj (z)) == conj (cexp(z))
- 若
z
为±0+0i
,则结果是1+0i
- 若
z
为x+∞i
(对于任何有限 x),则结果是NaN+NaNi
并引发 FE_INVALID - 若
z
为x+NaNi
(对于任何有限 x),则结果是NaN+NaNi
并可能引发 FE_INVALID - 若
z
为+∞+0i
,则结果是+∞+0i
- 若
z
为-∞+yi
(对任何有限 y),则结果是+0cis(y)
- 若
z
为+∞+yi
(对于任何有限非零 y),则结果是+∞cis(y)
- 若
z
为-∞+∞i
,则结果是±0±0i
(符号未指定) - 若
z
为+∞+∞i
,则结果是±∞+NaNi
并引发 FE_INVALID (实部符号未指定) - 若
z
为-∞+NaNi
,则结果是±0±0i
(符号未指定) - 若
z
为+∞+NaNi
,则结果是±∞+NaNi
(实部符号未指定) - 若
z
为NaN+0i
,则结果是NaN+0i
- 若
z
为NaN+yi
(对于任意非零 y),则结果是NaN+NaNi
并可能引发 FE_INVALID - 若
z
为NaN+NaNi
,则结果是NaN+NaNi
其中 \(\small{\rm cis}(y)\)cis(y) 为 \(\small \cos(y)+{\rm i}\sin(y)\)cos(y) + i sin(y)。
[编辑] 注解
对于 \(\small z = x + {\rm i}y\)z = x+iy,复指数函数 \(\small e^z\)ez
等于 \(\small e^x {\rm cis}(y)\)ex
cis(y),或 \(\small e^x (\cos(y)+{\rm i}\sin(y))\)ex
(cos(y) + i sin(y))。
指数函数在复平面上是整函数且无分支切割。
[编辑] 示例
运行此代码
输出:
exp(i*pi) = -1.0+0.0i
[编辑] 引用
- C11 标准(ISO/IEC 9899:2011):
- 7.3.7.1 The cexp functions (第 194 页)
- 7.25 Type-generic math <tgmath.h> (第 373-375 页)
- G.6.3.1 The cexp functions (第 543 页)
- G.7 Type-generic math <tgmath.h> (第 545 页)
- C99 标准(ISO/IEC 9899:1999):
- 7.3.7.1 The cexp functions (第 176 页)
- 7.22 Type-generic math <tgmath.h> (第 335-337 页)
- G.6.3.1 The cexp functions (第 478 页)
- G.7 Type-generic math <tgmath.h> (第 480 页)
[编辑] 参阅
exp 的 C++ 文档