f64 hal::os::Clock::Get() const { s64 c; ::NtQueryPerformanceCounter((PLARGE_INTEGER)&c, 0); return f64(c) * m_qpc_factor; }
hal::os::Clock::Clock(int) { ULONG dummy; s64 pca, pcb, pcf, tsca, tscb; f64 interval; int const times = 16; int const retries = 5; ::NtQueryTimerResolution(&dummy, &m_max_resolution, &m_old_resolution); ::NtSetTimerResolution(m_max_resolution, TRUE, &dummy); ::NtQueryPerformanceCounter((PLARGE_INTEGER)&pca, (PLARGE_INTEGER)&pcf); m_qpc_frequency = f64(pcf); m_qpc_factor = 1000000.0 / m_qpc_frequency; m_qpc_resolution = f64(m_max_resolution) / 10.0; m_tsc_frequency = 0; f64 frequency = 0.0; __ThreadPriority(THREAD_PRIORITY_TIME_CRITICAL) { for (int j = 0; j < times; ++j) { for (int i = 0; i < retries; ++i) { ReadCounters(tsca, pca); do { ReadCounters(tscb, pcb); interval = f64(pcb - pca) * m_qpc_factor; } while (interval < 1000.0); if (interval < 1001.0) { frequency += f64(tscb - tsca) / interval; break; } } } } m_tsc_frequency = s64(frequency / f64(times)); }
void cmBezierPatchControlGroup3x3_s::tesselate( u32 level, class colMeshBuilderAPI_i* out ) { // calculate how many vertices across/down there are arraySTD_c<vec3_c> column[3]; column[0].resize( level + 1 ); column[1].resize( level + 1 ); column[2].resize( level + 1 ); const f64 w = 0.0 + ( 1.0 / f64( level ) ); // tesselate along the columns for ( s32 j = 0; j <= level; j++ ) { const f64 f = w * ( f64 ) j; for ( u32 c = 0; c < 3; c++ ) { G_GetInterpolated_quadraticn( 3, column[c][j], verts[c], verts[3 + c], verts[6 + c], f ); } } const u32 idx = out->getNumVerts(); // tesselate across the rows to get final vertices vec3_c f; for ( s32 j = 0; j <= level; ++j ) { for ( s32 k = 0; k <= level; ++k ) { G_GetInterpolated_quadraticn( 3, f, column[0][j], column[1][j], column[2][j], w * ( f64 ) k ); out->addVert( f ); } } //ibo.reallocate(ibo.size()+6*level*level); // connect for ( s32 j = 0; j < level; ++j ) { for ( s32 k = 0; k < level; ++k ) { const s32 inx = idx + ( k * ( level + 1 ) ) + j; out->addIndex( inx + 0 ); out->addIndex( inx + ( level + 1 ) + 0 ); out->addIndex( inx + ( level + 1 ) + 1 ); out->addIndex( inx + 0 ); out->addIndex( inx + ( level + 1 ) + 1 ); out->addIndex( inx + 1 ); } } }
int main(void) { f0(); f1(); f2(); f3(); f4(); f5(); f6(); f7(); f8(); f9(); f10(); f11(); f12(); f13(); f14(); f15(); f16(); f17(); f18(); f19(); f20(); f21(); f22(); f23(); f24(); f25(); f26(); f27(); f28(); f29(); f30(); f31(); f32(); f33(); f34(); f35(); f36(); f37(); f38(); f39(); f40(); f41(); f42(); f43(); f44(); f45(); f46(); f47(); f48(); f49(); f50(); f51(); f52(); f53(); f54(); f55(); f56(); f57(); f58(); f59(); f60(); f61(); f62(); f63(); f64(); f65(); f66(); f67(); f68(); f69(); f70(); f71(); f72(); f73(); f74(); f75(); f76(); f77(); f78(); f79(); f80(); f81(); f82(); f83(); f84(); f85(); f86(); f87(); f88(); f89(); f90(); f91(); f92(); f93(); f94(); f95(); f96(); f97(); f98(); f99(); f100(); f101(); f102(); f103(); f104(); f105(); f106(); f107(); f108(); f109(); f110(); f111(); f112(); f113(); f114(); f115(); f116(); f117(); f118(); f119(); f120(); f121(); f122(); f123(); f124(); f125(); f126(); f127(); f128(); f129(); f130(); f131(); f132(); f133(); f134(); f135(); f136(); f137(); f138(); f139(); f140(); f141(); f142(); f143(); f144(); f145(); f146(); f147(); f148(); f149(); f150(); f151(); f152(); f153(); f154(); f155(); f156(); f157(); f158(); f159(); f160(); f161(); f162(); f163(); f164(); f165(); f166(); f167(); f168(); f169(); f170(); f171(); f172(); f173(); f174(); f175(); f176(); f177(); f178(); f179(); f180(); f181(); f182(); f183(); f184(); f185(); f186(); f187(); f188(); f189(); f190(); f191(); f192(); f193(); f194(); f195(); f196(); f197(); f198(); f199(); return 0; }
int main(void) { f0(); f1(); f2(); f3(); f4(); f5(); f6(); f7(); f8(); f9(); f10(); f11(); f12(); f13(); f14(); f15(); f16(); f17(); f18(); f19(); f20(); f21(); f22(); f23(); f24(); f25(); f26(); f27(); f28(); f29(); f30(); f31(); f32(); f33(); f34(); f35(); f36(); f37(); f38(); f39(); f40(); f41(); f42(); f43(); f44(); f45(); f46(); f47(); f48(); f49(); f50(); f51(); f52(); f53(); f54(); f55(); f56(); f57(); f58(); f59(); f60(); f61(); f62(); f63(); f64(); f65(); f66(); f67(); f68(); f69(); f70(); f71(); f72(); f73(); f74(); f75(); f76(); f77(); f78(); f79(); f80(); f81(); f82(); f83(); f84(); f85(); f86(); f87(); f88(); f89(); f90(); f91(); f92(); f93(); f94(); f95(); f96(); f97(); f98(); f99(); f100(); f101(); f102(); f103(); f104(); f105(); f106(); f107(); f108(); f109(); f110(); f111(); f112(); f113(); f114(); f115(); f116(); f117(); f118(); f119(); f120(); f121(); f122(); f123(); return 0; }
aeabi_double_t __aeabi_ddiv(aeabi_double_t a, aeabi_double_t b) { return d(f64_div(f64(a), f64(b))); }
aeabi_double_t __aeabi_dmul(aeabi_double_t a, aeabi_double_t b) { return d(f64_mul(f64(a), f64(b))); }
int __aeabi_d2iz(aeabi_double_t x) { return f64_to_i32_r_minMag(f64(x), 0); }
aeabi_double_t __aeabi_dsub(aeabi_double_t a, aeabi_double_t b) { return d(f64_sub(f64(a), f64(b))); }
aeabi_double_t __aeabi_dadd(aeabi_double_t a, aeabi_double_t b) { return d(f64_add(f64(a), f64(b))); }
int __aeabi_dcmpun(aeabi_double_t a, aeabi_double_t b) { return !f64_eq(f64(a), f64(a)) || !f64_eq(f64(b), f64(b)); }
int __aeabi_dcmplt(aeabi_double_t a, aeabi_double_t b) { return f64_lt(f64(a), f64(b)); }
int __aeabi_dcmpge(aeabi_double_t a, aeabi_double_t b) { return f64_le(f64(b), f64(a)); }
int __aeabi_dcmpeq(aeabi_double_t a, aeabi_double_t b) { return f64_eq(f64(a), f64(b)); }
aeabi_float_t __aeabi_d2f(aeabi_double_t d) { return f(f64_to_f32(f64(d))); }
int main(void) { f0(); f1(); f2(); f3(); f4(); f5(); f6(); f7(); f8(); f9(); f10(); f11(); f12(); f13(); f14(); f15(); f16(); f17(); f18(); f19(); f20(); f21(); f22(); f23(); f24(); f25(); f26(); f27(); f28(); f29(); f30(); f31(); f32(); f33(); f34(); f35(); f36(); f37(); f38(); f39(); f40(); f41(); f42(); f43(); f44(); f45(); f46(); f47(); f48(); f49(); f50(); f51(); f52(); f53(); f54(); f55(); f56(); f57(); f58(); f59(); f60(); f61(); f62(); f63(); f64(); f65(); f66(); f67(); f68(); f69(); return 0; }