1. 23 Nov, 2009 1 commit
  2. 12 Nov, 2009 1 commit
  3. 04 Nov, 2009 1 commit
  4. 03 Nov, 2009 2 commits
  5. 26 Oct, 2009 1 commit
  6. 13 Aug, 2009 1 commit
  7. 10 Aug, 2009 1 commit
  8. 23 Jul, 2009 2 commits
  9. 25 Jun, 2009 1 commit
  10. 23 Jun, 2009 1 commit
  11. 22 Jun, 2009 2 commits
  12. 18 Jun, 2009 1 commit
  13. 18 May, 2009 1 commit
    • Mark Olesen's avatar
      introduce readList<T> function · a0a9cd33
      Mark Olesen authored
      - Read a bracket-delimited list, or handle a single value as list of size 1.
        Mostly useful for handling command-line arguments.
        eg,
            if (args.options().found("patches"))
            {
                patches = readList<word>(IStringStream(args.options()["patches"])());
            }
        can handle both of these:
            -patches  patch0
            -patches \( patch1 patch2 patch3 \)
      a0a9cd33
  14. 27 Apr, 2009 1 commit
    • Mark Olesen's avatar
      consistency update · 48247a3d
      Mark Olesen authored
      - DynamicList gets append methods as per List
      - misc cosmetic changes
      48247a3d
  15. 22 Apr, 2009 1 commit
  16. 21 Apr, 2009 1 commit
  17. 16 Mar, 2009 2 commits
  18. 12 Mar, 2009 3 commits
  19. 10 Mar, 2009 1 commit
  20. 04 Mar, 2009 2 commits
    • Mark Olesen's avatar
      96118536
    • 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
  21. 27 Feb, 2009 4 commits
    • Mark Olesen's avatar
      StaticAssert added · 106d417d
      Mark Olesen authored
      - catch people using silly template sizes for FixedList, PackedList
      106d417d
    • mattijs's avatar
      operator== on result of operator[] behaves weird · 0f7b03e6
      mattijs authored
      0f7b03e6
    • Mark Olesen's avatar
      PackedList iterator bugfix · dbc9b742
      Mark Olesen authored
      - compare iteratorBase == iteratorBase by value, not position
        thus this works
            list[a] == list[b] ...
      
      - compare iterator == iteratorBase and const_iterator == iteratorBase
        by position, not value. The inheritance rules means that this works:
            iter == list.end() ...
        this will compare positions:
            iter == list[5];
        Of course, this will still compare values:
            *iter == list[5];
      dbc9b742
    • 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
  22. 26 Feb, 2009 2 commits
    • 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
    • Mark Olesen's avatar
      PackedList bugfix, HashTable tweak · 2aeee852
      Mark Olesen authored
      - it was possible to create a PackedList::iterator from a
        PackedList::const_iterator and violate const-ness
      
      - added HashTable::printInfo for emitting some information
      
      - changed default table sizes from 100 -> 128 in preparation for future
        2^n table sizes
      2aeee852
  23. 25 Feb, 2009 1 commit
  24. 06 Feb, 2009 1 commit
    • Mark Olesen's avatar
      consistency update · 69918f23
      Mark Olesen authored
      - OSspecific: chmod() -> chMod(), even although it's not used anywhere
      
      - ListOps get subset() and inplaceSubset() templated on BoolListType
      
      - added UList<bool>::operator[](..) const specialization.
        Returns false (actually pTraits<bool>::zero) for out-of-range elements.
        This lets us use List<bool> with lazy evaluation and no noticeable
        change in performance.
      
      - use rcIndex() and fcIndex() wherever possible.
        Could check if branching or modulus is faster for fcIndex().
      
      - UList and FixedList get 'const T* cdata() const' and 'T* data()' members.
        Similar to the STL front() and std::string::data() methods, they return a
        pointer to the first element without needing to write '&myList[0]', recast
        begin() or violate const-ness.
      69918f23
  25. 29 Jan, 2009 3 commits
    • Mark Olesen's avatar
      PackedList - activated lazy evaluation · 1f6733d9
      Mark Olesen authored
      - moving back to original flat addressing in iterators means there is no
        performance issue with using lazy evaluation
      - set() method now has ~0 for a default value.
        We can thus simply write 'set(i) to trun on all of the bits.
        This means we can use it just like labelHashSet::set(i)
      - added flip() method for inverting bits. I don't know where we might need
        it, but the STL has it so we might as well too.
      1f6733d9
    • Mark Olesen's avatar
      PackedList with unsigned template parameter · 55d4fb2e
      Mark Olesen authored
      55d4fb2e
    • Mark Olesen's avatar
      PackedList improvements · 4e56643e
      Mark Olesen authored
      - dropped auto-vivification for now (performance issue), but reworked to
        allow easy reinstatement
      - derived both iterator and const_iterator from iteratorBase and use
        iteratorBase as our proxy for non-const access to the list elements.
        This allows properly chaining assignments:
           list[1] = list[2];
           list[1] = list[2] = 10;
      - assigning iterators from iteratorBase or other iterators works:
           iterator iter = list[20];
      - made template parameter nBits=1 the default
      4e56643e
  26. 28 Jan, 2009 1 commit
    • Mark Olesen's avatar
      PackedList gets count() and trim() methods · 7c739978
      Mark Olesen authored
      - the bit counting is relatively fast:
        under 0.2 seconds for 1M bits counted 1000 times
      
      - trim()'ing the final zero elements tested for a few cases,
        but might need more attention
      7c739978
  27. 26 Jan, 2009 1 commit
    • Mark Olesen's avatar
      PackedList tweaks · 295d503d
      Mark Olesen authored
      - set() handles overflow as max_value() - the principle of least surprise.
      - use pointers in iterator to avoid any assignment issues. Allows default
        bitwise copy/assignment.
      295d503d