JEMRIS  2.8.2
open-source MRI simulations
Typedefs | Functions | Variables
ginac_functions.h File Reference

Implementation of JEMRIS ginac_functions. More...

#include <ginac/ginac.h>
#include <ginac/power.h>
#include <vector>
#include <dlfcn.h>
#include <fstream>
#include <ios>
#include <sstream>
#include <stdexcept>
#include <string>
#include <stdlib.h>
#include "config.h"
+ Include dependency graph for ginac_functions.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef double(* FUNCP_4P) (double, double, double, double)
 

Functions

const symbol & get_symbol (const string &sym_name)
 Get a unique GiNaC symbol. More...
 
static ex sinc_eval (const ex &x)
 sqrt-function. (problem on mac: libc++abi.dylib throws exception: "sqrt" function is not recognized in GiNaC::ex Constructor) More...
 
static ex sinc_evalf (const ex &x)
 
static ex sinc_deriv (const ex &x, unsigned diff_param)
 
static ex sinc_real_part (const ex &x)
 
static ex sinc_imag_part (const ex &x)
 
static ex sinc_conjugate (const ex &x)
 
 REGISTER_FUNCTION (sinc, eval_func(sinc_eval). evalf_func(sinc_evalf). derivative_func(sinc_deriv). real_part_func(sinc_real_part). imag_part_func(sinc_imag_part). conjugate_func(sinc_conjugate)) static ex floor_evalf(const ex &x)
 floor routine. More...
 
static ex mod_evalf (const ex &x, const ex &y)
 Mod routine. More...
 
static ex equal_evalf (const ex &x, const ex &y)
 equal routine. More...
 
static ex gt_evalf (const ex &x, const ex &y)
 greater_than routine. More...
 
static ex lt_evalf (const ex &x, const ex &y)
 less_than routine. More...
 
static ex ite_evalf (const ex &a, const ex &b, const ex &x, const ex &y)
 IfThenElse routine. More...
 
static ex Vector_evalf (const ex &i)
 
void compile_ex (const ex &expr, const symbol &sym1, const symbol &sym2, const symbol &sym3, const symbol &sym4, FUNCP_4P &fp, const std::string filename="")
 

Variables

static vector< double > * m_static_vector
 Vector element. More...
 
static excompiler global_excompiler
 

Detailed Description

Implementation of JEMRIS ginac_functions.

Function Documentation

§ equal_evalf()

static ex equal_evalf ( const ex &  x,
const ex &  y 
)
static

equal routine.

Returns 1 if expressions have equal values, 0 otherwise.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

§ get_symbol()

const symbol& get_symbol ( const string &  sym_name)

Get a unique GiNaC symbol.

A symbol factory, which either creates a new symbol or takes previously defined symbol from a global map.

+ Here is the caller graph for this function:

§ gt_evalf()

static ex gt_evalf ( const ex &  x,
const ex &  y 
)
static

greater_than routine.

Returns 1 if expression x > y, 0 otherwise.

+ Here is the call graph for this function:

§ ite_evalf()

static ex ite_evalf ( const ex &  a,
const ex &  b,
const ex &  x,
const ex &  y 
)
static

IfThenElse routine.

if a==b returns x, otherwise y.

+ Here is the call graph for this function:

§ lt_evalf()

static ex lt_evalf ( const ex &  x,
const ex &  y 
)
static

less_than routine.

Returns 1 if expression x < y, 0 otherwise.

+ Here is the call graph for this function:

§ mod_evalf()

static ex mod_evalf ( const ex &  x,
const ex &  y 
)
static

Mod routine.

Modulo of two expressions.

+ Here is the call graph for this function:

§ REGISTER_FUNCTION()

REGISTER_FUNCTION ( sinc  ,
eval_func(sinc_eval). evalf_func(sinc_evalf). derivative_func(sinc_deriv). real_part_func(sinc_real_part). imag_part_func(sinc_imag_part). conjugate_func(sinc_conjugate)   
) const

floor routine.

Round expression to integer.

+ Here is the caller graph for this function:

§ sinc_eval()

static ex sinc_eval ( const ex &  x)
static

sqrt-function. (problem on mac: libc++abi.dylib throws exception: "sqrt" function is not recognized in GiNaC::ex Constructor)

sinc-function.

return sin(x)/x for nonzero x, else return 1

Variable Documentation

§ m_static_vector

vector<double>* m_static_vector
static

Vector element.

Get an element of a Vector.


-- last change 24.05.2018 | Tony Stoecker | Imprint | Data Protection --