BitVector: Change setBit to set the bit in place. (#6176)
authorAina Niemetz <aina.niemetz@gmail.com>
Fri, 19 Mar 2021 17:28:14 +0000 (10:28 -0700)
committerGitHub <noreply@github.com>
Fri, 19 Mar 2021 17:28:14 +0000 (17:28 +0000)
commit58e219362b2e9a7d7b9b9b526760c392cd50e878
treeedc5b6e8f4307942a914d13c218197328c8cb6bf
parent95f5be640fd362098a54e222d56d49144fe0efbe
BitVector: Change setBit to set the bit in place. (#6176)

Creating BitVectors (and deleting them) is in general expensive because
of the underlying multi-precision Integer. If possible, unnecessary
constructions and desctructions of BitVectors should be avoided.
The most common use case for `setBit` is that for an existing BitVector,
a given bit should be set to a certain value. Not doing this in place
generates unnecessary constructions and destructions of BitVectors.
src/theory/bv/theory_bv_rewrite_rules_simplification.h
src/util/bitvector.cpp
src/util/bitvector.h
src/util/floatingpoint.cpp
src/util/integer_cln_imp.cpp
src/util/integer_cln_imp.h
src/util/integer_gmp_imp.cpp
src/util/integer_gmp_imp.h
test/unit/util/bitvector_black.cpp