//========================================================================================= /*virtual*/ bool GAVisToolReduceBivectorFunctionEvaluator::EvaluateResult( CalcLib::Number& result, CalcLib::Environment& environment ) { bool success = false; do { if( GetArgumentCount() != 1 ) { environment.AddError( "The reduce-bivector function expects one and only one argument." ); break; } CalcLib::FunctionArgumentEvaluator* argument = GetArgument(0); if( !argument->EvaluateResult( result, environment ) ) break; CalcLib::GeometricAlgebraEnvironment gaEnv; if( !gaEnv.StoreVariable( "bivector", result ) ) break; if( !reductionEvaluator->EvaluateResult( result, gaEnv ) ) break; success = true; } while( false ); return success; }
int cConsoleApplication::Run() { bool bIsSuccessfulRun = true; bool bIsHandledAlready = false; const size_t n = GetArgumentCount(); if (n == 1) { const string_t sArgument0 = GetArgument(0); if ((sArgument0 == TEXT("-help")) || (sArgument0 == TEXT("--help"))) { bIsHandledAlready = true; _PrintHelp(); } else if ((sArgument0 == TEXT("-version")) || (sArgument0 == TEXT("--version"))) { bIsHandledAlready = true; PrintVersion(); } } if (!bIsHandledAlready) bIsSuccessfulRun = _Run(); return (bIsSuccessfulRun) ? EXIT_SUCCESS : EXIT_FAILURE; }