ascending/descending flag
This commit is contained in:
parent
9494ef7b9f
commit
f5ace72b27
@ -102,10 +102,15 @@ B GRADE_CAT(c2)(B t, B w, B x) {
|
|||||||
if (wia>I32_MAX-10) thrM(GRADE_CHR": 𝕨 too big");
|
if (wia>I32_MAX-10) thrM(GRADE_CHR": 𝕨 too big");
|
||||||
i32* rp; B r = m_i32arrc(&rp, x);
|
i32* rp; B r = m_i32arrc(&rp, x);
|
||||||
|
|
||||||
|
u8 fl = GRADE_UD(fl_asc,fl_dsc);
|
||||||
|
|
||||||
if (we==el_i32 & xe==el_i32) {
|
if (we==el_i32 & xe==el_i32) {
|
||||||
i32* wi = i32any_ptr(w);
|
i32* wi = i32any_ptr(w);
|
||||||
i32* xi = i32any_ptr(x);
|
i32* xi = i32any_ptr(x);
|
||||||
if (CHECK_VALID) for (i64 i = 0; i < (i64)wia-1; i++) if ((wi[i]-wi[i+1]) GRADE_UD(>,<) 0) thrM(GRADE_CHR": 𝕨 must be sorted"GRADE_UD(," in descending order"));
|
if (CHECK_VALID && !FL_HAS(w,fl)) {
|
||||||
|
for (i64 i = 0; i < (i64)wia-1; i++) if ((wi[i]-wi[i+1]) GRADE_UD(>,<) 0) thrM(GRADE_CHR": 𝕨 must be sorted"GRADE_UD(," in descending order"));
|
||||||
|
FL_SET(w,fl);
|
||||||
|
}
|
||||||
|
|
||||||
for (usz i = 0; i < xia; i++) {
|
for (usz i = 0; i < xia; i++) {
|
||||||
i32 c = xi[i];
|
i32 c = xi[i];
|
||||||
@ -120,7 +125,10 @@ B GRADE_CAT(c2)(B t, B w, B x) {
|
|||||||
} else {
|
} else {
|
||||||
SGetU(w)
|
SGetU(w)
|
||||||
SGetU(x)
|
SGetU(x)
|
||||||
if (CHECK_VALID) for (i64 i = 0; i < (i64)wia-1; i++) if (compare(GetU(w,i), GetU(w,i+1)) GRADE_UD(>,<) 0) thrM(GRADE_CHR": 𝕨 must be sorted"GRADE_UD(," in descending order"));
|
if (CHECK_VALID && !FL_HAS(w,fl)) {
|
||||||
|
for (i64 i = 0; i < (i64)wia-1; i++) if (compare(GetU(w,i), GetU(w,i+1)) GRADE_UD(>,<) 0) thrM(GRADE_CHR": 𝕨 must be sorted"GRADE_UD(," in descending order"));
|
||||||
|
FL_SET(w,fl);
|
||||||
|
}
|
||||||
|
|
||||||
for (usz i = 0; i < xia; i++) {
|
for (usz i = 0; i < xia; i++) {
|
||||||
B c = GetU(x,i);
|
B c = GetU(x,i);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user