From 8e37c67ee7f6f81980428ce381810889c393d0b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20Gullik=20Bj=C3=B8nnes?= Date: Mon, 19 Feb 2001 10:18:21 +0000 Subject: [PATCH] mathed25.diff git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1531 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/mathed/ChangeLog | 8 +++++++- src/mathed/array.C | 16 ++++++---------- src/mathed/array.h | 11 +---------- src/mathed/math_iter.C | 3 ++- 4 files changed, 16 insertions(+), 22 deletions(-) diff --git a/src/mathed/ChangeLog b/src/mathed/ChangeLog index e9e3b5eafd..ba1fe6514e 100644 --- a/src/mathed/ChangeLog +++ b/src/mathed/ChangeLog @@ -1,3 +1,9 @@ +2001-02-14 André Pönitz + + * array.[Ch]: remove constructor and enums ARRAY_MIN_SIZE and ARRAY_STEP + + * math_iter.C: default-construct and resize array + 2001-02-17 Lars Gullik Bjřnnes * math_xiter.h: move ipush and ipop to public, add _ on private @@ -7,7 +13,7 @@ remove default arg val. Call the public methods of xiter instead of private variables. - * changes to several files beacuse of the above. + * changes to several files because of the above. 2001-02-14 André Pönitz diff --git a/src/mathed/array.C b/src/mathed/array.C index f93104b464..4d42317fd7 100644 --- a/src/mathed/array.C +++ b/src/mathed/array.C @@ -18,12 +18,9 @@ void * my_memcpy(void * ps_in, void const * pt_in, size_t n) } -MathedArray::MathedArray(int size) - : last_(0) -{ - int const newsize = (size < ARRAY_MIN_SIZE) ? ARRAY_MIN_SIZE : size; - bf_.resize(newsize); -} +MathedArray::MathedArray() + : bf_(1, 0), last_(0) +{} MathedArray::iterator MathedArray::begin() @@ -77,10 +74,9 @@ void MathedArray::need_size(int needed) void MathedArray::resize(int newsize) { - if (newsize < ARRAY_MIN_SIZE) - newsize = ARRAY_MIN_SIZE; - newsize += ARRAY_STEP - (newsize % ARRAY_STEP); - bf_.resize(newsize); + // still a bit smelly... + ++newsize; + bf_.resize(newsize + 1); if (last_ >= newsize) last_ = newsize - 1; bf_[last_] = 0; diff --git a/src/mathed/array.h b/src/mathed/array.h index 35a2f25c27..c9cff48a71 100644 --- a/src/mathed/array.h +++ b/src/mathed/array.h @@ -46,16 +46,7 @@ public: typedef buffer_type::const_iterator const_iterator; /// - enum { - /// - ARRAY_STEP = 16, - /// - ARRAY_MIN_SIZE = 4 - }; - - /// - explicit - MathedArray(int size = ARRAY_STEP); + MathedArray(); /// iterator begin(); diff --git a/src/mathed/math_iter.C b/src/mathed/math_iter.C index 38c2c59f5c..2f5dfcb842 100644 --- a/src/mathed/math_iter.C +++ b/src/mathed/math_iter.C @@ -411,7 +411,8 @@ MathedArray * MathedIter::Copy(int pos1, int pos2) --pos2; int dx = pos2 - pos1; - a = new MathedArray(dx + MathedArray::ARRAY_MIN_SIZE); + a = new MathedArray; + a->resize(dx + 1); // lyxerr << "VA " << pos2 << " " << pos2 << " " << dx << endl; array->strange_copy(a, (fc) ? 1 : 0, pos1, dx); if (fc) {