diff --git a/src/core.h b/src/core.h index 103d0506..24fab9d3 100644 --- a/src/core.h +++ b/src/core.h @@ -48,11 +48,10 @@ #define TP(W,X) W##f64##X #include "core/tyarrTemplate.h" -#include "core/i32arr.h" -#include "core/c32arr.h" -#include "core/f64arr.h" - +#include "core/numarr.h" +#include "core/chrarr.h" #include "core/fillarr.h" + #include "core/derv.h" #ifdef RT_VERIFY diff --git a/src/core/c32arr.h b/src/core/chrarr.h similarity index 100% rename from src/core/c32arr.h rename to src/core/chrarr.h diff --git a/src/core/f64arr.h b/src/core/f64arr.h deleted file mode 100644 index 80ceebf7..00000000 --- a/src/core/f64arr.h +++ /dev/null @@ -1,11 +0,0 @@ -B m_caf64(usz sz, f64* a); - -static F64Arr* toF64Arr(B x) { - if (v(x)->type==t_f64arr) return c(F64Arr,x); - f64* rp; B r = m_f64arrc(&rp, x); - usz ia = a(r)->ia; - SGetU(x) - for (usz i = 0; i < ia; i++) rp[i] = o2f(GetU(x,i)); - dec(x); - return c(F64Arr,r); -} diff --git a/src/core/i32arr.h b/src/core/numarr.h similarity index 81% rename from src/core/i32arr.h rename to src/core/numarr.h index a6cb086e..b1a1ae37 100644 --- a/src/core/i32arr.h +++ b/src/core/numarr.h @@ -1,4 +1,5 @@ B m_cai32(usz ia, i32* a); +B m_caf64(usz sz, f64* a); static I8Arr* toI8Arr(B x) { // assumes it's possible if (v(x)->type==t_i8arr) return c(I8Arr,x); @@ -44,3 +45,13 @@ static I32Arr* toI32Arr(B x) { // assumes it's possible dec(x); return c(I32Arr,r); } + +static F64Arr* toF64Arr(B x) { + if (v(x)->type==t_f64arr) return c(F64Arr,x); + f64* rp; B r = m_f64arrc(&rp, x); + usz ia = a(r)->ia; + SGetU(x) + for (usz i = 0; i < ia; i++) rp[i] = o2f(GetU(x,i)); + dec(x); + return c(F64Arr,r); +}