/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: v2006 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object dictionary; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Do comparison. Handles the first token after then '#if', which should // correspond to a logical (true/false, ...) and integer (0,1, ...) // but also a floating-point value with 0-1 range. #if ${FOAM_API:-false} foamApi nonZero is ${FOAM_API:-0}; #else foamApi zeroValue; #endif #if ${XX_XXX_FOAM_API:-1000} other "some entry" ${XX_XXX_FOAM_API:-(0 1 0)}; #else other "unexpected"; #endif #if 0.1 roundToZero failed; #else roundToZero good with ${__expand_or_ignore_:-}; #endif #if 0.99 roundToOne good; #else roundToOne failed; #endif #if -0.1 roundNegZero failed; #else roundNegZero good; #endif #if -0.99 roundToNegOne good; #else roundToNegOne failed; #endif #if #eval "${FOAM_API:-0} >= 1910" evalType hasEvalWithConditionals; #else evalType none; #endif // Silly example, but can also force cast from scalar to bool #if #eval "bool(2 * pi())" condition true; #else condition false; #endif // Some other conditionals condition1 true; condition2 false; #if ${unknown:-${condition2:-${condition1}}} multiExpansion1 failed; #else multiExpansion1 good; #endif #if ${unknown:-${unknown:-${condition2:+true}}} multiExpansion2 good = ${unkn:-${unkn:-${condition2:+on}}}; #else multiExpansion2 failed; #endif // ************************************************************************* //