unix.time: faster "0 make-timeval".
parent
1a3e8a2994
commit
c1d680eabc
|
@ -0,0 +1,10 @@
|
|||
|
||||
USING: classes.struct tools.test unix.time ;
|
||||
|
||||
IN: unix.time
|
||||
|
||||
{ S{ timeval f 0 0 } } [ 0 make-timeval ] unit-test
|
||||
{ S{ timeval f 1 234567 } } [ 1,234,567 make-timeval ] unit-test
|
||||
|
||||
{ S{ timespec f 0 0 } } [ 0 make-timespec ] unit-test
|
||||
{ S{ timespec f 1 234567890 } } [ 1,234,567,890 make-timespec ] unit-test
|
|
@ -13,16 +13,14 @@ STRUCT: timespec
|
|||
{ nsec long } ;
|
||||
|
||||
: make-timeval ( us -- timeval )
|
||||
1000000 /mod
|
||||
timeval <struct>
|
||||
swap >>usec
|
||||
swap >>sec ;
|
||||
[ timeval <struct> ] dip [
|
||||
1000000 /mod [ >>sec ] [ >>usec ] bi*
|
||||
] unless-zero ;
|
||||
|
||||
: make-timespec ( nanos -- timespec )
|
||||
1000000000 /mod
|
||||
timespec <struct>
|
||||
swap >>nsec
|
||||
swap >>sec ;
|
||||
[ timespec <struct> ] dip [
|
||||
1000000000 /mod [ >>sec ] [ >>nsec ] bi*
|
||||
] unless-zero ;
|
||||
|
||||
STRUCT: timezone
|
||||
{ tz_minuteswest int }
|
||||
|
|
Loading…
Reference in New Issue