date and time created 83/01/21 11:12:31 by dlw
[unix-history] / usr / src / usr.bin / f77 / libF77 / c_div.c
CommitLineData
b12a212e
DW
1/*
2 * "@(#)c_div.c 1.1"
3 */
4
5#include "complex"
6
7c_div(c, a, b)
8complex *a, *b, *c;
9{
10double ratio, den;
11double abr, abi;
12
13if( (abr = b->real) < 0.)
14 abr = - abr;
15if( (abi = b->imag) < 0.)
16 abi = - abi;
17if( abr <= abi )
18 {
19 if(abi == 0)
20 abort(); /* fatal("complex division by zero"); */
21 ratio = b->real / b->imag ;
22 den = b->imag * (1 + ratio*ratio);
23 c->real = (a->real*ratio + a->imag) / den;
24 c->imag = (a->imag*ratio - a->real) / den;
25 }
26
27else
28 {
29 ratio = b->imag / b->real ;
30 den = b->real * (1 + ratio*ratio);
31 c->real = (a->real + a->imag*ratio) / den;
32 c->imag = (a->imag - a->real*ratio) / den;
33 }
34
35}