| 166 | } |
| 167 | |
| 168 | void State::verify() |
| 169 | { |
| 170 | /* verify that calculations stay in range */ |
| 171 | assert(rcp(min_rcp_input)*FLT_LARGE+FLT_LARGE < 0.01f*FLT_MAX); |
| 172 | |
| 173 | /* here we verify that CPP files compiled for a specific ISA only |
| 174 | * call that same or lower ISA version of non-inlined class member |
| 175 | * functions */ |
| 176 | #if defined(DEBUG) |
| 177 | #if defined(EMBREE_TARGET_SSE2) |
| 178 | #if !defined(__ARM_NEON) |
| 179 | assert(sse2::getISA() <= SSE2); |
| 180 | #endif |
| 181 | #endif |
| 182 | #if defined(EMBREE_TARGET_SSE42) |
| 183 | assert(sse42::getISA() <= SSE42); |
| 184 | #endif |
| 185 | #if defined(EMBREE_TARGET_AVX) |
| 186 | assert(avx::getISA() <= AVX); |
| 187 | #endif |
| 188 | #if defined(EMBREE_TARGET_AVX2) |
| 189 | assert(avx2::getISA() <= AVX2); |
| 190 | #endif |
| 191 | #if defined (EMBREE_TARGET_AVX512) |
| 192 | assert(avx512::getISA() <= AVX512); |
| 193 | #endif |
| 194 | #endif |
| 195 | } |
| 196 | |
| 197 | const char* symbols[3] = { "=", ",", "|" }; |
| 198 | |