From 74483f3859c05766404b3033c5967d985aa27f02 Mon Sep 17 00:00:00 2001 From: dzaima Date: Fri, 7 Feb 2025 07:31:44 +0200 Subject: [PATCH] =?UTF-8?q?more=20spaces=20between=20=F0=9D=95=A8/?= =?UTF-8?q?=F0=9D=95=A9=20and=20names,=20re-remove=20=E2=80=A2SH=20args?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sh_c1 calls sh_c2, so the arity isn't function-specific --- src/builtins/arithd.c | 10 ++++----- src/builtins/arithm.c | 2 +- src/builtins/fold.c | 4 ++-- src/builtins/md1.c | 2 +- src/builtins/sysfn.c | 16 +++++++------- test/cases/hash.bqn | 4 ++-- test/cases/imports.bqn | 14 ++++++------ test/cases/system.bqn | 50 +++++++++++++++++++++--------------------- test/cases/undo.bqn | 9 ++++++-- test/cases/usz32.bqn | 2 +- 10 files changed, 59 insertions(+), 54 deletions(-) diff --git a/src/builtins/arithd.c b/src/builtins/arithd.c index 36bcd3fc..5acb78ba 100644 --- a/src/builtins/arithd.c +++ b/src/builtins/arithd.c @@ -478,7 +478,7 @@ static f64 bqn_atan2iw(f64 x, f64 w) { return w / (tan(x)+0); } #define MATH(n,N,I) B n##_c2(B t, B w, B x) { \ if (isNum(w) && isNum(x)) return m_f64(I(x.f, w.f)); \ P2(n) \ - thrM("𝕨•math." N "𝕩: Unexpected argument types"); \ + thrM("𝕨 •math." N " 𝕩: Unexpected argument types"); \ } MATH(atan2,"Atan2",bqn_atan2) MATH(atan2ix,"Atan2⁼",bqn_atan2ix) @@ -510,19 +510,19 @@ static u64 lcm_u64(u64 a, u64 b) { } B gcd_c2(B t, B w, B x) { if (isNum(w) && isNum(x)) { - if (!q_u64(w) || !q_u64(x)) thrM("𝕨•math.GCD𝕩: Inputs other than natural numbers not yet supported"); + if (!q_u64(w) || !q_u64(x)) thrM("𝕨 •math.GCD 𝕩: Inputs other than natural numbers not yet supported"); return m_f64(gcd_u64(o2u64G(w), o2u64G(x))); } P2(gcd) - thrM("𝕨•math.GCD𝕩: Unexpected argument types"); + thrM("𝕨 •math.GCD 𝕩: Unexpected argument types"); } B lcm_c2(B t, B w, B x) { if (isNum(w) && isNum(x)) { - if (!q_u64(w) || !q_u64(x)) thrM("𝕨•math.LCM𝕩: Inputs other than natural numbers not yet supported"); + if (!q_u64(w) || !q_u64(x)) thrM("𝕨 •math.LCM 𝕩: Inputs other than natural numbers not yet supported"); return m_f64(lcm_u64(o2u64G(w), o2u64G(x))); } P2(lcm) - thrM("𝕨•math.LCM𝕩: Unexpected argument types"); + thrM("𝕨 •math.LCM 𝕩: Unexpected argument types"); } #undef P2 diff --git a/src/builtins/arithm.c b/src/builtins/arithm.c index e352e575..13e04185 100644 --- a/src/builtins/arithm.c +++ b/src/builtins/arithm.c @@ -148,7 +148,7 @@ B log_c1(B t, B x) { if (isF64(x)) return m_f64( log(x.f)); P1( log); thrM(" static NOINLINE B arith_recm_slow(f64 (*fn)(f64), FC1 rec, B x, char* s) { if (isF64(x)) return m_f64(fn(x.f)); if(isArr(x)) return arith_recm(rec, x); - thrF("•math.%S𝕩: 𝕩 contained non-number", s); + thrF("•math.%S 𝕩: 𝕩 contained non-number", s); } #define MATH(n,N) B n##_c1(B t, B x) { return arith_recm_slow(n, n##_c1, x, #N); } MATH(cbrt,Cbrt) MATH(log2,Log2) MATH(log10,Log10) MATH(log1p,Log1p) MATH(expm1,Expm1) diff --git a/src/builtins/fold.c b/src/builtins/fold.c index b67ed888..bb9312ca 100644 --- a/src/builtins/fold.c +++ b/src/builtins/fold.c @@ -103,13 +103,13 @@ static i64 (*const sum_small_fns[])(void*, usz) = { sum_small_i8, sum_small_i16, static f64 (*const sum_fns[])(void*, usz, f64) = { sum_i8, sum_i16, sum_i32, sum_f64 }; B sum_c1(B t, B x) { - if (isAtm(x) || RNK(x)!=1) thrF("•math.Sum𝕩: 𝕩 must be a list (%H ≡ ≢𝕩)", x); + if (isAtm(x) || RNK(x)!=1) thrF("•math.Sum 𝕩: 𝕩 must be a list (%H ≡ ≢𝕩)", x); usz ia = IA(x); if (ia==0) { decG(x); return m_f64(0); } u8 xe = TI(x,elType); if (!elNum(xe)) { x = any_squeeze(x); xe = TI(x,elType); - if (!elNum(xe)) thrF("•math.Sum𝕩: 𝕩 elements must be numbers", x); + if (!elNum(xe)) thrF("•math.Sum 𝕩: 𝕩 elements must be numbers", x); } f64 r; void* xv = tyany_ptr(x); diff --git a/src/builtins/md1.c b/src/builtins/md1.c index d1dafeb8..dfbd2db4 100644 --- a/src/builtins/md1.c +++ b/src/builtins/md1.c @@ -154,7 +154,7 @@ B swap_c2(Md1D* d, B w, B x) { return c2(d->f, x , w); } B timed_c2(Md1D* d, B w, B x) { B f = d->f; i64 am = o2i64(w); - if (am<=0) thrM("𝕨𝔽•_timed𝕩: 𝕨 must be an integer greater than 0"); + if (am<=0) thrM("𝕨 𝔽•_timed 𝕩: 𝕨 must be an integer greater than 0"); incBy(x, am-1); FC1 fc1 = c1fn(f); u64 sns = nsTime(); diff --git a/src/builtins/sysfn.c b/src/builtins/sysfn.c index ec70be8a..ea74c76e 100644 --- a/src/builtins/sysfn.c +++ b/src/builtins/sysfn.c @@ -101,7 +101,7 @@ B repr_c1(B t, B x) { #if FORMATTER return bqn_repr(x); #else - thrM("•Repr𝕩: Cannot represent non-numbers with -DFORMATTER=0"); + thrM("•Repr 𝕩: Cannot represent non-numbers with -DFORMATTER=0"); #endif } } @@ -1163,7 +1163,7 @@ static i32 sh_core(bool raw, B x, usz xia, B inObj, u64 iLen, B* s_outp, B* s_er SGetU(x) for (u64 i = 0; i < xia; i++) { B c = GetU(x, i); - if (isAtm(c) || RNK(c)!=1) thrM("•SH 𝕩: 𝕩 must be a list of strings"); + if (isAtm(c) || RNK(c)!=1) thrM("•SH: 𝕩 must be a list of strings"); u64 len = utf16lenB(c); TALLOC(WCHAR, wstr, len); toUTF16(c, wstr); @@ -1214,7 +1214,7 @@ static i32 sh_core(bool raw, B x, usz xia, B inObj, u64 iLen, B* s_outp, B* s_er if (iLen>0) { if (raw) free_chars(iBufRaw); else TFREE(iBuf); } // FREE_INPUT TSFREE(arg); if (dwResult != ERROR_SUCCESS) { - thrF("•SH 𝕩: Failed to run command: %S", winErrorEx(dwResult)); + thrF("•SH: Failed to run command: %S", winErrorEx(dwResult)); } // prepare output @@ -1242,17 +1242,17 @@ static i32 sh_core(bool raw, B x, usz xia, B inObj, u64 iLen, B* s_outp, B* s_er B inObj = bi_N; bool raw = false; if (!q_N(w)) { - if (!isNsp(w)) thrM("𝕨 •SH 𝕩: 𝕨 must be a namespace"); + if (!isNsp(w)) thrM("•SH: 𝕨 must be a namespace"); inObj = ns_getC(w, "stdin"); - if (!q_N(inObj) && !isArr(inObj)) thrM("𝕨 •SH 𝕩: Invalid stdin value"); + if (!q_N(inObj) && !isArr(inObj)) thrM("•SH: Invalid stdin value"); B rawObj = ns_getC(w, "raw"); if (!q_N(rawObj)) raw = o2b(rawObj); } u64 iLen = q_N(inObj)? 0 : (raw? IA(inObj) : utf8lenB(inObj)); - if (isAtm(x) || RNK(x)>1) thrM("𝕨 •SH 𝕩: 𝕩 must be a list of strings"); + if (isAtm(x) || RNK(x)>1) thrM("•SH: 𝕩 must be a list of strings"); usz xia = IA(x); - if (xia==0) thrM("𝕨 •SH 𝕩: 𝕩 must have at least one item"); + if (xia==0) thrM("•SH: 𝕩 must have at least one item"); B s_out, s_err; i32 code = sh_core(raw, x, xia, inObj, iLen, &s_out, &s_err); @@ -1270,7 +1270,7 @@ static i32 sh_core(bool raw, B x, usz xia, B inObj, u64 iLen, B* s_outp, B* s_er return m_hvec3(m_i32(code), s_outObj, s_errObj); } #else - B sh_c2(B t, B w, B x) { thrM("𝕨 •SH 𝕩: CBQN was compiled without "); } + B sh_c2(B t, B w, B x) { thrM("•SH: CBQN was compiled without "); } #endif B sh_c1(B t, B x) { return sh_c2(t, bi_N, x); } diff --git a/test/cases/hash.bqn b/test/cases/hash.bqn index 4284a802..339c2670 100644 --- a/test/cases/hash.bqn +++ b/test/cases/hash.bqn @@ -54,8 +54,8 @@ a←(•ParseFloat¨ "1.2"‿"-0"‿"0")∾-⊸⋈0÷0 ⋄ ! (0‿3‿3‿3⊏a) (((•HashMap˜↕4).Delete 1).Set´ 1‿"one").Keys@ %% 0‿2‿3‿1 (((•HashMap˜↕4).Delete 1).Set´ 1‿"one").Values@ %% 0‿2‿3‿"one" ({𝕩.Set´"xy"}⍟4•HashMap˜↕0).Count@ %% 1 -!"𝕨•HashMap𝕩: Arguments must be lists (⟨⟩≡≢𝕨, ⟨3⟩≡≢𝕩)" % 'a' •HashMap "str" -!"𝕨•HashMap𝕩: 𝕨 and 𝕩 must have the same length (4≡≠𝕨, 3≡≠𝕩)" % "stri" •HashMap "str" +!"𝕨 •HashMap 𝕩: Arguments must be lists (⟨⟩≡≢𝕨, ⟨3⟩≡≢𝕩)" % 'a' •HashMap "str" +!"𝕨 •HashMap 𝕩: 𝕨 and 𝕩 must have the same length (4≡≠𝕨, 3≡≠𝕩)" % "stri" •HashMap "str" !"•HashMap: 𝕨 contained duplicate keys" % "strs" •HashMap "stri" !"(hashmap).Get: key not found" % ("abc"‿"de"‿"fgh" •HashMap ⥊¨↕3).Get "fg" !"(hashmap).Delete: key not found" % ("abc"‿"de"‿"fgh" •HashMap ⥊¨↕3).Delete 'a' diff --git a/test/cases/imports.bqn b/test/cases/imports.bqn index 1a5cc283..87d1c380 100644 --- a/test/cases/imports.bqn +++ b/test/cases/imports.bqn @@ -17,11 +17,11 @@ ! (⊑¨r1‿r3) ≡ ⍷⊑¨r1‿r2‿r3‿r4 ) -!"•Import𝕩: cyclic import of "".../cyclic.bqn""" % %USE file ⋄ •Import⎊CleanPath File "cyclic.bqn" -!"•Import𝕩: cyclic import of "".../cyclic.bqn""" % %USE file ⋄ •Import⎊CleanPath File "cyclic.bqn" -!"•Import𝕩: cyclic import of "".../cyclic.bqn""" % %USE file ⋄ ⟨⟩•Import⎊CleanPath File "cyclic.bqn" -!"•Import𝕩: cyclic import of "".../cyclic_A.bqn""" % %USE file ⋄ •Import⎊CleanPath File "cyclic_A.bqn" -!"•Import𝕩: cyclic import of "".../cyclic_B.bqn""" % %USE file ⋄ •Import⎊CleanPath File "cyclic_B.bqn" -!"•Import𝕩: cyclic import of "".../cyclic_A.bqn""" % %USE file ⋄ ⟨⟩•Import⎊CleanPath File "cyclic_B.bqn" -!"•Import𝕩: cyclic import of "".../cyclic_B.bqn""" % %USE file ⋄ ⟨⟩•Import⎊CleanPath File "cyclic_A.bqn" +!"•Import 𝕩: cyclic import of "".../cyclic.bqn""" % %USE file ⋄ •Import⎊CleanPath File "cyclic.bqn" +!"•Import 𝕩: cyclic import of "".../cyclic.bqn""" % %USE file ⋄ •Import⎊CleanPath File "cyclic.bqn" +!"•Import 𝕩: cyclic import of "".../cyclic.bqn""" % %USE file ⋄ ⟨⟩•Import⎊CleanPath File "cyclic.bqn" +!"•Import 𝕩: cyclic import of "".../cyclic_A.bqn""" % %USE file ⋄ •Import⎊CleanPath File "cyclic_A.bqn" +!"•Import 𝕩: cyclic import of "".../cyclic_B.bqn""" % %USE file ⋄ •Import⎊CleanPath File "cyclic_B.bqn" +!"•Import 𝕩: cyclic import of "".../cyclic_A.bqn""" % %USE file ⋄ ⟨⟩•Import⎊CleanPath File "cyclic_B.bqn" +!"•Import 𝕩: cyclic import of "".../cyclic_B.bqn""" % %USE file ⋄ ⟨⟩•Import⎊CleanPath File "cyclic_A.bqn" %USE file ⋄ 3 •Import File "notCyclic.bqn" %% 30 diff --git a/test/cases/system.bqn b/test/cases/system.bqn index 51a3494b..f16a4f18 100644 --- a/test/cases/system.bqn +++ b/test/cases/system.bqn @@ -113,18 +113,18 @@ f←•ReBQN{primitives⇐⋈'÷'‿- ⋄ system⇐⟨"primitives", "foo"‿⋈, !"•file.Parent: Path must be non-empty" % •file.Parent "" !"•file.Name: Path must be non-empty" % •file.Name "" -!"𝕨•file.Lines𝕩: 𝕩 must be a list" % "testfile.bqn" •FLines 2‿2⥊<"abcd" -!"𝕨•file.Lines𝕩: 𝕩 must be a list" % "testfile.bqn" •file.Lines <"abcd" -!"𝕨•file.Lines𝕩: Elements of 𝕩 must be lists of characters" % "testfile.bqn" •FLines "abcd" +!"𝕨 •file.Lines 𝕩: 𝕩 must be a list" % "testfile.bqn" •FLines 2‿2⥊<"abcd" +!"𝕨 •file.Lines 𝕩: 𝕩 must be a list" % "testfile.bqn" •file.Lines <"abcd" +!"𝕨 •file.Lines 𝕩: Elements of 𝕩 must be lists of characters" % "testfile.bqn" •FLines "abcd" !"Expected character" % "testfile.bqn" •FLines ⋈"ab"‿"cd" !"Expected character" % "testfile.bqn" •FLines ⋈1‿2 !"Expected character" % "testfile.bqn" •FChars ⋈"abcd" -!"𝕨•file.Chars𝕩: 𝕩 must be a list of characters" % "testfile.bqn" •FChars <'a' +!"𝕨 •file.Chars 𝕩: 𝕩 must be a list of characters" % "testfile.bqn" •FChars <'a' !"Expected character" % "testfile.bqn" •FBytes ⋈"abcd" -!"𝕨•file.Bytes𝕩: 𝕩 must be a list" % "testfile.bqn" •file.Bytes <'a' +!"𝕨 •file.Bytes 𝕩: 𝕩 must be a list" % "testfile.bqn" •file.Bytes <'a' !"Expected character" % "badwrite"•FChars ""‿"" !"Expected character" % "badwrite"•FLines ⟨⟨"foo"⟩⟩ -!"𝕨•file.Chars𝕩: 𝕩 must be a list of characters" % "badwrite"•FChars @ +!"𝕨 •file.Chars 𝕩: 𝕩 must be a list of characters" % "badwrite"•FChars @ ! {𝕩≡•file.Name 𝕩 •FChars "abc"∾(@+10)∾"def𝕩"}"testfile.bqn" ! {𝕩≡•file.Name 𝕩 •FBytes •ToUTF8 "abc"∾(@+10)∾"def𝕩"}"testfile2.bqn" @@ -141,11 +141,11 @@ f←•ReBQN{primitives⇐⋈'÷'‿- ⋄ system⇐⟨"primitives", "foo"‿⋈, ! 97‿98‿99‿10‿100‿101‿102‿240‿157‿149‿169 ≡ @-˜ •file.MapBytes "testfile.bqn" •file.Name "testfile3B.bqn" •file.Rename "testfile3.bqn" %% "testfile3B.bqn" -!"𝕨•file.Rename𝕩: Failed to rename file" % "testfile3B.bqn" •file.Rename "testfile.bqn" +!"𝕨 •file.Rename 𝕩: Failed to rename file" % "testfile3B.bqn" •file.Rename "testfile.bqn" •file.Exists¨ "testfile.bqn"‿"nontestfile.bqn"‿"testfile3.bqn"‿"testfile3B.bqn" %% 1‿0‿0‿1 ¯22↑•file.Createdir "testdirNested" %% "/testDir/testdirNested" ¯8↑•file.RealPath "testdirNested/.././" %% "/testDir" -!"•file.CreateDir𝕩: Failed to create directory" % •file.Createdir "testdirNested" +!"•file.CreateDir 𝕩: Failed to create directory" % •file.Createdir "testdirNested" "testfile.bqn"‿"testfile2.bqn"‿"testfile3.bqn"‿"testfile3B.bqn"‿"testdirNested" ∊ •file.List "." %% 1‿1‿0‿1‿1 "testfile.bqn"‿"testfile2.bqn"‿"testfile3.bqn"‿"testfile3B.bqn"‿"testdirNested" ∊ •file.List •file.path %% 1‿1‿0‿1‿1 @@ -171,8 +171,8 @@ f←•ReBQN{primitives⇐⋈'÷'‿- ⋄ system⇐⟨"primitives", "foo"‿⋈, !"•file.Lines: Path must be a list of characters" % 1‿2 •FLines "abc"‿"def" !"•file.Type: Path must be a list of characters" % •file.Type 1‿2 !"•file.Exists: Path must be a list of characters" % •file.Exists 1‿2 -!"•file.Name𝕩: Argument must be a string" % •file.Name 1‿2 -!"•file.Parent𝕩: Argument must be a string" % •file.Parent 1‿2 +!"•file.Name 𝕩: Argument must be a string" % •file.Name 1‿2 +!"•file.Parent 𝕩: Argument must be a string" % •file.Parent 1‿2 !"•file.MapBytes: Path must be a list of characters" % •file.MapBytes 1‿2 !"•file.CreateDir: Path must be a list of characters" % •file.CreateDir 1‿2 !"•file.RealPath: Path must be a list of characters" % •file.RealPath 1‿2 @@ -189,7 +189,7 @@ f←•ReBQN{primitives⇐⋈'÷'‿- ⋄ system⇐⟨"primitives", "foo"‿⋈, # some of •term !"Expected character" % •term.OutRaw 2⥊{⇐} -!"•term.ErrRaw𝕩: 𝕩 must be a list" % •term.ErrRaw 2‿2⥊0 +!"•term.ErrRaw 𝕩: 𝕩 must be a list" % •term.ErrRaw 2‿2⥊0 @@ -236,16 +236,16 @@ v←1 ⋄ ! •BQN∘•Repr⊸≡ ⟨+,1‿2,+¨,(+V)(V+V),2‿2⥊↕4⟩ t0←•MonoTime@ ⋄ ! 0.1≤•Delay 0.1 ⋄ ! 0.1≤(•MonoTime@)-t0 # •_timed tested more at perf.bqn -!"𝕨𝔽•_timed𝕩: 𝕨 must be an integer greater than 0" % 0 ⊢•_timed 2 +!"𝕨 𝔽•_timed 𝕩: 𝕨 must be an integer greater than 0" % 0 ⊢•_timed 2 !"Expected integer, got character" % @ ⊢•_timed 2 a←1 ⋄ a ⊣ {𝕊: a+↩𝕩}•_timed 10 %% 11 a←3 ⋄ 12 {𝕊: a+↩𝕩}•_timed 10 ⋄ a %% 123 # •math ! ∧´0=⌊|1e10×{(+´𝕩)-•math.Sum 𝕩}¨ ↑1000•rand.Range 0 -!"•math.Sum𝕩: 𝕩 must be a list (⟨⟩ ≡ ≢𝕩)" % •math.Sum 2 -!"•math.Sum𝕩: 𝕩 must be a list (2‿2 ≡ ≢𝕩)" % •math.Sum 2‿2⥊1 -!"•math.Sum𝕩: 𝕩 elements must be numbers" % •math.Sum 1‿'a' +!"•math.Sum 𝕩: 𝕩 must be a list (⟨⟩ ≡ ≢𝕩)" % •math.Sum 2 +!"•math.Sum 𝕩: 𝕩 must be a list (2‿2 ≡ ≢𝕩)" % •math.Sum 2‿2⥊1 +!"•math.Sum 𝕩: 𝕩 elements must be numbers" % •math.Sum 1‿'a' @@ -265,15 +265,15 @@ E←•internal.EEqual ⋄ {! (𝕏 4⥊0) E 𝕏 1↓¯1×π∾4⥊0}¨ (⊢∾ ⌊1e5×{0.1 𝕏 0.2}¨ ⟨•math.Atan2,•math.Comb,•math.Hypot,•math.Atan2⁼,•math.Atan2˜⁼⟩ %% 110714‿96959‿22360‿2027‿49331 ⌊1e5×{=˜◶99‿⊢¨ 𝕏 0.1‿3}¨ ⟨•math.Acos,•math.Acosh,•math.Asin,•math.Asinh,•math.Atan,•math.Atanh,•math.Cbrt,•math.Cos,•math.Cosh,•math.Erf,•math.ErfC,•math.Expm1,•math.Fact,•math.Log10,•math.Log1p,•math.Log2,•math.LogFact,•math.Sin,•math.Sinh,•math.Tan,•math.Tanh⟩ %% ⟨147062‿9900000,9900000‿176274,10016‿9900000,9983‿181844,9966‿124904,10033‿9900000,46415‿144224,99500‿¯99000,100500‿1006766,11246‿99997,88753‿2,10517‿1908553,95135‿600000,¯100000‿47712,9531‿138629,¯332193‿158496,¯4988‿179175,9983‿14112,10016‿1001787,10033‿¯14255,9966‿99505⟩ {𝕩 ! 1‿2 (𝕏 ≡ 𝕏¨) 3‿4}¨ ⟨•math.Atan2,•math.Comb,•math.Hypot,•math.Atan2⁼,•math.Atan2˜⁼,•math.GCD,•math.LCM⟩ -!"𝕨•math.GCD𝕩: Inputs other than natural numbers not yet supported" % 1.5 •math.GCD 3 -!"𝕨•math.LCM𝕩: Inputs other than natural numbers not yet supported" % 3 •math.LCM 1.5 -!"𝕨•math.LCM𝕩: Unexpected argument types" % "foo" •math.LCM 3 -!"𝕨•math.GCD𝕩: Unexpected argument types" % 3 •math.GCD {+} -!"•math.Sin𝕩: 𝕩 contained non-number" % •math.Sin "foo" -!"•math.Log10𝕩: 𝕩 contained non-number" % •math.Log10 "foo" -!"𝕨•math.Atan2𝕩: Unexpected argument types" % 1 •math.Atan2 'a' -!"𝕨•math.Atan2⁼𝕩: Unexpected argument types" % 1 •math.Atan2⁼ {⇐} -!"𝕨•math.Atan2˜⁼𝕩: Unexpected argument types" % {⇐} •math.Atan2˜⁼ 'b' +!"𝕨 •math.GCD 𝕩: Inputs other than natural numbers not yet supported" % 1.5 •math.GCD 3 +!"𝕨 •math.LCM 𝕩: Inputs other than natural numbers not yet supported" % 3 •math.LCM 1.5 +!"𝕨 •math.LCM 𝕩: Unexpected argument types" % "foo" •math.LCM 3 +!"𝕨 •math.GCD 𝕩: Unexpected argument types" % 3 •math.GCD {+} +!"•math.Sin 𝕩: 𝕩 contained non-number" % •math.Sin "foo" +!"•math.Log10 𝕩: 𝕩 contained non-number" % •math.Log10 "foo" +!"𝕨 •math.Atan2 𝕩: Unexpected argument types" % 1 •math.Atan2 'a' +!"𝕨 •math.Atan2⁼ 𝕩: Unexpected argument types" % 1 •math.Atan2⁼ {⇐} +!"𝕨 •math.Atan2˜⁼ 𝕩: Unexpected argument types" % {⇐} •math.Atan2˜⁼ 'b' # •rand / •MakeRand 0 (•MakeRand 0).Range¨↕2 %% ⟨⟩‿⟨⟩ @@ -281,7 +281,7 @@ E←•internal.EEqual ⋄ {! (𝕏 4⥊0) E 𝕏 1↓¯1×π∾4⥊0}¨ (⊢∾ (•MakeRand 0).Deal 0 %% ⟨⟩ 0 (•MakeRand 0).Subset 0 %% ⟨⟩ {!(∧•rand.Deal 𝕩)≡↕𝕩}¨ ⥊ ¯1‿0‿1+⌜2⋆↕22 # %SLOW -!"𝕨(rand).Range𝕩: Result rank too large (256≡≢𝕨)" % (256⥊1) •rand.Range 0 +!"𝕨 (rand).Range 𝕩: Result rank too large (256≡≢𝕨)" % (256⥊1) •rand.Range 0 ! ≡˝ a←{r←•MakeRand 𝕩 ⋄ ⟨r.Range 1e9, 100 r.Range 1e9, r.Deal 100, 100 r.Deal 200, 100 r.Deal 200, 100 r.Subset 200⟩}¨ 2‿2⥊↕2 ⋄ !∘≢¨´ ⊏a r←•MakeRand 1 ⋄ ! 1¨⊸≡ ∊{𝕊: 800 r.Subset 1000}¨ ↕4 r←•MakeRand 1 ⋄ ! 1¨⊸≡ ∊{𝕊: 50 r.Subset 10000}¨ ↕4 diff --git a/test/cases/undo.bqn b/test/cases/undo.bqn index 041c1c9f..17059e17 100644 --- a/test/cases/undo.bqn +++ b/test/cases/undo.bqn @@ -18,8 +18,13 @@ !"≍⁼: Argument must have a leading axis of 1" % ≍⁼ "foo" !"≍⁼: Argument must have a leading axis of 1" % ≍⁼ 3‿1‿1⥊<"foo" -!"⌽: Argument cannot be a unit" % ⌽⁼ 0 +!"⌽𝕩: 𝕩 cannot be a unit" % ⌽⁼ 0 ⌽⁼ ↕10 %% 9-↕10 -!"⍉⁼: 𝕩 must not be an atom" % ⍉⁼ 3 +!"⍉⁼𝕩: 𝕩 must not be an atom" % ⍉⁼ 3 +!"𝕨⍉⁼𝕩: 𝕩 must not be an atom" % 0 ⍉⁼ 3 +!"𝕨⍉⁼𝕩: Length of 𝕨 must be at most rank of 𝕩" % 0‿0 ⍉⁼ ↕3 +!"𝕨⍉⁼𝕩: Axis 9 does not exist (1≡=𝕩)" % 9 ⍉⁼ ↕3 +!"𝕨⍉⁼𝕩: Axis 9 does not exist (3≡=𝕩)" % 9 ⍉⁼ 3‿3‿3⥊3 +!"𝕨⍉⁼𝕩: 𝕨 must have rank at most 1" % (1‿1⥊0) ⍉⁼ ↕3 ⍉⁼ <3 %% <3 diff --git a/test/cases/usz32.bqn b/test/cases/usz32.bqn index 47b75e5b..753a2e85 100644 --- a/test/cases/usz32.bqn +++ b/test/cases/usz32.bqn @@ -1,5 +1,5 @@ !"Out of memory" % a←(2⋆20) ⥊ 1e9 ⋄ ≠•internal.Keep {𝕊: a}˘ a -!"⥊: 𝕨 too large" % a←(2⋆20) ⥊ 1e9 ⋄ ≠•internal.Keep a˘ a +!"𝕨⥊𝕩: 𝕨 too large" % a←(2⋆20) ⥊ 1e9 ⋄ ≠•internal.Keep a˘ a !"Out of memory" % ≠•internal.Keep (2⋆25)/(2⋆10)⥊10 !"Out of memory" % k←16384 ⋄ n←k÷˜2⋆32 ⋄ ≠•internal.Keep (n⥊k) / n⥊1 !"Out of memory" % k←64 ⋄ n←k÷˜2⋆32 ⋄ ≠•internal.Keep (n⥊k) / n⥊1 # %SLOW