bool UnitTest::TestAll() { cout << endl << "Testing all modules" << endl; bool temp_result; temp_result = TestMath(); cout << endl << "Math test: "; if (temp_result) { cout << "succeeded" << endl << endl; } else { cout << "failed" << endl << endl; return false; } temp_result = Test2D(); cout << endl << "2D test: "; if (temp_result) { cout << "succeeded" << endl << endl; } else { cout << "failed" << endl << endl; return false; } temp_result = Test3D(); cout << endl << "3D test: "; if (temp_result) { cout << "succeeded" << endl << endl; } else { cout << "failed" << endl << endl; return false; } return true; }
/* ============ idSIMD::Test_f ============ */ void idSIMD::Test_f( const idCmdArgs &args ) { SetThreadPriority( GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL ); p_simd = processor; p_generic = generic; if ( idStr::Length( args.Argv( 1 ) ) != 0 ) { cpuid_t cpuid = idLib::sys->GetProcessorId(); idStr argString = args.Args(); argString.Replace( " ", "" ); if ( idStr::Icmp( argString, "SSE" ) == 0 ) { if ( !( cpuid & CPUID_MMX ) || !( cpuid & CPUID_SSE ) ) { common->Printf( "CPU does not support MMX & SSE\n" ); return; } p_simd = new (TAG_MATH) idSIMD_SSE; } else { common->Printf( "invalid argument, use: MMX, 3DNow, SSE, SSE2, SSE3, AltiVec\n" ); return; } } idLib::common->SetRefreshOnPrint( true ); idLib::common->Printf( "using %s for SIMD processing\n", p_simd->GetName() ); GetBaseClocks(); TestMath(); TestMinMax(); TestMemcpy(); TestMemset(); idLib::common->Printf("====================================\n" ); TestBlendJoints(); TestBlendJointsFast(); TestConvertJointQuatsToJointMats(); TestConvertJointMatsToJointQuats(); TestTransformJoints(); TestUntransformJoints(); idLib::common->Printf("====================================\n" ); idLib::common->SetRefreshOnPrint( false ); if ( p_simd != processor ) { delete p_simd; } p_simd = NULL; p_generic = NULL; SetThreadPriority( GetCurrentThread(), THREAD_PRIORITY_NORMAL ); }
/*** * PURPOSE: Main program function * RETURN: Always 0 * PARAM: [IN] argc - the number of CL parameters * PARAM: [IN] argv - CL parameters * AUTHOR: Eliseev Dmitry ***/ VEINT main( VEINT argc, VEBUFFER argv[] ) { VECONFIGURATION cfg = VEGetConfigurationDefault(); cfg.m_EnableLogger = TRUE; cfg.m_EnableDatabaseSystem = TRUE; //cfg.m_EnableVideoSystem = TRUE; cfg.m_KeyboardProcessor = KeyboardProcessor; cfg.m_Constructor = Constructor; cfg.m_Destructor = Destructor; cfg.m_ArgsCount = argc; cfg.m_Arguments = argv; //cfg.m_EnableFullScreen = TRUE; cfg.m_EnableShaders = TRUE; VEConfigure(&cfg); /* Initialize Venta engine */ VEInit(); /* Test argumets */ printf("Argument 'arg1' defined: %d\n", VEIsArgumentDefined("arg1")); printf("Argument 'arg2' defined: %d\n", VEIsArgumentDefined("arg2")); printf("Argument 'arg3' defined: %d\n", VEIsArgumentDefined("arg3")); printf("Argument 'flag' defined: %d\n", VEIsArgumentDefined("flag")); printf("Argument 'test' defined: %d\n", VEIsArgumentDefined("test")); if (VEIsArgumentDefined("arg2")) printf("Argument 'arg2' value = %s\n", VEArgumentGetValue("arg2")); /* Start test thread */ //VEThreadCreate(SomeGameLogic, NULL); //TestMemory(); //TestThreads(); //TestPool(); //TestStrings(); //TestDatabase(); //TestStructures(); //TestQueueStack(); //TestTime(); //TestGraphics(); TestMath(); //VERun(); /* Deinitialize Venta engine */ VEDeinit(); return 0; } /* End of 'main' function */
main() { while (!feof(stdin)) { //пока файл не закончится char *s = GetString(); //находим строку if (!s) continue; while (TestMath(s)); //пока строка содержит мат. выражения преобразуем её PrintString(s); //выводим строку на экран free(s); } return 0; }