slu_dcomplex.h File Reference

Header file for complex operations. More...

Go to the source code of this file.

Classes

struct  doublecomplex
 

Macros

#define DCOMPLEX_INCLUDE
 
#define z_add(c, a, b)
 Complex Addition c = a + b. More...
 
#define z_sub(c, a, b)
 Complex Subtraction c = a - b. More...
 
#define zd_mult(c, a, b)
 Complex-Double Multiplication. More...
 
#define zz_mult(c, a, b)
 Complex-Complex Multiplication. More...
 
#define zz_conj(a, b)
 
#define z_eq(a, b)   ( (a)->r == (b)->r && (a)->i == (b)->i )
 Complex equality testing. More...
 

Functions

void z_div (doublecomplex *, doublecomplex *, doublecomplex *)
 
double z_abs (doublecomplex *)
 
double z_abs1 (doublecomplex *)
 
void z_exp (doublecomplex *, doublecomplex *)
 
void d_cnjg (doublecomplex *r, doublecomplex *z)
 
double d_imag (doublecomplex *)
 
doublecomplex z_sgn (doublecomplex *)
 
doublecomplex z_sqrt (doublecomplex *)
 

Detailed Description

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

Macro Definition Documentation

◆ DCOMPLEX_INCLUDE

#define DCOMPLEX_INCLUDE

◆ z_add

#define z_add (   c,
  a,
  b 
)
Value:
{ (c)->r = (a)->r + (b)->r; \
(c)->i = (a)->i + (b)->i; }
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Scalar * b
Definition: benchVecAdd.cpp:17
const Scalar * a
Definition: level2_cplx_impl.h:32
r
Definition: UniformPSDSelfTest.py:20
int c
Definition: calibrate.py:100

Complex Addition c = a + b.

◆ z_eq

#define z_eq (   a,
  b 
)    ( (a)->r == (b)->r && (a)->i == (b)->i )

Complex equality testing.

◆ z_sub

#define z_sub (   c,
  a,
  b 
)
Value:
{ (c)->r = (a)->r - (b)->r; \
(c)->i = (a)->i - (b)->i; }

Complex Subtraction c = a - b.

◆ zd_mult

#define zd_mult (   c,
  a,
  b 
)
Value:
{ (c)->r = (a)->r * (b); \
(c)->i = (a)->i * (b); }

Complex-Double Multiplication.

◆ zz_conj

#define zz_conj (   a,
  b 
)
Value:
{ \
(a)->r = (b)->r; \
(a)->i = -((b)->i); \
}

◆ zz_mult

#define zz_mult (   c,
  a,
  b 
)
Value:
{ \
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.

Function Documentation

◆ d_cnjg()

void d_cnjg ( doublecomplex r,
doublecomplex z 
)

◆ d_imag()

double d_imag ( doublecomplex )

◆ z_abs()

double z_abs ( doublecomplex )

◆ z_abs1()

double z_abs1 ( doublecomplex )

◆ z_div()

void z_div ( doublecomplex ,
doublecomplex ,
doublecomplex  
)

◆ z_exp()

void z_exp ( doublecomplex ,
doublecomplex  
)

◆ z_sgn()

◆ z_sqrt()

doublecomplex z_sqrt ( doublecomplex )