24#ifndef __SUPERLU_SCOMPLEX
25#define __SUPERLU_SCOMPLEX
28#ifndef SCOMPLEX_INCLUDE
29#define SCOMPLEX_INCLUDE
37#define c_add(c, a, b) { (c)->r = (a)->r + (b)->r; \
38 (c)->i = (a)->i + (b)->i; }
41#define c_sub(c, a, b) { (c)->r = (a)->r - (b)->r; \
42 (c)->i = (a)->i - (b)->i; }
45#define cs_mult(c, a, b) { (c)->r = (a)->r * (b); \
46 (c)->i = (a)->i * (b); }
49#define cc_mult(c, a, b) { \
51 cr = (a)->r * (b)->r - (a)->i * (b)->i; \
52 ci = (a)->i * (b)->r + (a)->r * (b)->i; \
57#define cc_conj(a, b) { \
63#define c_eq(a, b) ( (a)->r == (b)->r && (a)->i == (b)->i )
void r_cnjg(complex *, complex *)
Return the complex conjugate.
Definition: scomplex.c:106
double r_imag(complex *)
Return the imaginary part.
Definition: scomplex.c:113
void c_exp(complex *, complex *)
Return the exponentiation.
Definition: scomplex.c:96
double c_abs1(complex *)
Approximates the abs. Returns abs(z.r) + abs(z.i)
Definition: scomplex.c:84
void c_div(complex *, complex *, complex *)
Complex Division c = a/b.
Definition: scomplex.c:32
complex c_sgn(complex *)
SIGN functions for complex number. Returns z/abs(z)
Definition: scomplex.c:120
complex c_sqrt(complex *)
Square-root of a complex number.
Definition: scomplex.c:135
double c_abs(complex *)
Returns sqrt(z.r^2 + z.i^2)
Definition: scomplex.c:62
Definition: slu_scomplex.h:31
float i
Definition: slu_scomplex.h:31