H2Lib  3.0
Macros | Typedefs | Enumerations | Variables
settings

Fundamental types and macros. More...

Macros

#define INLINE_PREFIX   static
 Prefix for inline functions.
 
#define HEADER_PREFIX
 Prefix for function declarations.
 
#define IMPORT_PREFIX
 Prefix for external declarations.
 
#define VFLOAT   1
 Fallback vector length for float if vectorization is not enabled.
 
#define VDOUBLE   1
 Fallback vector length for double if vectorization is not enabled.
 
#define VREAL   1
 Fallback vector length for real if vectorization is not enabled.
 
#define H2_CHECK_TOLERANCE   1.0e-12
 
#define H2_ALMOST_ZERO   1e-300
 
#define SCANF_PREFIX   "l"
 Prefix that is needed when reading numbers via 'scanf' function.
 
#define VFIELD   1
 Fallback vector length for field if vectorization is not enabled.
 
#define FIELD_CS(format, cs)   "%" #format #cs " + %" #format #cs "i"
 Macro that simplifies the definition of correct conversion specifier for field type values used in 'printf' function.
 
#define FIELD_SCANF_CS(format, cs)   "%l" #format #cs " + %l" #format #cs "i"
 Macro that simplifies the definition of correct conversion specifier for field type values used in 'scanf' function.
 
#define FIELD_ARG(z)   creal(z), cimag(z)
 Macro that simplifies argument passing for 'printf' like functions.
 
#define FIELD_ADDR(z)   (real*)(z), ((real*)(z)+1)
 Macro that simplifies argument passing for 'printf' like functions when the address of the parameters is needed.
 

Typedefs

typedef unsigned short bool
 Boolean type.
 
typedef unsigned uint
 Unsigned integer type. More...
 
typedef size_t longindex
 Unsigned long type. More...
 
typedef double real
 real floating point type. More...
 
typedef realpreal
 Pointer to real array.
 
typedef const realpcreal
 Pointer to constant real array.
 
typedef double _Complex field
 Field type. More...
 
typedef fieldpfield
 Pointer to field array.
 
typedef const fieldpcfield
 Pointer to constant field array.
 

Enumerations

enum  matrixtype {
  AMATRIX = 0, HMATRIX = 1, H2MATRIX = 2, SPARSEMATRIX = 3,
  DH2MATRIX = 4
}
 All possible types of matrices. More...
 

Variables

const bool true
 Boolean constant true.
 
const bool false
 Boolean constant false.
 
const int i_zero
 Signed integer constant zero.
 
const int i_one
 Signed integer constant one.
 
const uint u_zero
 Unsigned integer constant zero.
 
const uint u_one
 Unsigned integer constant one.
 
const real r_zero
 real constant zero
 
const real r_one
 real constant one.
 
const real r_minusone
 real constant minus one.
 
const field f_zero
 field constant zero
 
const field f_one
 field constant one.
 
const field f_minusone
 field constant minus one.
 
const field f_i
 field constant for the imaginary number.
 

Detailed Description

Fundamental types and macros.

Macro Definition Documentation

#define H2_ALMOST_ZERO   1e-300

Bound for determining when a number is essentially zero.

#define H2_CHECK_TOLERANCE   1.0e-12

Relative tolerance for run-time checks.

Typedef Documentation

typedef double _Complex field

Field type.

This type is used in the linear algebra modules to represent the coefficients of matrices and vectors.

typedef size_t longindex

Unsigned long type.

This type is used to access components of particularly large arrays, e.g., matrices in column-major array representation.

typedef double real

real floating point type.

This type is used, e.g., for geometric coordinates, norms and diagonal elements of self-adjoint matrices.

typedef unsigned uint

Unsigned integer type.

This type is mostly used to access components of arrays, vectors and matrices.

Enumeration Type Documentation

enum matrixtype

All possible types of matrices.

Passing a flag of this type makes function using generic matrix types more legible.

Enumerator
AMATRIX 

Enum value representing an amatrix.

AMATRIX

HMATRIX 

Enum value representing an hmatrix.

HMATRIX

H2MATRIX 

Enum value representing an h2matrix.

H2MATRIX

SPARSEMATRIX 

Enum value representing an sparsematrix.

SPARSEMATRIX

DH2MATRIX 

Enum value representing an dh2matrix.

DH2MATRIX