kusano 7d535a
kusano 7d535a
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
kusano 7d535a
<title>SuperLU: SRC/slu_dcomplex.h Source File</title>
kusano 7d535a
<link href="doxygen.css" rel="stylesheet" type="text/css">
kusano 7d535a
<link href="tabs.css" rel="stylesheet" type="text/css">
kusano 7d535a
kusano 7d535a
kusano 7d535a
kusano 7d535a
  
kusano 7d535a
    
    kusano 7d535a
          
  • Main Page
  • kusano 7d535a
          
  • Data Structures
  • kusano 7d535a
          
  • Files
  • kusano 7d535a
        
    kusano 7d535a
      
    kusano 7d535a

    SRC/slu_dcomplex.h

    Go to the documentation of this file.
    00001 
    kusano 7d535a
    00014 #ifndef __SUPERLU_DCOMPLEX /* allow multiple inclusions */
    kusano 7d535a
    00015 #define __SUPERLU_DCOMPLEX
    kusano 7d535a
    00016 
    kusano 7d535a
    00017 
    kusano 7d535a
    00018 #ifndef DCOMPLEX_INCLUDE
    kusano 7d535a
    00019 #define DCOMPLEX_INCLUDE
    kusano 7d535a
    00020 
    kusano 7d535a
    00021 typedef struct { double r, i; } doublecomplex;
    kusano 7d535a
    00022 
    kusano 7d535a
    00023 
    kusano 7d535a
    00024 /* Macro definitions */
    kusano 7d535a
    00025 
    kusano 7d535a
    00027 #define z_add(c, a, b) { (c)->r = (a)->r + (b)->r; \
    kusano 7d535a
    00028                          (c)->i = (a)->i + (b)->i; }
    kusano 7d535a
    00029 
    kusano 7d535a
    00031 #define z_sub(c, a, b) { (c)->r = (a)->r - (b)->r; \
    kusano 7d535a
    00032                          (c)->i = (a)->i - (b)->i; }
    kusano 7d535a
    00033 
    kusano 7d535a
    00035 #define zd_mult(c, a, b) { (c)->r = (a)->r * (b); \
    kusano 7d535a
    00036                            (c)->i = (a)->i * (b); }
    kusano 7d535a
    00037 
    kusano 7d535a
    00039 #define zz_mult(c, a, b) { \
    kusano 7d535a
    00040         double cr, ci; \
    kusano 7d535a
    00041         cr = (a)->r * (b)->r - (a)->i * (b)->i; \
    kusano 7d535a
    00042         ci = (a)->i * (b)->r + (a)->r * (b)->i; \
    kusano 7d535a
    00043         (c)->r = cr; \
    kusano 7d535a
    00044         (c)->i = ci; \
    kusano 7d535a
    00045     }
    kusano 7d535a
    00046 
    kusano 7d535a
    00047 #define zz_conj(a, b) { \
    kusano 7d535a
    00048         (a)->r = (b)->r; \
    kusano 7d535a
    00049         (a)->i = -((b)->i); \
    kusano 7d535a
    00050     }
    kusano 7d535a
    00051 
    kusano 7d535a
    00053 #define z_eq(a, b)  ( (a)->r == (b)->r && (a)->i == (b)->i )
    kusano 7d535a
    00054 
    kusano 7d535a
    00055 
    kusano 7d535a
    00056 #ifdef __cplusplus
    kusano 7d535a
    00057 extern "C" {
    kusano 7d535a
    00058 #endif
    kusano 7d535a
    00059 
    kusano 7d535a
    00060 /* Prototypes for functions in dcomplex.c */
    kusano 7d535a
    00061 void z_div(doublecomplex *, doublecomplex *, doublecomplex *);
    kusano 7d535a
    00062 double z_abs(doublecomplex *);     /* exact */
    kusano 7d535a
    00063 double z_abs1(doublecomplex *);    /* approximate */
    kusano 7d535a
    00064 void z_exp(doublecomplex *, doublecomplex *);
    kusano 7d535a
    00065 void d_cnjg(doublecomplex *r, doublecomplex *z);
    kusano 7d535a
    00066 double d_imag(doublecomplex *);
    kusano 7d535a
    00067 doublecomplex z_sgn(doublecomplex *);
    kusano 7d535a
    00068 doublecomplex z_sqrt(doublecomplex *);
    kusano 7d535a
    00069 
    kusano 7d535a
    00070 
    kusano 7d535a
    00071 
    kusano 7d535a
    00072 #ifdef __cplusplus
    kusano 7d535a
    00073   }
    kusano 7d535a
    00074 #endif
    kusano 7d535a
    00075 
    kusano 7d535a
    00076 #endif
    kusano 7d535a
    00077 
    kusano 7d535a
    00078 #endif  /* __SUPERLU_DCOMPLEX */
    kusano 7d535a
    kusano 7d535a

    <address style="text-align: right;"><small>Generated on Mon Nov 22 10:23:47 2010 for SuperLU by </small></address>
    kusano 7d535a
    kusano 7d535a
    doxygen 1.5.5 
    kusano 7d535a
    kusano 7d535a