+--------------------------------------------------------------------+
 |                                                                    |
 |                        REPETITION VARIABLES                        |
 |                                                                    |
 +--------------------------------------------------------------------+

 MEANING: NONMEM-PRED global variables
 CONTEXT: PRED routine

 USAGE:
      USE NMPR_INT, ONLY: RPTI=>NRPT_IN,RPTO=>NRPT_OUT, &
                          RPTON=>NRPT_ON,PRDFL=>IUSEPRD

 GLOBAL DECLARATION:
      INTEGER(KIND=ISIZE) :: NRPT_IN,NRPT_OUT,NRPT_ON,IUSEPRD

 DISCUSSION:

 These  variables  provide  the  information controlling the Repetition
 feature of NONMEM.

  RPTO
      RPTO is the "repetition output value".  With each data record, it
      may  be  set by PRED, and it conveys information to NONMEM.  RPTO
      may be used as a left-hand quantity  in  $PRED,  $PK  and  $ERROR
      blocks.

       RPTO=0
           If RPTO is set to 0, this produces no effect.

       RPTO=n (where n is between 1 and 5)
           The current record is thus marked as a "repetition base with
           value n", i.e.  as the  first  of  a  series  of  contiguous
           records  of  the current individual record (with single-sub-
           ject data, contiguous records of the data set) which will be
           repeated.  See the repeat data item (See RPT_).

       RPTO=-n (where n is between 1 and 5)
           The current record thus becomes a "repetition initiator with
           value n", i.e.  before the next record is passed to PRED all
           preceding records of the individual record (with single-sub-
           ject data, all records of the data set), starting  with  the
           last  such  record marked as a repetition base with value n,
           and up to and including the current  record,  will  be  once
           again  passed  to PRED (will be "repeated").  The value n is
           put onto the top of a stack - the "repetition stack".

           The series of records from base to initiator is  called  the
           "repetition  series  for n".  The series may be repeated any
           number of times (see RPTON).  After all repetitions are com-
           plete, the value n is removed from the repetition stack.

           While  the  series  is being repeated, RPTO may be set again
           with any record R of the series.  If the (unsigned)  repeti-
           tion  output  value  is  a  value  already on the repetition
           stack, this value is ignored.  Otherwise, the  output  value
           is not ignored, and it may be set so as to mark R as a repe-
           tition base or as a repetition  initiator.   In  the  latter
           case the current value on the top of the stack (m) is pushed
           down to the next lower position, the value n is put onto the
           top  of the stack, and a new repetition series is initiated.
           After the new series has been fully repeated, the value n is
           removed  from  the  stack, the value m is again put onto the
           top of the stack, and repetition of the series for m is con-
           tinued with the record following R.

       RPTO=-1
           This  value is a special value that may be used as the repe-
           tition output value with a  given  record.   If  a  previous
           record  has  been  marked as a repetition base with value 1,
           then the record in question becomes a  repetition  initiator
           with  value  1  in the usual way.  But if no previous record
           has been marked as a repetition base,  then  it  is  assumed
           that the first record of the individual record (with single-
           subject data, the first record of the data set) is a repeti-
           tion  base with value 1.  That is, before the next record is
           passed to PRED  all  preceding  records  of  the  individual
           record  (with  single-subject  data, all records of the data
           set), starting with the first such  record  and  up  to  and
           including  the  current record, will be once again passed to
           PRED (will be "repeated").  The value 1 is put onto the  top
           of the repetition stack.

           In  addition, for the repetition feature to work, it must be
           enabled at the outset.  This will be done if the repeat data
           item appears in the data set, or if RPTO is set to a nonzero
           value at ICALL=0 or ICALL=1.

  RPTON
      With each data record, RPTON may be set by PRED, and  it  conveys
      information  to NONMEM.  When the repetition output value is non-
      negative, RPTON is ignored.  Otherwise, RPTON may be  set  to  an
      integer that gives the number of times the repetition series ini-
      tiated by the data record is to be repeated.  With the  value  0,
      the  series  is  repeated once.  RPTON may be used as a left-hand
      quantity in $PRED, $PK and $ERROR blocks.

  RPTI
      RPTI is the "repetition input value".  With each data record,  it
      is  set  by NONMEM, and it conveys information to PRED.  RPTI may
      be used as a right-hand quantity in $PRED, $PK, $ERROR, $DES, and
      $AES blocks.

      RPTI=0
           The record being passed is not "being repeated".

      RPTI!=0
           The  record  being passed  to PRED is "being repeated".  The
           nonzero value is the length of  the  repetition  stack  (see
           above).

 By  default, with each pass through an individual record (with single-
 subject data, with each pass through the data set), and with any  data
 record  that  is  being  passed for the first time and is other than a
 repetition initiator, the output from PRED is used by NONMEM.  If  the
 record  is  a  repetition  initiator, NONMEM uses the output from PRED
 only when the repetition output value n has appeared on the repetition
 stack  for  the  first  time (as a result of RPTO being set to -n with
 this record) and when the record is being passed  for  the  last  time
 before  the output value is subsequently removed from the stack.  Oth-
 erwise, NONMEM ignores all output from PRED, except for the values set
 for these variables.

 For  example, in the case where a record is a repetition initiator, as
 is a subsequent record, where both records set RPTO to -1,  and  where
 both  records  set  RPTON  to 0, the first record is passed (at least)
 four times, and NONMEM uses the output from the first record  when  it
 is passed for the second time.

  PRDFL
      PRDFL  is the "PRED output control flag".  With each data record,
      it may be set by PRED, and  it  conveys  information  to  NONMEM.
      PRDFL  may  be  used  as  a  left-hand quantity in $PRED, $PK and
      $ERROR blocks.

      The PRED output control flag is used with very advanced  applica-
      tions  with the repetition feature.  With it, some of the default
      behaviour for when NONMEM pays  attention  to  PRED  output  (see
      above) - may be overridden.

       PRDFL!=1
           This  signals that the output from PRED with a passed record
           (except for the values of the repetition variables) is to be |
           ignored by NONMEM.

       PRDFL=1
           This  signals that the output from PRED with a passed record
           is to be used by NONMEM.

      With the PRED output control flag, PRED specifies when it is that
      NONMEM  is  to  use  PRED's  output.   However,  just as with the
      default behavior, where during a pass through  the  data,  NONMEM
      uses the output from a given data record once and once only, with
      each data record, PRDFL must be set to  1  once  and  once  only,
      either  when  the  record  is  passed  initially  or  when  it is
      repeated.  Moreover, as with the default behavior, PRDFL  can  be
      set  to  1 with a given record only after PRDFL has been set to 1
      with the previous data record of the individual record (for  sin-
      gle-subject data, with the previous data record of the data set).

      In addition, for the PRED output control flag to work, it must be
      enabled at the outset, i.e., PRDFL must be set to 1 at ICALL=0 or
      ICALL=1.   It may be enabled only when the repetition feature has
      also been enabled.

 Location prior to NONMEM 7: nmpr10

 (See repeti1, repeti2)                                                 |

 Help file repeti1 discusses the following files in the examples direc- |
 tory:                                                                  |

 repeat1.ctl                                                            |
 repeat1s.ctl                                                           |
 repeat1t.ctl                                                           |
 repeatf.ctl                                                            |

 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)