Commit Graph

19 Commits

Author SHA1 Message Date
d29c438657 STYLE: use url for FSF license instead of postal address, switch to GPL v3 2010-03-29 14:07:56 +02:00
c7c9a6e003 Activate the reworked HashTable
- previous draft version was HashTbl
- accidentally still had canonicalSize in templated code
2009-11-04 09:06:26 +01:00
85f11fa7cc added sortedToc() 2009-08-06 17:43:39 +01:00
a46c85f5a4 HashTable changes
- 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
2009-02-26 17:49:47 +01:00
e562aecb73 HashTable performance: find(), found() check nElmts_ instead of tableSize_
- much better performance on empty tables (4-6x speedup), neutral
  performance change on filled tables. Since tableSize_ is non-zero when
  nElmts_ is, there is no modulus zero problem.
2009-02-25 18:58:48 +01:00
69918f23c5 consistency update
- 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.
2009-02-06 20:43:09 +01:00
c2ac216eaf HashTable::erase from list of keys or the keys from another HashTable
- the parameter HashTable can hold arbitrary data .. just the type of keys
  needs to match
2009-01-11 20:01:53 +01:00
990a9e7f57 added HashTable::erase(const HashTable&) method 2009-01-09 09:35:53 +01:00
19503c93e1 rename xfer<T> class to Xfer<T>
- The capitalization is consistent with most other template classes, but
  more importantly frees up xfer() for use as method name without needing
  special treatment to avoid ambiguities.

  It seems reasonable to have different names for transfer(...) and xfer()
  methods, since the transfer is occuring in different directions.
  The xfer() method can thus replace the recently introduced zero-parameter
  transfer() methods.
  Other name candidates (eg, yield, release, etc.) were deemed too abstract.
2009-01-05 12:30:19 +01:00
a010121427 HashTable / StaticHashTable changes
StaticHashTable:
- erase(iterator&) now actually alters the iterator and iterator++() handles
  it properly
- clear() also sets count to zero
- operator=(const StaticHashTable&) doesn't crash after a previous transfer
- operator(), operator==() and operator!=() added

HashTable:
- operator=(const HashTable&) gets tableSize if required, eg, after a
  previous transfer)

HashSet / Map
- add xfer<...> constructor for underlying HashTable
2009-01-02 13:24:30 +01:00
28b200bcd9 update copyrights for 2009 2008-12-31 19:01:56 +01:00
8a5931f15a added HashTable::clearStorage() for symmetry with DynamicList 2008-12-12 09:48:51 +01:00
91cb6d2912 xfer class modifications:
- removed operator* in favour of operator() for consistency with tmp
    class. The previous use of operator() for const casting didn't work
    anyhow due to template confusion.
  - added xferCopy(), xferMove() and xferTmp() template functions instead
  - preliminary changes to IOobjects and Fields for xfer
2008-10-17 18:27:11 +02:00
8c23f5423c add xfer constructors to cell/face/point Zone and (Static)HashTable 2008-10-10 10:22:08 +02:00
1b3cf9133a operator== 2008-08-06 10:24:35 +01:00
02cabc3cf2 updated Copyright (C) \d+-2008 OpenCFD Ltd. 2008-06-25 15:01:46 +02:00
0f687ccd76 Minimum changes to compile everything with gcc-4.3.0 2008-05-26 19:27:23 +01:00
4a2a23a710 Lots of changes from Mark and my changes to ddtPhiCorr all mixed together
because I failed to work out how to merge Mark's stuff -- HELP!!!
2008-05-25 21:46:37 +01:00
3170c7c0c9 Creation of OpenFOAM-dev repository 15/04/2008 2008-04-15 18:56:58 +01:00