+--------------------------------------------------------------------+
 |                                                                    |
 |                       INFN-DEFINED VARIABLES                       |
 |                                                                    |
 +--------------------------------------------------------------------+

 MEANING: INFN-defined global variables
 CONTEXT: User-supplied routines

 USAGE:
      MODULE INFNP
      USE PRINFN, ONLY: TLCOM=>ITV
      END MODULE INFNP

 GLOBAL DECLARATION:
      MODULE PRINFN
      USE SIZES, ONLY : DPSIZE,DIMTMP
      IMPLICIT NONE
      SAVE
      REAL(KIND=DPSIZE), TARGET, DIMENSION (DIMTMP):: ITV
      END MODULE PRINFN

 DISCUSSION:

 PRINFN  is  a module for INFN-defined variables.  It contains an array
 ITV.  (TLCOM is suggested above as an alternate to the name ITV to  be
 consistent   with  generated   code, but this is optional.)  Variables
 are stored in PRINFN for communication  with  other  other  blocks  of
 abbreviated  code  or  with  user-written  codes.  These are variables
 defined first in $INFN or in $PK-INFN or $ERROR-INFN  blocks.   Module
 PRINFN  is declared in all generated routines PK, ERROR, etc., and the
 variables can be used as  right-hand  quantities  in  these  routines.
 INFN-defined  variables  are  not initialized or modified by NONMEM or
 PREDPP.  Hence the variables in the module may be initialized or modi-
 fied at ICALL values 0 or 1 or 3, and will retain whatever values they
 are given.  These variables cannot be displayed in tables or  scatter-
 plots.   If they are to be displayed, WRITE statements can be used, or
 their values can be assigned to variables that are  listed  in  module
 NMPRD4.  (See PRED-defined_variables).

 Variables from PRINFN can be used in a user-written code. MODULE INFNP
 must be defined as above prior to the SUBROUTINE statement.  The vari-
 ables have names TLCOM(1), TLCOM(2), etc.
 E.g.,  X=TLCOM(1)/TLCOM(2).   It is possible to give the variables the
 same (non-subscripted) names that they had in $INFN. Suppose variables
 X1  and X2 are used in $INFN, and the following is present in the gen-
 erated INFN routine:
      X1=>TLCOM(00001); X2=>TLCOM(00002)

 In the user-written code, after the last declaraction, include:
      POINTER :: X1,X2

 Prior to the first executable statement, include:
      X1=>TLCOM(1); X2=>TLCOM(2)

 Now the code is X=X1/X2.

 Code generated by NM-TRAN is somewhat more complex, but  achieves  the
 same result.

 REFERENCES: None.


  
Go to main index.
  
Created by nmhelp2html v. 1.0 written by Niclas Jonsson (Modified by AJB 5/2006,11/2007,10/2012)