Fix single-file build by defining GRADE_UD in selfsearch.c
This commit is contained in:
parent
2844520109
commit
9862331696
@ -2,12 +2,10 @@
|
|||||||
|
|
||||||
// Radix sorting utilities
|
// Radix sorting utilities
|
||||||
// These are leaky macros and assume counts are c0, c1,...
|
// These are leaky macros and assume counts are c0, c1,...
|
||||||
// which must be adjacent in memory
|
// which must be adjacent in memory. Search functions will also need
|
||||||
|
// #define GRADE_UD(U,D) U
|
||||||
|
// to do the appropriate sums for an ascending radix sort.
|
||||||
|
|
||||||
#ifndef GRADE_UD
|
|
||||||
// Search functions need this: they always sort up
|
|
||||||
#define GRADE_UD(U,D) U
|
|
||||||
#endif
|
|
||||||
#define RDX_PRE(K) s##K=c##K[j]+=s##K
|
#define RDX_PRE(K) s##K=c##K[j]+=s##K
|
||||||
#define RDX_SUM_1(T) T s0=0; for(usz j=0;j<256;j++) { RDX_PRE(0); }
|
#define RDX_SUM_1(T) T s0=0; for(usz j=0;j<256;j++) { RDX_PRE(0); }
|
||||||
#define RDX_SUM_2(T) GRADE_UD(c1[0]=0;,) T s0=0, s1=0; for(usz j=0;j<256;j++) { RDX_PRE(0); RDX_PRE(1); }
|
#define RDX_SUM_2(T) GRADE_UD(c1[0]=0;,) T s0=0, s1=0; for(usz j=0;j<256;j++) { RDX_PRE(0); RDX_PRE(1); }
|
||||||
|
|||||||
@ -6,6 +6,7 @@
|
|||||||
B not_c1(B t, B x);
|
B not_c1(B t, B x);
|
||||||
B shape_c1(B t, B x);
|
B shape_c1(B t, B x);
|
||||||
|
|
||||||
|
#define GRADE_UD(U,D) U
|
||||||
#include "radix.h"
|
#include "radix.h"
|
||||||
u8 radix_offsets_2_u32(usz* c0, u32* v0, usz n) {
|
u8 radix_offsets_2_u32(usz* c0, u32* v0, usz n) {
|
||||||
usz rx = 256;
|
usz rx = 256;
|
||||||
@ -19,6 +20,7 @@ u8 radix_offsets_2_u32(usz* c0, u32* v0, usz n) {
|
|||||||
if ((c0+1)[(u8)(v>>16)] < n) { RADIX_SUM_1_u32; return 1; }
|
if ((c0+1)[(u8)(v>>16)] < n) { RADIX_SUM_1_u32; return 1; }
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#undef GRADE_UD
|
||||||
#define RADIX_LOOKUP_32(INIT, SETTAB) \
|
#define RADIX_LOOKUP_32(INIT, SETTAB) \
|
||||||
u8 bytes = radix_offsets_2_u32(c0, v0, n); \
|
u8 bytes = radix_offsets_2_u32(c0, v0, n); \
|
||||||
usz tim = tn/(64/sizeof(*tab)); /* sparse table init max */ \
|
usz tim = tn/(64/sizeof(*tab)); /* sparse table init max */ \
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user