diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-11-11 11:13:56 -0500 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-11-11 11:15:22 -0500 |
| commit | 740a873f9eeb02ae120aa9d6090076cfcce15a05 (patch) | |
| tree | fe705812d4347e2bbb081b595b2bffbfe2c8fcb1 /svg.bqn | |
| parent | 66bda3a2f3d7d68871c9c9857c101f8ac03bff00 (diff) | |
Vectorize FmtNum so it works on atoms or arrays
Diffstat (limited to 'svg.bqn')
| -rw-r--r-- | svg.bqn | 24 |
1 files changed, 12 insertions, 12 deletions
@@ -19,19 +19,19 @@ Enc ← { } Void ← {∾⟨"<",𝕩,"/>"⟩} -FmtNum ← { - ! 0=≡𝕩 - ! (¯∞⊸< ∧ <⟜∞) 𝕩 - d ← 3 ⋆˜ b←10 # Base 10, up to 3 decimals - _base ← {⌽b|⌊∘÷⟜b⍟(↕𝔽)} # 𝔽 is the number of digits - fl ← ⌊ abs ← (÷2×d) + |𝕩 - ∾ ⟨ - (𝕩<0) / "-" - '0' + (1+·⌊b⋆⁼1⌈⊢)_base fl - 0⊸<◶""‿("." ∾ '0' + · ∨`⌾⌽∘×⊸/ 3 _base) ⌊ d × abs-fl +FmtNums ← { + ! ∧´ (¯∞⊸< ∧ <⟜∞) 𝕩 + k←3⋆˜b←10 + m‿p←"-."-'0' + s←𝕩<0⋄a←|𝕩⋄v←⌊0.5+k×a + ⊔⟜('0'⊸+)´<∘∾˘⍉∾⟨ + ≍≍○<⟜(m¨)/s + ↕∘≠⊸{f←b≤𝕩⋄(∨´f)◶⟨≍,𝕊⟜(⌊÷⟜b)○(f⊸/)´∾b⊸|⌾(⊑⌽)⟩𝕨‿𝕩}⌊v÷k + p¨⌾(⊑⌽)∘⊏⊸∾⍟(0<≠)↕∘≠⊸{f←×𝕩↩k|𝕩⋄𝕨(∨´f)◶⟨↕0‿2,(≍○<⟜(⌊÷⟜k)∾𝕊)⟜(b⊸×)○(f⊸/)⟩𝕩}v ⟩ } -Fmt ← (2⌊≡)◶FmtNum‿(1↓·∾(' '∾FmtNum)¨)‿{𝕩⋄!0} +FmtNum ← (2⌊≡)◶(⊑FmtNums∘⥊)‿(FmtNums⌾⥊)‿{𝕩⋄!0} +Fmt ← (2⌊≡)◶FmtNum‿(1↓·∾' '∾¨FmtNum)‿{𝕩⋄!0} At1 ← " " ∾ {∾⟨𝕨,"='",𝕩,"'"⟩}´ Attr ← ∾⟜(∾ <∘At1⎉1) @@ -39,7 +39,7 @@ At ← { _s ← {((+`׬)⊸-𝕗⊸=)⊸⊔} 𝕨 >⊘(∾⟜(∾At1¨)) '='_s¨ '|'_s 𝕩 } -Pos ← ⟨"x","y"⟩ ≍˘ FmtNum¨ +Pos ← ⟨"x","y"⟩ ≍˘ FmtNum Elt ← Void∘Attr SVG ← { |
