#pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define A8_SAFE_DELETE(p) { if(p){delete(p); (p)=nullptr;} } #define A8_DEFINE_RANGE_BIT(type, begin, end) ((((type)1) << (end + 1)) - 1) & (~((((type)1) << (begin + 0)) - 1)) #define A8_ABORT() do{printf("abort file:%s line:%d func:%s\n", __FILE__, __LINE__, __func__);fflush(stdout);fflush(stderr);abort();}while(0); const float A8_PI = 3.1415926f;