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 } ;
|
{ nsec long } ;
|
||||||
|
|
||||||
: make-timeval ( us -- timeval )
|
: make-timeval ( us -- timeval )
|
||||||
1000000 /mod
|
[ timeval <struct> ] dip [
|
||||||
timeval <struct>
|
1000000 /mod [ >>sec ] [ >>usec ] bi*
|
||||||
swap >>usec
|
] unless-zero ;
|
||||||
swap >>sec ;
|
|
||||||
|
|
||||||
: make-timespec ( nanos -- timespec )
|
: make-timespec ( nanos -- timespec )
|
||||||
1000000000 /mod
|
[ timespec <struct> ] dip [
|
||||||
timespec <struct>
|
1000000000 /mod [ >>sec ] [ >>nsec ] bi*
|
||||||
swap >>nsec
|
] unless-zero ;
|
||||||
swap >>sec ;
|
|
||||||
|
|
||||||
STRUCT: timezone
|
STRUCT: timezone
|
||||||
{ tz_minuteswest int }
|
{ tz_minuteswest int }
|
||||||
|
|
Loading…
Reference in New Issue