RxODE (version 0.9.0-8)

rxCompile: Compile a model if needed

Description

This is the compilation workhorse creating the RxODE model DLL files.

Usage

rxCompile(model, dir, prefix, extraC = NULL, force = FALSE,
  modName = NULL, package = NULL, ...)

# S3 method for character rxCompile(model, dir = NULL, prefix = NULL, extraC = NULL, force = FALSE, modName = NULL, package = NULL, ...)

# S3 method for rxDll rxCompile(model, ...)

# S3 method for RxODE rxCompile(model, ...)

Arguments

model

This is the ODE model specification. It can be:

  • a string containing the set of ordinary differential equations (ODE) and other expressions defining the changes in the dynamic system.

  • a file name where the ODE system equation is contained

  • An ODE expression enclosed in {}

(see also the filename argument). For details, see the sections “Details” and “RxODE Syntax” below.

dir

This is the model directory where the C file will be stored for compiling.

If unspecified, the C code is stored in a temporary directory, then the model is compiled and moved to the current directory. Afterwards the C code is removed.

If specified, the C code is stored in the specified directory and then compiled in that directory. The C code is not removed after the DLL is created in the same directory. This can be useful to debug the c-code outputs.

prefix

is a string indicating the prefix to use in the C based functions. If missing, it is calculated based on file name, or md5 of parsed model.

extraC

Extra c code to include in the model. This can be useful to specify functions in the model. These C functions should usually take double precision arguments, and return double precision values.

force

is a boolean stating if the (re)compile should be forced if RxODE detects that the models are the same as already generated.

modName

a string to be used as the model name. This string is used for naming various aspects of the computations, including generating C symbol names, dynamic libraries, etc. Therefore, it is necessary that modName consists of simple ASCII alphanumeric characters starting with a letter.

package

Package name for pre-compiled binaries.

...

Other arguments sent to the rxTrans function.

Value

An rxDll object that has the following components

dll

DLL path

model

model specification

.c

A function to call C code in the correct context from the DLL using the .C function.

.call

A function to call C code in the correct context from the DLL using the .Call function.

args

A list of the arguments used to create the rxDll object.

See Also

RxODE