// mars-calendar.el — MarsCalendar uses sol period 88775.244 seconds. // Two instants exactly one sol apart should differ by 1 in sol number. fn run_test() -> Int { let cal: Calendar = mars_calendar() let base: Instant = unix_seconds(0) // 88775.244 s * 1e9 nanos = 88775244000000 nanos let one_sol_ns: Int = 88775244000000 let one_sol: Duration = el_duration_from_nanos(one_sol_ns) let later: Instant = base + one_sol let ct1: CalendarTime = in_calendar(base, cal) let ct2: CalendarTime = in_calendar(later, cal) let sol1: String = cal_format(ct1, "%sol") let sol2: String = cal_format(ct2, "%sol") let diff: Int = str_to_int(sol2) - str_to_int(sol1) return diff } fn main() -> Void { println(int_to_str(run_test())) }