Data update

This commit is contained in:
Ingy döt Net 2024-07-13 15:19:22 -07:00
parent 29a5eea0d4
commit 5c1bb7bfa9
2011 changed files with 35081 additions and 3229 deletions

View file

@ -1,17 +1,17 @@
val .duration = fn(var .sec) {
val d = fn(var sec) {
[
fw/wk d hr min sec/,
for[=[]] .dm in [7 * 24 * 60 * 60, 24 * 60 * 60, 60 * 60, 60] {
_for ~= [.sec \ .dm]
.sec rem= .dm
} ~ [.sec],
for[=[]] dm in [7 * 24 * 60 * 60, 24 * 60 * 60, 60 * 60, 60] {
_for ~= [sec \ dm]
sec rem= dm
} ~ [sec],
]
}
for .seconds in [7259, 86400, 6000000] {
val .dur = .duration(.seconds)
write $"\.seconds:7; sec = "
writeln join ", ", for[=[]] .k of .dur[1] {
if .dur[2][.k] != 0: _for ~= [$"\.dur[2][.k]; \.dur[1][.k];"]
}
for seconds in [7259, 86400, 6000000] {
val dur = d(seconds)
write "{{seconds:7}} sec = "
writeln join(", ", for[=[]] k of dur[1] {
if dur[2][k] != 0: _for ~= ["{{dur[2][k]}} {{dur[1][k]}}"]
})
}

View file

@ -0,0 +1,9 @@
# Builds a string representation of a time period
Units ← {"second" "minute" "hour" "day" "week"}
Durations ← [60 60 24 7 9999]
Parts ← ⇌◌∧(⊙⊂⊃(⌊÷|◿))Durations⊙[] # seconds -> [S M H D W]
Sunit ← /⍚$"_ _"⍥⍜(⊡1|⍚⊂⊙@s)≠□"1"⊢. # Stringify a unit
String ← /◇$"_, _"⇌≡Sunit▽⊃(±|⍉⇌⊟Units°⋕) Parts
≡(&p$"_s \t= _"⟜(□String))[7259 86400 6000000 14000000 31449599 31449601]