slightly changed copy to B
This commit is contained in:
parent
9d3067fa4b
commit
d2683992df
@ -28,8 +28,8 @@
|
|||||||
|
|
||||||
static B* arr_bptr(B x) { assert(isArr(x));
|
static B* arr_bptr(B x) { assert(isArr(x));
|
||||||
if (v(x)->type==t_harr) return harr_ptr(x);
|
if (v(x)->type==t_harr) return harr_ptr(x);
|
||||||
if (v(x)->type==t_hslice) return c(HSlice,x)->a;
|
|
||||||
if (v(x)->type==t_fillarr) return fillarr_ptr(a(x));
|
if (v(x)->type==t_fillarr) return fillarr_ptr(a(x));
|
||||||
|
if (v(x)->type==t_hslice) return c(HSlice,x)->a;
|
||||||
if (v(x)->type==t_fillslice) return c(FillSlice,x)->a;
|
if (v(x)->type==t_fillslice) return c(FillSlice,x)->a;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -154,15 +154,19 @@ DEF_COPY(c32, { u32* rp = m->ac32+ms;
|
|||||||
DEF_E(void, copy, MAX, false, x, (Mut* m, usz ms, B x, usz xs, usz l), ms, x, xs, l) { err("m_copyG_MAX"); }
|
DEF_E(void, copy, MAX, false, x, (Mut* m, usz ms, B x, usz xs, usz l), ms, x, xs, l) { err("m_copyG_MAX"); }
|
||||||
DEF_G(void, copy, B, (Mut* m, usz ms, B x, usz xs, usz l)) {
|
DEF_G(void, copy, B, (Mut* m, usz ms, B x, usz xs, usz l)) {
|
||||||
B* mpo = m->aB+ms;
|
B* mpo = m->aB+ms;
|
||||||
B* xp = arr_bptr(x);
|
switch(v(x)->type) {
|
||||||
if (xp!=NULL) {
|
case t_harr: case t_hslice: case t_fillarr: case t_fillslice:
|
||||||
memcpy(mpo, xp+xs, l*sizeof(B));
|
memcpy(mpo, arr_bptr(x)+xs, l*sizeof(B));
|
||||||
for (usz i = 0; i < l; i++) inc(mpo[i]);
|
for (usz i = 0; i < l; i++) inc(mpo[i]);
|
||||||
return;
|
return;
|
||||||
}
|
case t_f64arr: case t_f64slice:
|
||||||
|
memcpy(mpo, f64any_ptr(x)+xs, l*sizeof(B));
|
||||||
|
return;
|
||||||
|
default:
|
||||||
SGet(x)
|
SGet(x)
|
||||||
for (usz i = 0; i < l; i++) mpo[i] = Get(x,i+xs);
|
for (usz i = 0; i < l; i++) mpo[i] = Get(x,i+xs);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static B m_getU_MAX(Mut* m, usz ms) { err("m_setG_MAX"); }
|
static B m_getU_MAX(Mut* m, usz ms) { err("m_setG_MAX"); }
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user