move out another s+↕n loop
This commit is contained in:
parent
14ca835fa2
commit
cc94ec4cbc
@ -12,9 +12,12 @@ NOINLINE B intRange16(ux s, ux n) { // s+↕n with i16arr result
|
|||||||
for (ux i = 0; i < n; i++) rp[i] = (i16)s + (i16)i;
|
for (ux i = 0; i < n; i++) rp[i] = (i16)s + (i16)i;
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
NOINLINE void intRange32Fill(i32* xp, ux s, ux n) { // fill xp with s+↕n
|
||||||
|
for (ux i = 0; i < n; i++) xp[i] = (i32)s + (i32)i;
|
||||||
|
}
|
||||||
NOINLINE B intRange32(ux s, ux n) { // s+↕n with i32arr result
|
NOINLINE B intRange32(ux s, ux n) { // s+↕n with i32arr result
|
||||||
i32* rp; B r = m_i32arrv(&rp, n);
|
i32* rp; B r = m_i32arrv(&rp, n);
|
||||||
for (ux i = 0; i < n; i++) rp[i] = (i32)s + (i32)i;
|
intRange32Fill(rp, s, n);
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
NOINLINE B intRangeF64(ux s, ux n) { // s+↕n with f64arr result
|
NOINLINE B intRangeF64(ux s, ux n) { // s+↕n with f64arr result
|
||||||
|
|||||||
@ -427,8 +427,9 @@ B rand_range_c2(B t, B w, B x) {
|
|||||||
|
|
||||||
extern Arr* bitUD[3]; // from fns.c
|
extern Arr* bitUD[3]; // from fns.c
|
||||||
extern B bit2x[2];
|
extern B bit2x[2];
|
||||||
NOINLINE B intRange16(ux s, ux n);
|
B intRange16(ux s, ux n);
|
||||||
NOINLINE B intRange32(ux s, ux n);
|
B intRange32(ux s, ux n);
|
||||||
|
void intRange32Fill(i32* xp, ux s, ux n);
|
||||||
|
|
||||||
B rand_deal_c1(B t, B x) {
|
B rand_deal_c1(B t, B x) {
|
||||||
i32 xi = o2i(x);
|
i32 xi = o2i(x);
|
||||||
@ -497,7 +498,7 @@ B rand_deal_c1(B t, B x) {
|
|||||||
b+= l;
|
b+= l;
|
||||||
}
|
}
|
||||||
TFREE(pos)
|
TFREE(pos)
|
||||||
for (usz j=i; j<n; j++) rp[j] = j;
|
intRange32Fill(rp+i, i, n-i);
|
||||||
for (; i < n; i++) {
|
for (; i < n; i++) {
|
||||||
usz j = wy2u0k(wyrand(&seed), 1+i);
|
usz j = wy2u0k(wyrand(&seed), 1+i);
|
||||||
usz c=rp[j]; rp[j]=rp[i]; rp[i]=c;
|
usz c=rp[j]; rp[j]=rp[i]; rp[i]=c;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user