z_div.c
来自「InsightToolkit-1.4.0(有大量的优化算法程序)」· C语言 代码 · 共 39 行
C
39 行
#include "f2c.h"
#include "netlib.h"
/* Modified by Peter Vanroose, June 2001, to allow c being equal to a or b */
#ifdef KR_headers
extern VOID sig_die();
VOID z_div(c, a, b) doublecomplex *c, const doublecomplex *a, *b;
#else
extern void sig_die(char*, int);
void z_div(doublecomplex *c, const doublecomplex *a, const doublecomplex *b)
#endif
{
double ratio, den;
double abr, abi;
double ar = a->r, ai = a->i;
if( (abr = b->r) < 0.)
abr = - abr;
if( (abi = b->i) < 0.)
abi = - abi;
if( abr <= abi ) {
if(abi == 0) {
sig_die("complex division by zero", 1);
}
ratio = (double)b->r / b->i ;
den = b->i * (1 + ratio*ratio);
c->r = (ar*ratio + ai) / den;
c->i = (ai*ratio - ar) / den;
}
else {
ratio = (double)b->i / b->r ;
den = b->r * (1 + ratio*ratio);
c->r = (ar + ai*ratio) / den;
c->i = (ai - ar*ratio) / den;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?