about summary refs log tree commit diff
path: root/users/sterni/exercises/aoc/lib.bqn
blob: db996c7786f475d863e58d8a35a7abbc3d8cafce (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
IsAsciiNum ⇐ ('0'⊸≤∧≤⟜'9')
IsAlpha ⇐ (('a'⊸≤∧≤⟜'z')∨('A'⊸≤∧≤⟜'Z'))

# TODO(sterni): replace with //users/sterni/blërg's version
# based on leah2's function
ReadInt ⇐ {
  𝕨 𝕊 𝕩: '-'=⊑𝕩? -𝕨 𝕊 1↓𝕩;
  𝕨 𝕊 𝕩: (𝕨⊸×+⊣)´∘⌽-⟜'0'𝕩
}
ReadDec ⇐ 10⊸ReadInt

SplitOn ⇐ ((⊢ (-1˙)⍟⊣¨ +`∘(1⊸»<⊢))∘(≡¨)⊔⊢)
SplitAt ← ((⊣≤↕∘≠∘⊢)⊔⊢)

_fix ⇐ {𝕩 𝕊∘⊢⍟≢ 𝔽 𝕩}

ImportBqnLibs ⇐ {•Import 𝕩∾˜"/"∾˜¯1↓1⊑•SH "printenv"‿"BQNLIBS"}

Xor ⇐ (¬⊸∧∨∧⟜¬)

# To get all Diagonals (⊢∾○Diagonals⌽)
Diagonals ⇐ {(0‿0⊸⍉ ↓⟜𝕩)¨ (↕≠𝕩)}

ApplyMany ← {fs 𝕊 arg: {𝕏 arg}¨ fs}