VMMATT(3)                        VERSION 1.0                         VMMATT(3)

NAME
        VMMATT - Obtain the attributes of a variable.

USAGE
        ier = vmmatt(namevar, LPIECE, NPIECE, ATTRIB)
        integer vmmatt
        integer ier, npiece, lpiece
        character*8 namevar
        character*40 attrib

DESCRIPTION
        VMMATT is  an integer  function  of the  VMM package  (Virtual  Memory
Manager) used to obtain the dimensions  and attributes of a variable that  was
created by the VMMCRE function.

        Upon successfull completion, VMMATT returns a value of 0.

ARGUMENTS
        namevar   -(input) name of the  variable for which  we wish to  obtain
                   the attributes.

        lpiece    -(output) dimensions of each slice of the variable.

        npiece    -(output) number of slices of length lpiece.

        attrib    -(output) character string containing the various attributes
                   that were given to the variable when created by the  VMMCRE
                   function.  The string returned in attrib has the  following
                   format: 'SAVE= ,CL= ,W= ,INIT= ,SIZE= ,MUSTEXIST'where each
                   attribute can have values as described here.

                    SAVE=Y/N    when this attribute is  set to the value  YES,
                                the variable will be  written to disk   before
                                being ejected from memory by the VMM  package.
                                Default value is NO.

                    CL=n        this attribute is used to categorize variables
                                according to their use. Values from 1 to 9 are
                                allowed.  The value given to CLASS is used to
                                determine to  which of  the VMM  data files  a
                                variable will be saved.  Default value is 1.

                    W=n         this attribute  serves to  quantify the  usage
                                intensity of a variable.   The more  intensely
                                used variables should  be given higher  WEIGHT
                                values than  less frequently  used  variables.
                                Variables are expelled from memory in order of
                                increasing WEIGHT  when additional  memory  is
                                required for loading   a   new  slice.   Valid
                                WEIGHT values range from 0 to 9. Default value
                                is 0.

                    SIZE=n      this attribute is used  to indicate whether  a
                                variable is  of type  REAL*4 or  REAL*8.  When
                                SIZE is  given  a  value other  that  8,  type
                                REAL*4 is used. 
                                SIZE=8:  REAL*8
                                SIZE=0:   REAL*4 [default value]  
                                It   goes  without saying that this  attribute
                                has no effect when compiling in 64 bit mode.

                    MUSTEXIST   the presence  of this  attribute indicates  to
                                the VMM package that the variable must already
                                exist during a   restart (i.e.   the  variable
                                was saved to disk at  the end of the  previous
                                execution).  During restart, the absence of  a
                                variable with  the  MUSTEXIST  attribute  will
                                result in the  premature end  of execution  of
                                the program.

                    INIT=n      this attribute indicates  to which value  each
                                slice of a variable  must be initialized  when
                                loaded for the first time  or after a call  to
                                vmmfgt.  Legal values are 0, R and -. 
                                INIT=0 :  initialize the field to zero. 
                                INIT=R :  initialize   the   field  to     the
                                          machine's  biggest  floating   point
                                          value. 
                                INIT=- :  no initialization is performed. 
                                By default, no initialization is done.

AUTHORS
        J.Caveen, M.Lepine, M.Roch - RPN

NOTES

        Errors that will cause a premature end of program execution

                - VMMALLC has not been called. 
                - Password has been set (System is locked)
                - Unknown variable

        Latest revision, November 1993

        See  also  vmmallc(3),  vmmcks(3),  vmmcpk(3),  vmmcre(3),  vmmdbg(3),
vmmdiag(3),  vmmdmp(3),  vmm_example(1),   vmmfgt(3),  vmmget(3),   vmmhpa(3),
vmmhpd(3), vmmint(3), vmmintro(1), vmmlck(3), vmmlod(3), vmmlse(3), vmmpak(3),
vmmpwd(3), vmmrls(3), vmmrnm(3), vmmsav(3), vmmuld(3), vmmulk(3), vmmuln(3).