#include #include #include #include #include #include // 1GB of RAM #define MASKSZ (1073741824L) #define MNUMBERS (MASKSZ*8) static uint8_t *masks; static inline __attribute__((always_inline)) uint8_t get(uint64_t idx){ register uint64_t i = idx >> 3; register uint8_t j = idx - (i<<3); return masks[i] & (1<> 3; register uint8_t j = idx - (i<<3); masks[i] &= ~(1< 1000; --last){ if(get(last)){ printf("last in list: %zd\n", last); break;} } return 0; }