预订演示

请注意 : 本帮助页面不适用于最新版本的Enterprise Architect. 最新的帮助文档在这里.

前页 后页

cmul

Multiplication.

SYNOPSIS:
typedef struct {
double r; real part
double i; imaginary part
}cmplx;

cmplx *a, *b, *c;

cmul(a, b, c); c = b * a

DESCRIPTION:

c.r = b.r * a.r - b.i * a.i
c.i = b.r * a.i + b.i * a.r

ACCURACY:

In DEC arithmetic, the test (1/z) * z = 1 had peak relative error 3.1e-17, rms 1.2e-17. The test (y/z) * (z/y) = 1 had peak relative error 8.3e-17, rms 2.1e-17.

Tests in the rectangle {-10,+10}:

Relative error:
arithmetic function # trials peak rms
DEC cadd 10000 1.4e-17 3.4e-18
IEEE cadd 100000 1.1e-16 2.7e-17
DEC csub 10000 1.4e-17 4.5e-18
IEEE csub 100000 1.1e-16 3.4e-17
DEC cmul 3000 2.3e-17 8.7e-18
IEEE cmul 100000 2.1e-16 6.9e-17
DEC cdiv 18000 4.9e-17 1.3e-17
IEEE cdiv 100000 3.7e-16 1.1e-16

JavaScript:

var a = {"r":0.5,"i",0.5};
var b = {"r":0.5,"i",0.5};
var c = cephes.cmul(a,b);
Session.Output("c.r=" + c.r + ", c.i=" + c.i);