You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Our bitset class is a GPU version of std::bitset which, however, is designed to cover more use cases. In particular, its interface and implementation (run-time fixed-sized) is somewhere between std::bitset (compile-time fixed-sized) and boost::dynamic_bitset (run-time dynamic-sized). This may lead to confusion if users expect the exact same API as std::bitset.
There are several ways to address this issue:
Rename it to dynamic_bitset and extend its API to match (as close as possible) boost.
Rename it to vector<bool> and change/extend its API to match (as close as possible) vector.
Keep the name and extend its API towards boost's version, i.e. considering the non-dynamic-sized functions.
At the moment, the last option seems to be a good compromise. However, it does not fully solve the problem regarding potential user confusion. Since any of the options will break the API, this change is considered for stdgpu 2.0.0
The text was updated successfully, but these errors were encountered:
Our
bitset
class is a GPU version ofstd::bitset
which, however, is designed to cover more use cases. In particular, its interface and implementation (run-time fixed-sized) is somewhere betweenstd::bitset
(compile-time fixed-sized) andboost::dynamic_bitset
(run-time dynamic-sized). This may lead to confusion if users expect the exact same API asstd::bitset
.There are several ways to address this issue:
dynamic_bitset
and extend its API to match (as close as possible) boost.vector<bool>
and change/extend its API to match (as close as possible)vector
.At the moment, the last option seems to be a good compromise. However, it does not fully solve the problem regarding potential user confusion. Since any of the options will break the API, this change is considered for stdgpu 2.0.0
The text was updated successfully, but these errors were encountered: