1. 13 Apr, 2018 1 commit
  2. 12 Apr, 2018 1 commit
    • Mark Olesen's avatar
      STYLE: reorder/refactor stream format options · 4cf932b2
      Mark Olesen authored
      - IOstreamOption class to encapsulate format, compression, version.
        This is ordered to avoid internal padding in the structure, which
        reduces several bytes of memory overhead for stream objects
        and other things using this combination of data.
      
        Byte-sizes:
            old  IOstream:48  PstreamBuffers:88  Time:928
            new  IOstream:24  PstreamBuffers:72  Time:904
      
      ====
      
      STYLE: remove support for deprecated uncompressed/compressed selectors
      
      In older versions, the system/controlDict used these types of
      specifications:
      
          writeCompression uncompressed;
          writeCompression compressed;
      
      As of DEC-2009, these were deprecated in favour of using normal switch
      names:
      
          writeCompression true;
          writeCompression false;
          writeCompression on;
          writeCompression off;
      
      Now removed these deprecated names and treat like any other unknown
      input and issue a warning. Eg,
      
         Unknown compression specifier 'compressed', assuming no compression
      
      ====
      
      STYLE: provide Enum of stream format names (ascii, binary)
      
      ====
      
      COMP: fixed incorrect IFstream construct in FIREMeshReader
      
      - spurious bool argument (presumably meant as uncompressed) was being
        implicitly converted to a versionNumber. Now caught by making
        IOstreamOption::versionNumber constructor explicit.
      
      - bad version specifier in changeDictionary
      4cf932b2
  3. 18 Apr, 2018 3 commits
  4. 17 Apr, 2018 1 commit
  5. 28 Mar, 2018 1 commit
  6. 27 Mar, 2018 2 commits
  7. 22 Mar, 2018 1 commit
  8. 16 Apr, 2018 1 commit
    • Mark Olesen's avatar
      ENH: add alternative STL ASCII parsers · ea71484e
      Mark Olesen authored
      - In addition to the traditional Flex-based parser, added a Ragel-based
        parser and a handwritten one.
      
        Some representative timings for reading 5874387 points (1958129 tris):
      
            Flex   Ragel   Manual
            5.2s   4.8s    6.7s         total reading time
            3.8s   3.4s    5.3s         without point merging
      ea71484e
  9. 13 Apr, 2018 1 commit
  10. 12 Apr, 2018 1 commit
  11. 11 Apr, 2018 3 commits
  12. 09 Apr, 2018 1 commit
  13. 12 Apr, 2018 1 commit
  14. 11 Apr, 2018 1 commit
  15. 10 Apr, 2018 1 commit
    • Mark Olesen's avatar
      ENH: additional text expansion shortcuts (issue #792) · a9741cea
      Mark Olesen authored
      Support the following expansions when they occur at the start of a
      string:
      
          Short-form       Equivalent
          =========       ===========
            <etc>/          ~OpenFOAM/   (as per foamEtcFile)
            <case>/         $FOAM_CASE/
            <constant>/     $FOAM_CASE/constant/
            <system>/       $FOAM_CASE/system/
      
      These can be used in fileName expansions to improve clarity and reduce
      some typing
      
           "<constant>/reactions"   vs  "$FOAM_CASE/constant/reactions"
      a9741cea
  16. 09 Apr, 2018 1 commit
    • Mark Olesen's avatar
      ENH: provide Rand48 as generator in the expected C++11 form · b85d0b5c
      Mark Olesen authored
      - this removes an OS-specific dependency (eg, drand48_r is not POSIX)
        and allows easier use of other random number generators.
      
        The Rand48 generator has identical behaviour and period as the
        lrand48() library routine, but holds its own seed and state
        (which makes it re-entrant) and can be combined with other
        random distributions.
      
        However, when using the modified form to obtain scalar values
        they will not be identical to what drand48() yields.
      
        This is because drand48() uses the raw 48-bit values to directly
        set the mantissa of an IEEE double where as the newer distribution
        normalizes based on the 32-bit value.
      
      STYLE: simplify code in Random::shuffle and use Swap
      b85d0b5c
  17. 11 Apr, 2018 2 commits
  18. 06 Apr, 2018 1 commit
  19. 05 Apr, 2018 1 commit
  20. 03 Apr, 2018 6 commits
  21. 28 Mar, 2018 1 commit
  22. 27 Mar, 2018 1 commit
  23. 26 Mar, 2018 2 commits
    • Mark Olesen's avatar
      ENH: reduce profiling overhead (issue #764) · d901b4f4
      Mark Olesen authored
      - avoid clockTime in favour of clockValue.
      
      - avoid allocations when profiling is not active.
      
      - replace hashing with manual pointer lists
      d901b4f4
    • Mark Olesen's avatar
      STYLE: consistent lookupOrDefault template parameters · 36719bf5
      Mark Olesen authored
      - in many cases can just use lookupOrDefault("key", bool) instead of
        lookupOrDefault<bool> or lookupOrDefault<Switch> since reading a
        bool from an Istream uses the Switch(Istream&) anyhow
      
      STYLE: relocated Switch string names into file-local scope
      36719bf5
  24. 22 Mar, 2018 2 commits
  25. 21 Mar, 2018 3 commits