Class amifun

Class Documentation

class amifun

AMIFUN defines functions which later on will be transformed into appropriate C code.

Public Functions

amifun::amifun(matlabtypesubstitute funstr, matlabtypesubstitute model)

amievent constructs an amifun object from the provided input.

param funstr:

name of the requested function

param model:

amimodel object which carries all symbolic definitions to construct the function

noret::substitute amifun::writeCcode_sensi(::amimodel model, ::fileid fid)

writeCcode_sensi is a wrapper for writeCcode which loops over parameters and reduces overhead by check nonzero values

param model:

model defintion object

param fid:

file id in which the final expression is written

retval fid:

void

noret::substitute amifun::writeCcode(::amimodel model, ::fileid fid)

writeCcode is a wrapper for gccode which initialises data and reduces overhead by check nonzero values

param model:

model defintion object

param fid:

file id in which the final expression is written

retval fid:

void

noret::substitute amifun::writeMcode(::amimodel model)

writeMcode generates matlab evaluable code for specific model functions

param model:

model defintion object

retval model:

void

mlhsInnerSubst<::amifun > amifun::gccode(::amimodel model, ::fileid fid)

gccode transforms symbolic expressions into c code and writes the respective expression into a specified file

param model:

model definition object

param fid:

file id in which the expression should be written

retval this:

function definition object

mlhsInnerSubst<::amifun > amifun::getDeps(::amimodel model)

getDeps populates the sensiflag for the requested function

param model:

model definition object

retval this:

updated function definition object

mlhsInnerSubst<::amifun > amifun::getArgs(::amimodel model)

getFArgs populates the fargstr property with the argument string of the respective model function (if applicable). model functions are not wrapped versions of functions which have a model specific name and for which the call is solver specific.

param model:

model definition object

retval this:

updated function definition object

mlhsInnerSubst<::amifun > amifun::getNVecs()

getfunargs populates the nvecs property with the names of the N_Vector elements which are required in the execution of the function (if applicable). the information is directly extracted from the argument string

retval this:

updated function definition object

mlhsInnerSubst<::amifun > amifun::getCVar()

getCVar populates the cvar property

retval this:

updated function definition object

mlhsInnerSubst<::amifun > amifun::getSensiFlag()

getSensiFlag populates the sensiflag property

retval this:

updated function definition object

mlhsSubst< mlhsInnerSubst<::amifun >,mlhsInnerSubst<::amimodel > > amifun::getSyms(::amimodel model)

getSyms computes the symbolic expression for the requested function

param model:

model definition object

retval this:

updated function definition object

retval model:

updated model definition object

Public Members

::symbolic sym   = sym("[]")

symbolic definition struct

Default: sym(“[]”)

::symbolic sym_noopt   = sym("[]")

symbolic definition which was not optimized (no dependencies on w)

Default: sym(“[]”)

::symbolic strsym   = sym("[]")

short symbolic string which can be used for the reuse of precomputed values

Default: sym(“[]”)

::symbolic strsym_old   = sym("[]")

short symbolic string which can be used for the reuse of old values

Default: sym(“[]”)

::char funstr   = char.empty("")

name of the model

Default: char.empty(“”)

::char cvar   = char.empty("")

name of the c variable

Default: char.empty(“”)

::char argstr   = char.empty("")

argument string (solver specific)

Default: char.empty(“”)

::cell deps   = cell.empty("")

dependencies on other functions

Default: cell.empty(“”)

matlabtypesubstitute nvecs   = cell.empty("")

nvec dependencies

Default: cell.empty(“”)

matlabtypesubstitute sensiflag   = logical.empty("")

indicates whether the function is a sensitivity or derivative with respect to parameters

Default: logical.empty(“”)