fix: time on 32 bits architecture (#2492)

authored-by: Emil Ivanichkov <emil.ivanichkov@gmail.com>
This commit is contained in:
Simon-Pierre Vivier 2024-03-01 07:58:45 -05:00 committed by GitHub
parent 560f949a8b
commit 0a75122828
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 3 additions and 7 deletions

View File

@ -20,7 +20,7 @@ proc now*(): Timestamp =
getNanosecondTime(getTime().toUnixFloat())
proc ts*(offset=0, origin=now()): Timestamp =
origin + getNanosecondTime(offset)
origin + getNanosecondTime(int64(offset))
# Switch

View File

@ -21,14 +21,10 @@ suite "Waku Core - Time":
## When
let
timeInSecondsInt = secondsPart.int
timeInSecondsInt64 = secondsPart.int64
timeInSecondsFloat = float(secondsFloat)
timeInSecondsFloat64 = float64(secondsFloat)
## Then
check:
getNanosecondTime(timeInSecondsInt) == lowResTimestamp
getNanosecondTime(timeInSecondsInt64) == lowResTimestamp
getNanosecondTime(timeInSecondsFloat) == highResTimestamp
getNanosecondTime(timeInSecondsFloat64) == highResTimestamp

View File

@ -9,8 +9,8 @@ import
type Timestamp* = int64 # A nanosecond precision timestamp
proc getNanosecondTime*[T: SomeNumber](timeInSeconds: T): Timestamp =
var ns = Timestamp(timeInSeconds * 1_000_000_000.T)
proc getNanosecondTime*(timeInSeconds: int64 | float64): Timestamp =
let ns = Timestamp(timeInSeconds * 1_000_000_000)
return ns
proc nowInUnixFloat(): float =