[PPL-devel] [GIT] ppl/ppl(floating_point): Fixed a bug in DB_Row_Impl_Handler<T>::Impl: :expand_within_capacity(dimension_type).
Roberto Bagnara
bagnara at cs.unipr.it
Thu Jul 29 14:15:46 CEST 2010
Module: ppl/ppl
Branch: floating_point
Commit: 4a26e69ad62c5c2b9d256f20392289d3161fc7bb
URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=4a26e69ad62c5c2b9d256f20392289d3161fc7bb
Author: Roberto Bagnara <bagnara at cs.unipr.it>
Date: Thu Jul 29 11:24:08 2010 +0200
Fixed a bug in DB_Row_Impl_Handler<T>::Impl::expand_within_capacity(dimension_type).
This affected only compilers not supporting flexible arrays.
---
src/DB_Row.templates.hh | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/DB_Row.templates.hh b/src/DB_Row.templates.hh
index e886b61..8684c04 100644
--- a/src/DB_Row.templates.hh
+++ b/src/DB_Row.templates.hh
@@ -58,9 +58,11 @@ DB_Row_Impl_Handler<T>::
Impl::expand_within_capacity(const dimension_type new_size) {
PPL_ASSERT(size() <= new_size && new_size <= max_size());
#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
- // vec_[0] is already constructed.
- if (size() == 0 && new_size > 0)
+ if (size() == 0 && new_size > 0) {
+ // vec_[0] is already constructed: we just need to assign +infinity.
+ assign_r(vec_[0], PLUS_INFINITY, ROUND_NOT_NEEDED);
bump_size();
+ }
#endif
// Construct in direct order: will destroy in reverse order.
for (dimension_type i = size(); i < new_size; ++i) {
More information about the PPL-devel
mailing list