1. 15 Mar, 2019 1 commit
  2. 06 Feb, 2019 1 commit
  3. 08 Aug, 2018 1 commit
    • Mark Olesen's avatar
      ENH: add missing Hash function for List/UList (issue #966) · dd9ecd49
      Mark Olesen authored
      - there were previously no hashing mechanisms for lists so they
        would fall back to the definition for primitives and hash the
        memory location of the allocated List object.
      
      - provide a UList::Hash<> sub-class for inheritance, and also a global
        specialization for UList<T>, List<T> such that the hash value for
        List<List<T>> cascades properly.
      
      - provide similar function in triFace to ensure that it remains
        similar in behaviour to face.
      
      - added SymmHash to Pair, for use when order is unimportant.
      
      STYLE: use string::hash() more consistently
      
      - no particular reason to use Hash<word>() which forwards to
        string::hash() anyhow
      dd9ecd49
  4. 09 Feb, 2018 1 commit
    • Mark Olesen's avatar
      STYLE: simplify hashing to use struct instead of class · 3e3c9739
      Mark Olesen authored
      - more consistent with STL practices for function classes.
      
      - string::hash function class now operates on std::string rather
        than Foam::string since we have now avoided inadvertent use of
        string conversion from int in more places.
      3e3c9739
  5. 22 Jun, 2012 1 commit
  6. 28 Nov, 2011 1 commit
  7. 14 Aug, 2011 1 commit
  8. 19 Jan, 2011 1 commit
  9. 14 Jan, 2011 1 commit
  10. 07 Jan, 2011 1 commit
  11. 05 Jan, 2011 2 commits
  12. 28 Jul, 2010 1 commit
  13. 29 Mar, 2010 1 commit
  14. 26 Oct, 2009 1 commit
  15. 04 Mar, 2009 1 commit
    • Mark Olesen's avatar
      Switched from old hashing functions to use Bob Jenkins' hash routine · 17548296
      Mark Olesen authored
      - If the underlying type is contiguous, FixedList hashes its storage directly.
      - Drop labelPairHash (non-commutative) from fvMeshDistribute since
        FixedList::Hash does the right thing anyhow.
      - Hash<edge> specialization is commutative, without multiplication.
      - Hash<triFace> specialization kept multiplication (but now uLabel).
        There's not much point optimizing it, since it's not used much anyhow.
      
      Misc. changes
      
      - added StaticAssert to NamedEnum.H
      - label.H / uLabel.H : define FOAM_LABEL_MAX, FOAM_ULABEL_MAX with the
        values finally used for the storage.  These can be useful for pre-processor
        checks elsewhere (although I stopped needing them in the meantime).
      17548296
  16. 27 Feb, 2009 1 commit
    • Mark Olesen's avatar
      Preliminary work on hashing · 576d9388
      Mark Olesen authored
      - Hash returns unsigned
      - FixedList templated on unsigned int
      - include uLabel.H in UList, HashTable etc. so the output function is know
        throughout
      576d9388
  17. 26 Feb, 2009 1 commit
    • Mark Olesen's avatar
      HashTable changes · a46c85f5
      Mark Olesen authored
      - make table power-of-two, but since it seems to give 1-2% performance
        improvement, maybe forget it too.
      
      - remove two-argument form of hashing classes and do the modulus direclty
        within HashTable instead. This simplifies things a fair bit.
      
      - migrate Hash<void*> from db/dlLibrary to primitives/hashes/Hash
      a46c85f5
  18. 10 Feb, 2009 1 commit
  19. 16 Jan, 2009 1 commit
  20. 31 Dec, 2008 1 commit
  21. 25 Jun, 2008 2 commits
  22. 15 Apr, 2008 1 commit