JEMRIS  2.8.1
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

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:

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:

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:

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:

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:

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 ( 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:

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

vector<double>* m_static_vector
static

Vector element.

Get an element of a Vector.


-- last change 17.06.2016 | Tony Stoecker | Imprint --