I see what the problem is: I'm using GNU Pascal as opposed to DEC VAX Pascal (where clock is a global function defined below).
Does anyone know a way to mimic this "clock" in GNU Pascal? (I apologize for my lack of Pascal knowledge!)
e.g. y := clock/1000-y1
Source:http://www.openvms.digital.com/wizard/group3/335.HTML Ask the Wizard Questions
PASCAL Language: PASCAL CLOCK
The Question is:
What is the granularity of the CLOCK command in VAX PASCAL, also, what units does it measure?
The Answer is:
According to the DEC Pascal Language Reference Manual:
" 8.21 CLOCK Function The CLOCK function returns an integer value indicating the amount of central processor time (in milliseconds) used by the current process. This function does not have a parame- ter list. The result of CLOCK includes the amount of central processor time allocated to all previously executed images."
That being the case, the value is most likely taken from the system clock which is incremented at 10ms intervals - hence the granularity will be 10ms. A simple program seems to support this:
PROGRAM CheckClock(OUTPUT); VAR LastTime,NextTime : INTEGER;
BEGIN LastTime:=CLOCK; REPEAT NextTime:=CLOCK; UNTIL LastTime <> NextTime; WriteLn('LastTime = ',LastTime,' NextTime = ',NextTime); END. $ run checkclock LastTime = 3495890 NextTime = 3495900
Note however that the granularity may vary in future as OpenVMS is capable of expressing times to an accuracy of 100ns. - - - - - - - - - - - - - Raymond Wang Department of Electrical Engineering Stanford University
www.stanford.edu/~rayw