diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2023-02-03 11:13:38 -0500 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2023-02-03 11:13:38 -0500 |
| commit | 93325d9a753635448bba381e56c6aa996c99f77f (patch) | |
| tree | 502edf422e28e102d71abea32aef0b255adb9e0d /test | |
| parent | dde1ffd239cf3df8d31e7f63bc06e23c33ad7ac2 (diff) | |
Add -z 1 option to fuzzer
Diffstat (limited to 'test')
| -rw-r--r-- | test/fuzz.bqn | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/test/fuzz.bqn b/test/fuzz.bqn index 706c33ce..4f0c3c24 100644 --- a/test/fuzz.bqn +++ b/test/fuzz.bqn @@ -6,6 +6,7 @@ Fuzz testing. Options: -h, --help: Print this message and exit -r: Random seed, u to use •UnixTime then print (1) -b: Maximum bound (1e3) + -z: Don't generate large zero-product shapes (0) -n: Number of iterations (100) -t: Element type (0 3 4 5 6) -p: Primitives: both | mon%dy | mon%dy%both @@ -13,16 +14,17 @@ Fuzz testing. Options: Any number of types or bounds can be given; all combinations are tested." - o ← "-h"‿"--help"‿"-b"‿"-n"‿"-t"‿"-p"‿"-m"‿"-r" + o ← "-h"‿"--help"‿"-b"‿"-z"‿"-n"‿"-t"‿"-p"‿"-m"‿"-r" oo ← (≠o) = oi ← o ⊐ a←•args •Exit∘•Out∘help⍟(∨´2⊸>) oi opts ← 2↓o≠⊸↑ a ⊔˜ (¬-˜⊢× oi⊏˜ ↕∘≠⌈`∘׬)oo - bounds‿num‿types‿prims‿modop‿seed ⇐ •BQN¨¨⌾(¯3⊸↓) opts + bounds‿zerobound‿num‿types‿prims‿modop‿seed ⇐ •BQN¨¨⌾(¯3⊸↓) opts _default_ ← { (∾"Only one "‿𝕘‿" can be given") ! 1≥≠𝕨 ⋄ 𝕩𝔽∘⊣´𝕨 } num ⊢_default_"iteration number"↩ 100 types ↩ 0‿3‿4‿5‿6⍟(0=≠) types bounds ↩ ⟨1e3⟩⍟(0=≠) bounds + zerobound ↩ 0⊣´zerobound seed "u"⊸≡◶⟨•BQN,•Show(2⋆31)|⌊∘•UnixTime⟩_default_"random seed"↩ 1 modop ∾↩ @@ -62,8 +64,9 @@ RandPart ← ¯1 (⊢-») (Subset∾⊢)○(-⟜1) (0⌈-⟜1) ⌊ Rand∘(1⌈⌈)⌾((2⋆3+⊢)⁼) + ¯7+Rand∘15 # Near power of two ⟩_randChoose + P ← ×´opts.zerobound⌈⊢ Augment ← { - d ← 1+⌊𝕨÷1⌈×´𝕩 # Maximum bound that can be added, plus 1 + d ← 1+⌊𝕨÷1⌈P𝕩 # Maximum bound that can be added, plus 1 C ← 10⊸+ Rand⊸< 1.2⊸√ # Decide whether to add d (𝕨 𝕊 ⟨∾,∾˜⟩_randChoose⟜RandBound˜)⍟(C⊣) 𝕩 } |
