"
COPYRIGHT (c) 1995 by Claus Gittinger
All Rights Reserved
This software is furnished under a license and may be used
only in accordance with the terms of that license and with the
inclusion of the above copyright notice. This software may not
be provided or otherwise made available to, or used by, any
other person. No title to or ownership of the software is
hereby transferred.
"
'From Smalltalk/X, Version:2.10.4 on 7-feb-1995 at 11:53:03 pm'!
Magnitude subclass:#AbstractTime
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
category:'Magnitude-General'
!
!AbstractTime class methodsFor:'documentation'!
copyright
"
COPYRIGHT (c) 1995 by Claus Gittinger
All Rights Reserved
This software is furnished under a license and may be used
only in accordance with the terms of that license and with the
inclusion of the above copyright notice. This software may not
be provided or otherwise made available to, or used by, any
other person. No title to or ownership of the software is
hereby transferred.
"
!
documentation
"
This is an abstract class; there are no instances in the system.
It is meant as a home for methods common to time handling clases.
"
!
version
"
$Header: /cvs/stx/stx/libbasic/AbstractTime.st,v 1.1 1995-02-08 03:10:51 claus Exp $
"
! !
!AbstractTime class methodsFor:'instance creation'!
fromOSTime:osTime
"return a time, representing the time given by the operatingSystem time.
Not meant for public use."
^ self basicNew fromOSTimeLow:(osTime at:1) and:(osTime at:2)
!
now
"return an instance of myself representing this moment"
^ self fromOSTime:(OperatingSystem getTimeParts)
"
AbsoluteTime now
Time now
"
!
fromSeconds:seconds
"return an instance that is constructed from seconds.
This method is only allowed for second values as returned by
getSeconds, possibly adding/subtracting to that. Never
depend on any specific interpretation of the seconds."
^ self basicNew setSeconds:seconds
"
Time fromSeconds:0
AbsoluteTime fromSeconds:0
"
!
fromOSTimeLow:osTimeLow and:osTimeHigh
"return a time, representing the time given by the operatingSystem time.
Not meant for public use."
^ self basicNew fromOSTimeLow:osTimeLow and:osTimeHigh
!
dateAndTimeNow
"return an array filled with date and time"
^ Array with:(Date today) with:(Time now)
"
Time dateAndTimeNow
"
! !
!AbstractTime class methodsFor:'obsolete'!
fromUnixTimeLow:low and:hi
"return an instance of myself, given the unix time.
Internal interface - not for public use."
^ self fromOSTimeLow:low and:hi
! !
!AbstractTime class methodsFor:'queries'!
secondClock
"return seconds of now - for GNU-ST compatibility"
^ OperatingSystem getTime
"
AbstractTime secondClock
"
!
millisecondClockValue
"return the millisecond clock - since this one overruns
regularly, use the value only for short timing deltas.
Also remember that it wraps when compares these values."
^ OperatingSystem getMillisecondTime.
"
Time millisecondClockValue
"
! !
!AbstractTime class methodsFor:'timing evaluations'!
secondsToRun:aBlock
"evaluate the argument, aBlock; return the number of seconds it took"
|startTime endTime|
startTime := self now.
aBlock value.
endTime := self now.
^ endTime - startTime
!
millisecondsToRun:aBlock
"evaluate the argument, aBlock; return the number of milliseconds it took"
|startTime endTime|
startTime := self millisecondClockValue.
aBlock value.
endTime := self millisecondClockValue.
^ endTime - startTime
"
Time millisecondsToRun:[100 factorial]
"
! !
!AbstractTime class methodsFor:'ST-80 compatibility'!
totalSeconds
^ self secondClock
! !