new cc.bqn
This commit is contained in:
parent
b5468f630b
commit
776a77f033
14
cc.bqn
14
cc.bqn
@ -28,9 +28,9 @@ FChars ← {𝕨•FChars path∾𝕩}
|
|||||||
FLines ← {𝕨•FLines path∾𝕩}
|
FLines ← {𝕨•FLines path∾𝕩}
|
||||||
|
|
||||||
glyphs ← Import "glyphs.bqn"
|
glyphs ← Import "glyphs.bqn"
|
||||||
compile ← glyphs Import "c.bqn"
|
_getComp ← { (3+useInd) ↑ (𝕗 Import "c.bqn"){𝔽} }
|
||||||
useInd ← "-i"≡⊑args ⋄ args↓˜↩useInd
|
useInd ← "-i"≡⊑args ⋄ args↓˜↩useInd
|
||||||
Comp ← (3+useInd) ↑ ((<"inc(runtime["∾⍕∾"])"˙)¨↕62)⊸Compile
|
Comp ← ((<"inc(runtime["∾⍕∾"])"˙)¨↕62) glyphs _getComp ⊢
|
||||||
J ← ∾∾⟜\n¨
|
J ← ∾∾⟜\n¨
|
||||||
Fconst ← ≡◶⟨@⊸≤◶Num‿Char, Str, ⊑⟩
|
Fconst ← ≡◶⟨@⊸≤◶Num‿Char, Str, ⊑⟩
|
||||||
prov ← {"inc("∾𝕩∾")"}¨"bi_type"‿"bi_fill"‿"bi_log"‿"bi_grLen"‿"bi_grOrd"‿"bi_asrt"‿"bi_add"‿"bi_sub"‿"bi_mul"‿"bi_div"‿"bi_pow"‿"bi_floor"‿"bi_eq"‿"bi_le"‿"bi_fne"‿"bi_shape"‿"bi_pick"‿"bi_ud"‿"bi_tbl"‿"bi_scan"‿"bi_fillBy"‿"bi_val"‿"bi_catch"
|
prov ← {"inc("∾𝕩∾")"}¨"bi_type"‿"bi_fill"‿"bi_log"‿"bi_grLen"‿"bi_grOrd"‿"bi_asrt"‿"bi_add"‿"bi_sub"‿"bi_mul"‿"bi_div"‿"bi_pow"‿"bi_floor"‿"bi_eq"‿"bi_le"‿"bi_fne"‿"bi_shape"‿"bi_pick"‿"bi_ud"‿"bi_tbl"‿"bi_scan"‿"bi_fillBy"‿"bi_val"‿"bi_catch"
|
||||||
@ -38,15 +38,19 @@ Fout ← {((≠𝕩)↑⟨LI F¨,L ·prov⊸∾⍟(𝕨⊣0) Fconst¨,L (LI F¨)
|
|||||||
Frun ← 1⊸Fout
|
Frun ← 1⊸Fout
|
||||||
Long ← {¯2↓∾𝕩∾¨<","∾\n}
|
Long ← {¯2↓∾𝕩∾¨<","∾\n}
|
||||||
|
|
||||||
LFC ← Long∘Fout∘Comp
|
RT ← {𝕩
|
||||||
|
prims‿ref←Import"pr.bqn" ⋄ l←≠∾prims
|
||||||
|
Long Frun l⊸↓⌾(1⊸⊑) (↕l) prims _getComp ref
|
||||||
|
}
|
||||||
CArg ← {J (¯5⊸↓∾𝕩˙)⌾⊑ FLines "c.bqn"}
|
CArg ← {J (¯5⊸↓∾𝕩˙)⌾⊑ FLines "c.bqn"}
|
||||||
|
LFC ← Long∘Fout∘Comp
|
||||||
|
|
||||||
•Out⍟(¬return) (⊑"r"‿"c"‿"cc"‿"f"‿"e"‿"p"⊐⊏)◶⟨
|
•Out⍟(¬return) (⊑"r"‿"c"‿"cc"‿"f"‿"e"‿"p"⊐⊏)◶⟨
|
||||||
{𝕩⋄ref‿len←Import "pr.bqn"⋄Long Frun len⊸↓⌾(1⊸⊑)Comp ref}
|
RT
|
||||||
{𝕩⋄LFC CArg "⟨"∾"⟩"«∾","⊸∾¨'"'(⊣∾∾˜)¨glyphs}
|
{𝕩⋄LFC CArg "⟨"∾"⟩"«∾","⊸∾¨'"'(⊣∾∾˜)¨glyphs}
|
||||||
{𝕩⋄LFC "{"∾"}"∾˜CArg"𝕩"}
|
{𝕩⋄LFC "{"∾"}"∾˜CArg"𝕩"}
|
||||||
{𝕩⋄LFC FChars "f.bqn"}
|
{𝕩⋄LFC FChars "f.bqn"}
|
||||||
{𝕩⋄LFC SVG "e"}
|
{𝕩⋄LFC SVG "e"}
|
||||||
{𝕩⋄LFC SVG "p"}
|
{𝕩⋄LFC SVG "p"}
|
||||||
¯1 ↓ · J L∘Fout∘Comp¨
|
¯1 ↓ · J L∘Fout∘Comp¨
|
||||||
⟩ args
|
⟩ args
|
||||||
1
src/h.h
1
src/h.h
@ -346,6 +346,7 @@ usz o2s (B x) { if ((usz)x.f!=x.f) thrM("Expected integer"); return (usz)x.f;
|
|||||||
i64 o2i64 (B x) { if ((i64)x.f!=x.f) thrM("Expected integer"); return (i64)x.f; }
|
i64 o2i64 (B x) { if ((i64)x.f!=x.f) thrM("Expected integer"); return (i64)x.f; }
|
||||||
f64 o2f (B x) { if (!isNum(x)) thrM("Expected integer"); return x.f; }
|
f64 o2f (B x) { if (!isNum(x)) thrM("Expected integer"); return x.f; }
|
||||||
i32 o2iu (B x) { return isI32(x)? (i32)(u32)x.u : (i32)x.f; }
|
i32 o2iu (B x) { return isI32(x)? (i32)(u32)x.u : (i32)x.f; }
|
||||||
|
usz o2su (B x) { return (usz)x.f; }
|
||||||
i64 o2i64u(B x) { return (i64)x.f; }
|
i64 o2i64u(B x) { return (i64)x.f; }
|
||||||
bool q_i32(B x) { return isI32(x) || isF64(x)&(x.f==(i32)x.f); }
|
bool q_i32(B x) { return isI32(x) || isF64(x)&(x.f==(i32)x.f); }
|
||||||
|
|
||||||
|
|||||||
@ -171,10 +171,10 @@ B pick_c1(B t, B x) {
|
|||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
B pick_c2(B t, B w, B x) {
|
B pick_c2(B t, B w, B x) {
|
||||||
usz wu = o2s(w);
|
// usz wu = o2s(w);
|
||||||
if (!isArr(x)) { dec(x); dec(w); thrM("⊑: 𝕩 wasn't an array"); }
|
// if (!isArr(x)) { dec(x); dec(w); thrM("⊑: 𝕩 wasn't an array"); }
|
||||||
// if (wu >= a(x)->ia) err("⊑: 𝕨 is greater than length of 𝕩"); // no bounds check for now
|
// if (wu >= a(x)->ia) err("⊑: 𝕨 is greater than length of 𝕩"); // no bounds check for now
|
||||||
B r = TI(x).get(x, wu);
|
B r = TI(x).get(x, o2su(w));
|
||||||
dec(x);
|
dec(x);
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user