📄 complex_c.mht
字号:
From: <由 Microsoft Internet Explorer 5 保存>
Subject:
Date: Wed, 27 Sep 2006 22:45:41 +0800
MIME-Version: 1.0
Content-Type: text/html;
charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.oxbad.com/DSP/maindoc/arithmetic_source/c/COMPLEX.C
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2962
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dgb2312">
<META content=3D"MSHTML 6.00.2900.2963" name=3DGENERATOR></HEAD>
<BODY><PRE>/* complex.c - complex arithmetic functions */
#include <math.h> /* for MSC and TC/BC, it =
declares: */
/* \ttt{struct complex} and =
\ttt{cabs()} */
/* struct complex {double x, y;}; */ /* uncomment if not MSC or =
TC/BC */
/* uncomment if not MS or =
TC/BC */
/* double cabs(z)
* complex z;
* {
* return sqrt(z.x * z.x + z.y * z.y);
* }
*/
typedef struct complex complex;
complex cmplx(x, y) /* z =3D cmplx(x,y) =3D =
x+jy */
double x, y;
{
complex z;
z.x =3D x; z.y =3D y;
return z;
}
complex conjg(z) /* complex conjugate of =
z=3Dx+jy */
complex z;
{
return cmplx(z.x, -z.y); /* returns z* =3D x-jy =
*/
}
complex cadd(a, b) /* complex addition */
complex a, b;
{
return cmplx(a.x + b.x, a.y + b.y);
}
complex csub(a, b) /* complex subtraction =
*/
complex a, b;
{
return cmplx(a.x - b.x, a.y - b.y);
}
complex cmul(a, b) /* complex =
multiplication */
complex a, b;
{
return cmplx(a.x * b.x - a.y * b.y, a.x * b.y + a.y * b.x);
}
complex rmul(a, z) /* multiplication by =
real */
double a;
complex z;
{
return cmplx(a * z.x, a * z.y);
}
complex cdiv(a, b) /* complex division */
complex a, b;
{
double D =3D b.x * b.x + b.y * b.y;
return cmplx((a.x * b.x + a.y * b.y) / D, (a.y * b.x - a.x * b.y) / =
D);
}
complex rdiv(z, a) /* division by real */
complex z;
double a;
{
return cmplx(z.x / a, z.y / a);
}
double real(z) /* real part Re(z) */
complex z;
{
return z.x;
}
double aimag(z) /* imaginary part Im(z) =
*/
complex z;
{
return z.y;
}
complex cexp(z) /* complex exponential =
*/
complex z;
{
double R =3D exp(z.x);
return cmplx(R * cos(z.y), R * sin(z.y));
}
</PRE></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -