35 |
|
* |
36 |
|
* [1] Meineke, et al., J. Comp. Chem. 26, 252-271 (2005). |
37 |
|
* [2] Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006). |
38 |
< |
* [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008). |
39 |
< |
* [4] Vardeman & Gezelter, in progress (2009). |
38 |
> |
* [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008). |
39 |
> |
* [4] Kuang & Gezelter, J. Chem. Phys. 133, 164101 (2010). |
40 |
> |
* [5] Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). |
41 |
|
*/ |
42 |
|
|
43 |
|
#ifndef UTILS_OPENMDBITSET_HPP |
49 |
|
|
50 |
|
/** |
51 |
|
* @class OpenMDBitSet OpenMDBitSet.hpp "OpenMDBitSet.hpp" |
52 |
< |
* @brief OpenMDBitSet is a wrapper class of std::vector<char> to act as a growable std::bitset |
52 |
> |
* @brief OpenMDBitSet is a wrapper class of std::vector<bool> to act as a growable std::bitset |
53 |
|
*/ |
54 |
|
class OpenMDBitSet { |
55 |
|
public: |
128 |
|
*this &= tmp; |
129 |
|
return *this; |
130 |
|
} |
131 |
+ |
|
132 |
+ |
OpenMDBitSet parallelReduce(); |
133 |
|
|
134 |
|
bool operator[] (int bitIndex) const { return bitset_[bitIndex]; } |
135 |
|
friend OpenMDBitSet operator| (const OpenMDBitSet& bs1, const OpenMDBitSet& bs2); |
150 |
|
/** Sets the bits from the specified fromIndex(inclusive) to the specified toIndex(exclusive) to the specified value. */ |
151 |
|
void setBits(int fromIndex, int toIndex, bool value); |
152 |
|
|
153 |
< |
std::vector<char> bitset_; |
153 |
> |
std::vector<bool> bitset_; |
154 |
|
}; |
155 |
|
|
156 |
|
|