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.

Parameters
  • funstr: name of the requested function

  • 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

Parameters
  • model: model defintion object

  • fid: file id in which the final expression is written

Return Value
  • 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

Parameters
  • model: model defintion object

  • fid: file id in which the final expression is written

Return Value
  • fid: void

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

writeMcode generates matlab evaluable code for specific model functions

Parameters
  • model: model defintion object

Return Value
  • 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

Parameters
  • model: model definition object

  • fid: file id in which the expression should be written

Return Value
  • this: function definition object

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

getDeps populates the sensiflag for the requested function

Parameters
  • model: model definition object

Return Value
  • 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.

Parameters
  • model: model definition object

Return Value
  • 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

Return Value
  • this: updated function definition object

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

getCVar populates the cvar property

Return Value
  • this: updated function definition object

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

getSensiFlag populates the sensiflag property

Return Value
  • this: updated function definition object

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

getSyms computes the symbolic expression for the requested function

Parameters
  • model: model definition object

Return Value
  • this: updated function definition object

  • 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(“”)