Mir 1.0
Mir application programming interface
Mir Math Library

Modules

 Objects
 
 Allocation and freeing of objects
 
 Arithmetic functions
 
 Sampling functions
 
 Special functions
 
 Computational geometry
 
 Linear algebra
 
 Nonlinear least squares minimization
 
 Memory benchmark functions
 
 Meschach
 
 Numerical Recipies
 
 Random numbers generators
 
 Random numbers distributions
 
 SciMark2 functions
 
 Statistics functions
 
 Utility functions, macros, constants
 

Macros

#define MIRML_BUILDING   0
 

Functions

int mirml_initialize (void)
 Initialization of the MirML library. More...
 
void mirml_terminate (void)
 Termination of the MirML library. More...
 
void mirml_vector_fprintf (const mirml_vector_t *vec, FILE *fp, const char *format, unsigned int nline)
 Print vector elements. More...
 
void mirml_matrix_fprintf (const mirml_matrix_t *mat, FILE *fp, const char *format, unsigned int nline)
 Print matrix elements. More...
 

Globally available results of the mirml_nr_machar() after calling mirml_initialize()

int MirmlDblIbeta
 
int MirmlDblIt
 
int MirmlDblIrnd
 
int MirmlDblNgrd
 
int MirmlDblMachep
 
int MirmlDblNegep
 
int MirmlDblIexp
 
int MirmlDblMinexp
 
int MirmlDblMaxexp
 
double MirmlDblEps
 
double MirmlDblEpsneg
 
double MirmlDblXmin
 
double MirmlDblXmax
 
double MirmlDblLnXmin
 
double MirmlDblLnXmax
 
double MirmlDblSqrtXmin
 
double MirmlDblSqrtXmax
 
int MirmlFltIbeta
 
int MirmlFltIt
 
int MirmlFltIrnd
 
int MirmlFltNgrd
 
int MirmlFltMachep
 
int MirmlFltNegep
 
int MirmlFltIexp
 
int MirmlFltMinexp
 
int MirmlFltMaxexp
 
float MirmlFltEps
 
float MirmlFltEpsneg
 
float MirmlFltXmin
 
float MirmlFltXmax
 
float MirmlFltLnXmin
 
float MirmlFltLnXmax
 
float MirmlFltSqrtXmin
 
float MirmlFltSqrtXmax
 

Error codes

int MirmlDtypeEC
 Data type error.
 
int MirmlDomainEC
 Domain error.
 
int MirmlRoundEC
 Roundoff error.
 
int MirmlUnderflowEC
 Underflow error.
 
int MirmlOverflowEC
 Overflow error.
 
int MirmlNullEC
 Not initialized input structure.
 
int MirmlSizeEC
 Incorrect size.
 
int MirmlBoundsEC
 Index out of bounds.
 
int MirmlInsituEC
 In situ error.
 
int MirmlNrInitEC
 Object is not initialized.
 
int MirmlNrIterEC
 Too many iterations.
 
int MirmlNrSizeEC
 Incorrect size.
 
int MirmlNrSvdNotReadyEC
 SVD has not jet been done.
 
int MirmlNrEmptyEC
 Empty space.
 
int MirmlNrStepEC
 Invalid step size.
 
int MirmlLsqInitEC
 Init error in LS.
 
int MirmlLsqInvalidSetupEC
 Invalid setup of LS.
 
int MirmlSMInvalidNumEC
 Invalid number.
 
int MirmlRngInvalidMethodEC
 Invalid method.
 

Zero elements of objects.

mirkl_error_tmirml_vector_zero (const mirml_vector_t *vec)
 
mirkl_error_tmirml_matrix_zero (const mirml_matrix_t *mat)
 

Initialization to identity

mirkl_error_tmirml_matrix_ident (const mirml_matrix_t *mat)
 

Constants

#define MIRML_PI   3.14159265358979323846264338328
 
#define MIRML_E   2.71828182845904523536028747135
 
#define MIRML_LNPI   1.14472988584940017414342735135
 
#define MIRML_LR2PI   0.9189385332046727418
 
#define MIRML_EULER   0.57721566490153286060651209008
 
#define MIRML_SQRT2   1.41421356237309504880168872421
 
#define MIRML_SQRTPI   1.77245385090551602729816748334
 

Common return values (mainly from #mirml_initialize)

#define MIRML_SUCCESS   0
 No errors.
 
#define MIRML_ERROR_MIRKLINIT   1
 MirKL initialization failed.
 
#define MIRML_ERROR_ERRREG   2
 Registration of errors failed.
 

Detailed Description

Macro Definition Documentation

◆ MIRML_E

#define MIRML_E   2.71828182845904523536028747135

e

◆ MIRML_EULER

#define MIRML_EULER   0.57721566490153286060651209008

Euler constant

◆ MIRML_LNPI

#define MIRML_LNPI   1.14472988584940017414342735135

ln(pi)

◆ MIRML_LR2PI

#define MIRML_LR2PI   0.9189385332046727418

ln(sqrt(2pi))

◆ MIRML_PI

#define MIRML_PI   3.14159265358979323846264338328

pi

◆ MIRML_SQRT2

#define MIRML_SQRT2   1.41421356237309504880168872421

sqrt(2)

◆ MIRML_SQRTPI

#define MIRML_SQRTPI   1.77245385090551602729816748334

sqrt(pi)

Function Documentation

◆ mirml_initialize()

int mirml_initialize ( void  )

Initialization of the MirML library.

Note
This function should be called first before using other MirML functions.

◆ mirml_matrix_fprintf()

void mirml_matrix_fprintf ( const mirml_matrix_t mat,
FILE *  fp,
const char *  format,
unsigned int  nline 
)

Print matrix elements.

Parameters
[in]matPointer to the matrix structure.
[in]fpFile handle.
[in]formatUser-defined format (as for fprintf) for elements. If NULL, then default format is used.
[in]nlineMaximal number of column indices per line. If 0, then default number is used.

◆ mirml_terminate()

void mirml_terminate ( void  )

Termination of the MirML library.

Note
No MirML functions should be used after calling this function.

◆ mirml_vector_fprintf()

void mirml_vector_fprintf ( const mirml_vector_t vec,
FILE *  fp,
const char *  format,
unsigned int  nline 
)

Print vector elements.

Parameters
[in]vecPointer to the vector structure.
[in]fpFile handle.
[in]formatUser-defined format (as for fprintf) for elements. If NULL, then default format is used.
[in]nlineMaximal number of elements per line. If 0, then default number is used.

Variable Documentation

◆ MirmlDblEps

double MirmlDblEps
extern

Epsilon, for double IEEE math it is around 2.22e-16

◆ MirmlDblLnXmax

double MirmlDblLnXmax
extern

ln(Xmax)

◆ MirmlDblLnXmin

double MirmlDblLnXmin
extern

ln(Xmin)

◆ MirmlDblSqrtXmax

double MirmlDblSqrtXmax
extern

sqrt(Xmax)

◆ MirmlDblSqrtXmin

double MirmlDblSqrtXmin
extern

sqrt(Xmin)

◆ MirmlDblXmax

double MirmlDblXmax
extern

Maximal double value

◆ MirmlDblXmin

double MirmlDblXmin
extern

Minimal absolute double value

◆ MirmlFltEps

float MirmlFltEps
extern

Epsilon, for single IEEE math it is around 1.19e-07

◆ MirmlFltLnXmax

float MirmlFltLnXmax
extern

ln(Xmax)

◆ MirmlFltLnXmin

float MirmlFltLnXmin
extern

ln(Xmin)

◆ MirmlFltSqrtXmax

float MirmlFltSqrtXmax
extern

sqrt(Xmax)

◆ MirmlFltSqrtXmin

float MirmlFltSqrtXmin
extern

sqrt(Xmin)

◆ MirmlFltXmax

float MirmlFltXmax
extern

Maximal float value

◆ MirmlFltXmin

float MirmlFltXmin
extern

Minimal absolute float value