1. 04 Jun, 2020 2 commits
    • Mark OLESEN's avatar
      ENH: boolVector for specialized bundling of boolean values · ea4c8f4b
      Mark OLESEN authored
      - bundled of boolean values as a vector of 3 components with
        element access using x(), y() and z() member functions.
        It also has some methods similar to bitSet.
      
      - Not derived from Vector or VectorSpace since it does not share very
        many vector-like characteristics.
      ea4c8f4b
    • Mark OLESEN's avatar
      ENH: additional polynomial constructors, improved I/O · bc9e97cf
      Mark OLESEN authored
      - support construct from initializer_list, which can help simplify
        code with constant coefficients.
      
      - add default constructor for polynomialFunction and Istream reading
        to support resizable lists of polynomialFunction.
      
        A default constructed polynomialFunction is simply equivalent to
        a constant zero.
      
      - no special IO handling for Polynomial required,
        it is the same as VectorSpace anyhow.
      bc9e97cf
  2. 02 Jun, 2020 2 commits
    • Mark OLESEN's avatar
      ENH: unify use of dictionary method names · 3e43edf0
      Mark OLESEN authored
      - previously introduced `getOrDefault` as a dictionary _get_ method,
        now complete the transition and use it everywhere instead of
        `lookupOrDefault`. This avoids mixed usage of the two methods that
        are identical in behaviour, makes for shorter names, and promotes
        the distinction between "lookup" access (ie, return a token stream,
        locate and return an entry) and "get" access (ie, the above with
        conversion to concrete types such as scalar, label etc).
      3e43edf0
    • Mark OLESEN's avatar
      ENH: support predicate checks for argList (similar to dictionary methods) · 31b17221
      Mark OLESEN authored
      - Favour use of argList methods that are more similar to dictionary
        method names with the aim of reducing the cognitive load.
      
        * Silently deprecate two-parameter get() method in favour of the
          more familiar getOrDefault.
        * Silently deprecate opt() method in favour of get()
      
        These may be verbosely deprecated in future versions.
      31b17221
  3. 31 May, 2020 1 commit
  4. 29 May, 2020 5 commits
    • Mark OLESEN's avatar
      ENH: provide lightweight labelFwd, scalarFwd headers · 1d7d5b2d
      Mark OLESEN authored
      - centralizes sizing information and typedefs
        without dependencies beyond <cstdint>
      
      COMP: ensure label typedef exists for nullObject.H
      1d7d5b2d
    • Mark OLESEN's avatar
      STYLE: include scalar.H instead of floatScalar.H/doubleScalar.H separately · 727ea48e
      Mark OLESEN authored
      STYLE: adjust code comments
      727ea48e
    • Mark OLESEN's avatar
      ENH: add swallow assignment to nullObject · 1d2391e0
      Mark OLESEN authored
      - similar to the behaviour of std::ignore and consistent with the
        no input / no output nature of nullObject. Similarly accept a
        const reference for its Istream operator.
      
      - make most nullObject methods constexpr
      1d2391e0
    • Mark OLESEN's avatar
      ENH: inline and extend clockValue, clockTime · e3367dbd
      Mark OLESEN authored
      - mostly wraps std::chrono so can inline much of it, which is potentially
        helpful when used for inner timings.
      
      - add elapsedTime() method for direct cast to double and for
        naming similarity with wall-clock method.
      
      Potential breaking change (minor):
      
      - clockValue construct with a bool parameter is now simply tagged
        dispatch (value is ignored) and always queries the current clock
        value. This avoids needless branching.
        Since this constructor form has primarily been used internally (eg,
        clockTime), breakages in user code are not expected.
      e3367dbd
    • Mark OLESEN's avatar
      ENH: reduce dependencies for foamVersion.H · 5eebe505
      Mark OLESEN authored
      - have printBuildInfo output to std::ostream
      - removed extraneous include "stdFoam.H"
      
      ENH: revert to pre-processor defines for hard-coded paths (#1712)
      
      - redundant information, but more robust at run-time without relying
        on initialization order
      5eebe505
  5. 26 May, 2020 1 commit
  6. 23 May, 2020 6 commits
  7. 20 May, 2020 1 commit
  8. 18 May, 2020 2 commits
  9. 14 May, 2020 1 commit
  10. 13 May, 2020 3 commits
  11. 12 May, 2020 1 commit
    • Mark OLESEN's avatar
      ENH: add 'subcommand' handling to wmake (#1693) · 9e3d0685
      Mark OLESEN authored
      - initial split of wmake-related commands into "plumbing" and
        "porcelain" akin to how git handles things.
      
      - wmakeBuildInfo (very low-level), now relocated to the wmake/scripts
        and accessible for the user as "wmake -build-info".
      
        This satisfies a long-standing desire to access build information
        in a fashion similar to the api/patch information.
      
      CONFIG: avoid git information when building with a debian/ directory
      
      - when a 'debian/' directory exists, there is a high probability that
        the '.git/' directory is from debian and not from OpenFOAM (ie,
        useless here). This corresponds to an implicit '-no-git', which has
        no effect when building from pristine sources.
      
      ENH: wmakeCheckPwd becomes scripts/wmake-check-dir
      
      - accessible for the user as "wmake -check-dir" and with 1 or 2
        directory names. A wmakeCheckPwd symlink left for compatibility.
      9e3d0685
  12. 11 May, 2020 4 commits
  13. 04 May, 2020 2 commits
    • Mark OLESEN's avatar
      ENH: support token conversion of scalar to label (#1696) · 77a2c1b5
      Mark OLESEN authored
      - this specifically arises in the case we have used the `#eval` syntax
        to generate a value.
        However, since the expressions produce scalar/vector/tensor etc, the
        tokenized value will *not* be introduced into the dictionary as a
        label, even if it appears to be an integer value.
      
        Eg, eval "2*5", eval "sqrt(100)" both yield `scalar(100)`, which
        will not be suitable for any consumer expecting a label value.
      
        With the `#calc` version, this problem is glossed over since it uses a
        string buffer for the output (which can suppress the decimal)
        and re-parses the string into tokens, which causes a label to be
        recognized.
      
      - Since we obviously already support implicit handling of ints as
        floats (when reading), now also allow conversion of float
        representations of integral values.
      
        Uses the ad hoc value of 1e-4 for deciding if the value deviates too
        far from being integral.
      
      - As a side-effect, can now also support scientific notation when
        specifying integers.  Eg, (10 100 1e+3) for cell counts.
      77a2c1b5
    • Mark OLESEN's avatar
      STYLE: some general spelling fixes · 8cfb4830
      Mark OLESEN authored
      8cfb4830
  14. 01 May, 2020 2 commits
  15. 30 Apr, 2020 2 commits
  16. 28 Apr, 2020 5 commits