17 lines
437 B
Nim
17 lines
437 B
Nim
|
import pkg/stint
|
||
|
|
||
|
type
|
||
|
Periodicity* = object
|
||
|
seconds*: UInt256
|
||
|
Period* = UInt256
|
||
|
Timestamp* = UInt256
|
||
|
|
||
|
func periodOf*(periodicity: Periodicity, timestamp: Timestamp): Period =
|
||
|
timestamp div periodicity.seconds
|
||
|
|
||
|
func periodStart*(periodicity: Periodicity, period: Period): Timestamp =
|
||
|
period * periodicity.seconds
|
||
|
|
||
|
func periodEnd*(periodicity: Periodicity, period: Period): Timestamp =
|
||
|
periodicity.periodStart(period + 1)
|