slu_scomplex.h File Reference

Header file for complex operations. More...

Go to the source code of this file.

Classes

struct  complex
 

Macros

#define SCOMPLEX_INCLUDE
 
#define c_add(c, a, b)
 Complex Addition c = a + b. More...
 
#define c_sub(c, a, b)
 Complex Subtraction c = a - b. More...
 
#define cs_mult(c, a, b)
 Complex-Double Multiplication. More...
 
#define cc_mult(c, a, b)
 Complex-Complex Multiplication. More...
 
#define cc_conj(a, b)
 
#define c_eq(a, b)   ( (a)->r == (b)->r && (a)->i == (b)->i )
 Complex equality testing. More...
 

Functions

void c_div (complex *, complex *, complex *)
 
double c_abs (complex *)
 
double c_abs1 (complex *)
 
void c_exp (complex *, complex *)
 
void r_cnjg (complex *, complex *)
 
double r_imag (complex *)
 
complex c_sgn (complex *)
 
complex c_sqrt (complex *)
 

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 c*.c

Macro Definition Documentation

◆ c_add

#define c_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.

◆ c_eq

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

Complex equality testing.

◆ c_sub

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

Complex Subtraction c = a - b.

◆ cc_conj

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

◆ cc_mult

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

◆ cs_mult

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

Complex-Double Multiplication.

◆ SCOMPLEX_INCLUDE

#define SCOMPLEX_INCLUDE

Function Documentation

◆ c_abs()

double c_abs ( complex )

◆ c_abs1()

double c_abs1 ( complex )

◆ c_div()

void c_div ( complex ,
complex ,
complex  
)

◆ c_exp()

void c_exp ( complex ,
complex  
)

◆ c_sgn()

complex c_sgn ( complex )

◆ c_sqrt()

complex c_sqrt ( complex )

◆ r_cnjg()

void r_cnjg ( complex ,
complex  
)

◆ r_imag()

double r_imag ( complex )