Header file for complex operations. More...
Go to the source code of this file.
Classes | |
struct | doublecomplex |
Defines | |
#define | z_add(c, a, b) |
Complex Addition c = a + b. | |
#define | z_sub(c, a, b) |
Complex Subtraction c = a - b. | |
#define | zd_mult(c, a, b) |
Complex-Double Multiplication. | |
#define | zz_mult(c, a, b) |
Complex-Complex Multiplication. | |
#define | zz_conj(a, b) |
#define | z_eq(a, b) ( (a)->r == (b)->r && (a)->i == (b)->i ) |
Complex equality testing. | |
Functions | |
void | z_div (doublecomplex *, doublecomplex *, doublecomplex *) |
Complex Division c = a/b. | |
double | z_abs (doublecomplex *) |
Returns sqrt(z.r^2 + z.i^2). | |
double | z_abs1 (doublecomplex *) |
Approximates the abs. Returns abs(z.r) + abs(z.i). | |
void | z_exp (doublecomplex *, doublecomplex *) |
Return the exponentiation. | |
void | d_cnjg (doublecomplex *r, doublecomplex *z) |
Return the complex conjugate. | |
double | d_imag (doublecomplex *) |
Return the imaginary part. | |
doublecomplex | z_sgn (doublecomplex *) |
SIGN functions for complex number. Returns z/abs(z). | |
doublecomplex | z_sqrt (doublecomplex *) |
Square-root of a complex number. |
Header file for complex operations.
-- SuperLU routine (version 2.0) -- Univ. of California Berkeley, Xerox Palo Alto Research Center, and Lawrence Berkeley National Lab. November 15, 1997
Contains definitions for various complex operations. This header file is to be included in source files z*.c
#define z_add | ( | c, | |||
a, | |||||
b | ) |
{ (c)->r = (a)->r + (b)->r; \ (c)->i = (a)->i + (b)->i; }
Complex Addition c = a + b.
#define z_eq | ( | a, | |||
b | ) | ( (a)->r == (b)->r && (a)->i == (b)->i ) |
Complex equality testing.
#define z_sub | ( | c, | |||
a, | |||||
b | ) |
{ (c)->r = (a)->r - (b)->r; \ (c)->i = (a)->i - (b)->i; }
Complex Subtraction c = a - b.
#define zd_mult | ( | c, | |||
a, | |||||
b | ) |
{ (c)->r = (a)->r * (b); \ (c)->i = (a)->i * (b); }
Complex-Double Multiplication.
#define zz_conj | ( | a, | |||
b | ) |
{ \ (a)->r = (b)->r; \ (a)->i = -((b)->i); \ }
#define zz_mult | ( | c, | |||
a, | |||||
b | ) |
{ \
double cr, ci; \
cr = (a)->r * (b)->r - (a)->i * (b)->i; \
ci = (a)->i * (b)->r + (a)->r * (b)->i; \
(c)->r = cr; \
(c)->i = ci; \
}
Complex-Complex Multiplication.
void d_cnjg | ( | doublecomplex * | r, | |
doublecomplex * | z | |||
) |
Return the complex conjugate.
double d_imag | ( | doublecomplex * | ) |
Return the imaginary part.
double z_abs | ( | doublecomplex * | ) |
Returns sqrt(z.r^2 + z.i^2).
double z_abs1 | ( | doublecomplex * | ) |
Approximates the abs. Returns abs(z.r) + abs(z.i).
void z_div | ( | doublecomplex * | , | |
doublecomplex * | , | |||
doublecomplex * | ||||
) |
Complex Division c = a/b.
void z_exp | ( | doublecomplex * | , | |
doublecomplex * | ||||
) |
Return the exponentiation.
doublecomplex z_sgn | ( | doublecomplex * | ) |
SIGN functions for complex number. Returns z/abs(z).
doublecomplex z_sqrt | ( | doublecomplex * | ) |
Square-root of a complex number.