First page Back Continue Last page Overview Graphics

Forth Example

Timing is everything ...
some basic words we will use:

: launch-clock@ ( -- t | return a signed time in 1/100th of seconds)
	( ... system dependent code ... ) ;

: hms>s ( h m s - s2 | convert hours, min, sec to seconds)
	>R 60 * >R 3600 * R> + R> + ;

: hmsh>t ( h m s hs - t | convert to hundredths of seconds)  
   >R hms>s 100 * R> + ;

: T- ( h m s hs - t )  hmsh>t NEGATE ; 
: T+                   hmsh>t ;

: is-time? ( t - flag | is t <= launch clock ?)  launch-clock@ <= ;