rxCompile: Compile a model if needed

rxCompileR Documentation

Compile a model if needed

Description

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

Usage

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

## S3 method for class 'rxModelVars'
rxCompile(
  model,
  dir = NULL,
  prefix = NULL,
  force = FALSE,
  modName = NULL,
  package = NULL,
  ...
)

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

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

## S3 method for class '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.

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

  • dllDLL path

  • modelmodel specification

  • .cA function to call C code in the correct context from the DLL using the .C() function.

  • .callA function to call C code in the correct context from the DLL using the .Call() function.

  • argsA list of the arguments used to create the rxDll object.

Author(s)

Matthew L.Fidler

See Also

RxODE()


RxODE documentation built on March 23, 2022, 9:06 a.m.