ENH: add stringOps::toScalar and dictionary #eval directive
- the #eval directive is similar to the #calc directive, but for evaluating string expressions into scalar values. It uses an internal parser for the evaluation instead of dynamic code compilation. This can make it more suitable for 'quick' evaluations. The evaluation supports the following: - operations: - + * / - functions: exp, log, log10, pow, sqrt, cbrt, sqr, mag, magSqr - trigonometric: sin, cos, tan, asin, acos, atan, atan2, hypot - hyperbolic: sinh, cosh, tanh - conversions: degToRad, radToDeg - constants: pi() - misc: rand(), rand(seed)
Showing
- applications/test/dictionary/testDictCalc1 35 additions, 0 deletionsapplications/test/dictionary/testDictCalc1
- applications/test/dictionary/testDictEval1 44 additions, 0 deletionsapplications/test/dictionary/testDictEval1
- src/OpenFOAM/Make/files 6 additions, 1 deletionsrc/OpenFOAM/Make/files
- src/OpenFOAM/db/dictionary/functionEntries/evalEntry/evalEntry.C 163 additions, 0 deletions...nFOAM/db/dictionary/functionEntries/evalEntry/evalEntry.C
- src/OpenFOAM/db/dictionary/functionEntries/evalEntry/evalEntry.H 101 additions, 0 deletions...nFOAM/db/dictionary/functionEntries/evalEntry/evalEntry.H
- src/OpenFOAM/primitives/strings/parsing/genericRagelLemonDriver.C 192 additions, 0 deletions...FOAM/primitives/strings/parsing/genericRagelLemonDriver.C
- src/OpenFOAM/primitives/strings/parsing/genericRagelLemonDriver.H 150 additions, 0 deletions...FOAM/primitives/strings/parsing/genericRagelLemonDriver.H
- src/OpenFOAM/primitives/strings/parsing/parsing.H 2 additions, 1 deletionsrc/OpenFOAM/primitives/strings/parsing/parsing.H
- src/OpenFOAM/primitives/strings/stringOps/stringOps.H 3 additions, 0 deletionssrc/OpenFOAM/primitives/strings/stringOps/stringOps.H
- src/OpenFOAM/primitives/strings/stringOps/toScalar/createCode 11 additions, 0 deletions...OpenFOAM/primitives/strings/stringOps/toScalar/createCode
- src/OpenFOAM/primitives/strings/stringOps/toScalar/evalStringToScalar.H 69 additions, 0 deletions...rimitives/strings/stringOps/toScalar/evalStringToScalar.H
- src/OpenFOAM/primitives/strings/stringOps/toScalar/evalStringToScalarDriver.C 72 additions, 0 deletions...ves/strings/stringOps/toScalar/evalStringToScalarDriver.C
- src/OpenFOAM/primitives/strings/stringOps/toScalar/evalStringToScalarDriver.H 120 additions, 0 deletions...ves/strings/stringOps/toScalar/evalStringToScalarDriver.H
- src/OpenFOAM/primitives/strings/stringOps/toScalar/evalStringToScalarLemonParser.h 35 additions, 0 deletions...trings/stringOps/toScalar/evalStringToScalarLemonParser.h
- src/OpenFOAM/primitives/strings/stringOps/toScalar/evalStringToScalarLemonParser.lyy 290 additions, 0 deletions...ings/stringOps/toScalar/evalStringToScalarLemonParser.lyy
- src/OpenFOAM/primitives/strings/stringOps/toScalar/evalStringToScalarParser.H 96 additions, 0 deletions...ves/strings/stringOps/toScalar/evalStringToScalarParser.H
- src/OpenFOAM/primitives/strings/stringOps/toScalar/evalStringToScalarScanner.H 99 additions, 0 deletions...es/strings/stringOps/toScalar/evalStringToScalarScanner.H
- src/OpenFOAM/primitives/strings/stringOps/toScalar/evalStringToScalarScanner.cc 1426 additions, 0 deletions...s/strings/stringOps/toScalar/evalStringToScalarScanner.cc
- src/OpenFOAM/primitives/strings/stringOps/toScalar/evalStringToScalarScanner.rl 229 additions, 0 deletions...s/strings/stringOps/toScalar/evalStringToScalarScanner.rl
Please register or sign in to comment