home *** CD-ROM | disk | FTP | other *** search
-
- -- This is a VAX Ada function to get CPU time in seconds of type DURATION
-
- with SYSTEM ; use SYSTEM ;
- with CONDITION_HANDLING ; use CONDITION_HANDLING ;
- with STARLET ; use STARLET ;
-
- function CPU_TIME_CLOCK return DURATION is
-
- CPUTIM : INTEGER ;
- pragma VOLATILE ( CPUTIM ) ;
- JPI_STATUS : COND_VALUE_TYPE ;
- JPI_ITEM_LIST : constant ITEM_LIST_TYPE :=
- ( ( 4 , JPI_CPUTIM , CPUTIM'ADDRESS , ADDRESS_ZERO ) ,
- ( 0 , 0 , ADDRESS_ZERO , ADDRESS_ZERO ) ) ;
-
- CPU_TIME_AS_DURATION : DURATION ;
- begin
-
- -- Call GETJPI to set CPUTIM to total accumulated CPU time
- -- (in 10-millisecond tics)
-
- GETJPI ( STATUS => JPI_STATUS , ITMLST => JPI_ITEM_LIST ) ;
- CPU_TIME_AS_DURATION := DURATION ( LONG_FLOAT ( CPUTIM ) / 100.0 ) ;
- return CPU_TIME_AS_DURATION ;
-
- end CPU_TIME_CLOCK ;
-