#include #include #include #include "minimal_rtklib.h" using namespace std; #ifdef WITHOUT_FILE void rtkprintstat(int level, const char *str, ...){} int trace_vprintf(const char *format, va_list ap){ int res; res = vfprintf(stderr, format, ap); fflush(stderr); return res; } #endif int main(int argc, char *argv[]){ unsigned int seed((unsigned)time(NULL)); for(int arg_index(1); arg_index < argc; arg_index++){ int tmp; if(sscanf(argv[arg_index], "--verbose=%d", &tmp) >= 1){ if(tmp >= 0){tracelevel(tmp);} }else{ seed = atoi(argv[arg_index]); } } srand(seed); fprintf(stderr, "Case: %d\r\n", seed); unsigned char buf[128]; for(int i(0); i < sizeof(buf); i++){ buf[i] = rand() & 0xFF; } fprintf(stderr, "--------------------\r\n"); unsigned int res1(crc24q(buf, sizeof(buf))); fprintf(stderr, "Res(0): 0x%08x\r\n", res1); for(int shift(1); shift < 8; shift++){ fprintf(stderr, "--------------------\r\n"); unsigned char tmp((buf[0] >> 7) & 0x01); for(int i(0), j(1); j < sizeof(buf); i++, j++){ (buf[i] <<= 1) |= ((buf[j] >> 7) & 0x01); } (buf[sizeof(buf) - 1] <<= 1) |= tmp; unsigned int res2(crc24q(buf, sizeof(buf))); fprintf(stderr, "Res(%d): 0x%08x\r\n", shift, res2); } return 0; }