summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordzaima <dzaimagit@gmail.com>2023-04-14 20:23:39 +0300
committerdzaima <dzaimagit@gmail.com>2023-04-14 20:24:36 +0300
commit51e34c55d383884f8f0ed4172361798b9ea70f1c (patch)
treedd9c3d1a3ff819cb20f5233fbfa38d57ea0cd9b4
parent08885fabad3b43c1b77a98f69f6b79b890bde41a (diff)
make division not care about sign of 𝕩
-rw-r--r--src/builtins/arithd.c4
-rw-r--r--src/builtins/arithm.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/builtins/arithd.c b/src/builtins/arithd.c
index 1e85f670..de326ea9 100644
--- a/src/builtins/arithd.c
+++ b/src/builtins/arithd.c
@@ -171,7 +171,7 @@ static B modint_AS(B w, B xv) { return modint_AA(w, C2(shape, C1(fne, incG(w))
} \
thrM(SYMB ": Unexpected argument types"); \
}
- GC2f("÷", div , w.f/x.f,
+ GC2f("÷", div , w.f/(x.f+0),
, /*INT_SA*/
, /*INT_AS*/ if(q_i32(x)) { r = divint_AS(w, o2iG(x)); /*decG(w); */ return r; }
, /*INT_AA*/ r = divint_AA(w, x); /*decG(w); decG(x);*/ return r;
@@ -425,7 +425,7 @@ B not_c2(B t, B w, B x) {
AR_F_TO_ARR(NAME) \
thrM(CHR ": Unexpected argument types"); \
}
-AR_F_SCALAR("÷", div , w.f/x.f)
+AR_F_SCALAR("÷", div , w.f/(x.f+0))
AR_F_SCALAR("⋆", pow , pow(w.f, x.f))
AR_F_SCALAR("√", root , pow(x.f, 1.0/w.f))
AR_F_SCALAR("|", stile, pfmod(x.f, w.f))
diff --git a/src/builtins/arithm.c b/src/builtins/arithm.c
index e2e2cabc..83b51777 100644
--- a/src/builtins/arithm.c
+++ b/src/builtins/arithm.c
@@ -113,7 +113,7 @@ GC1i("¬", not, 1-v, el_bit, bit_negate(x), NOT_BODY)
thrM(MSG); \
}
-GC1f( div, 1/xv, "÷: Argument contained non-number")
+GC1f( div, 1/(xv+0), "÷: Argument contained non-number")
GC1f(root, sqrt(xv), "√: Argument contained non-number")
#undef GC1i
#undef LOOP_BODY