From 9a19f515d68a561e2b0446f802da59a53d2381fd Mon Sep 17 00:00:00 2001 From: mattijs Date: Tue, 16 Sep 2008 21:15:53 +0100 Subject: [PATCH] optimisation of assignment --- src/OpenFOAM/containers/Lists/PackedList/PackedList.C | 5 +---- .../containers/Lists/PackedList/PackedListI.H | 11 +++++++++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/OpenFOAM/containers/Lists/PackedList/PackedList.C b/src/OpenFOAM/containers/Lists/PackedList/PackedList.C index ab98111778..7c20b200b3 100644 --- a/src/OpenFOAM/containers/Lists/PackedList/PackedList.C +++ b/src/OpenFOAM/containers/Lists/PackedList/PackedList.C @@ -40,10 +40,7 @@ PackedList::PackedList(const label size, const unsigned int val) List(intSize(size)), size_(size) { - for (label i = 0; i < size; i++) - { - set(i, val); - } + operator=(val); } diff --git a/src/OpenFOAM/containers/Lists/PackedList/PackedListI.H b/src/OpenFOAM/containers/Lists/PackedList/PackedListI.H index 5ca70825cc..8e24a291bc 100644 --- a/src/OpenFOAM/containers/Lists/PackedList/PackedListI.H +++ b/src/OpenFOAM/containers/Lists/PackedList/PackedListI.H @@ -221,9 +221,16 @@ inline void PackedList::operator=(const unsigned int val) checkValue(val); # endif - for (label i = 0; i < size_; i++) + if (val == 0) { - set(i, val); + List::operator=(val); + } + else + { + for (label i = 0; i < size_; i++) + { + set(i, val); + } } }