From 3efb4ebe20152c396f7fe25c5a9debe4c6c5db8d Mon Sep 17 00:00:00 2001 From: mattijs Date: Tue, 21 Oct 2008 15:04:18 +0100 Subject: [PATCH] merge from master --- .../test/DynamicList/DynamicListTest.C | 50 +++++++++++-- applications/test/xfer/xferListTest.C | 32 ++++++--- etc/settings.csh | 2 +- etc/settings.sh | 2 +- .../HashTables/HashTable/HashTable.C | 2 +- .../StaticHashTable/StaticHashTable.C | 2 +- .../Lists/CompactListList/CompactListList.C | 2 +- .../Lists/DynamicList/DynamicList.H | 48 ++++++------- .../Lists/DynamicList/DynamicListI.H | 54 +++++++------- src/OpenFOAM/containers/Lists/List/List.C | 5 +- .../containers/Lists/PackedList/PackedList.C | 2 +- .../containers/Lists/PtrList/PtrList.C | 2 +- .../Lists/SortableList/SortableList.C | 4 +- src/OpenFOAM/containers/Lists/UList/UList.C | 2 +- .../containers/Lists/UPtrList/UPtrList.C | 2 +- src/OpenFOAM/db/IOobjects/IOField/IOField.C | 19 +++++ src/OpenFOAM/db/IOobjects/IOField/IOField.H | 7 +- src/OpenFOAM/db/IOobjects/IOList/IOList.C | 19 +++++ src/OpenFOAM/db/IOobjects/IOList/IOList.H | 3 + src/OpenFOAM/db/IOobjects/IOMap/IOMap.C | 19 +++++ src/OpenFOAM/db/IOobjects/IOMap/IOMap.H | 7 +- .../db/IOobjects/IOPtrList/IOPtrList.C | 19 +++++ .../db/IOobjects/IOPtrList/IOPtrList.H | 3 + .../DimensionedField/DimensionedField.C | 35 ++++++++-- .../DimensionedField/DimensionedField.H | 15 +++- .../FieldFields/FieldField/FieldField.H | 1 + src/OpenFOAM/fields/Fields/Field/Field.C | 21 ++++++ src/OpenFOAM/fields/Fields/Field/Field.H | 10 +++ src/OpenFOAM/memory/xfer/xfer.H | 70 +++++++++++-------- src/OpenFOAM/memory/xfer/xferI.H | 16 ++--- src/OpenFOAM/meshes/MeshObject/MeshObject.C | 47 ++++++++++++- src/OpenFOAM/meshes/MeshObject/MeshObject.H | 34 ++++++++- src/OpenFOAM/meshes/polyMesh/polyMesh.H | 43 ++++++++++++ .../meshes/polyMesh/polyMeshInitMesh.C | 6 ++ .../meshes/primitiveMesh/primitiveMesh.C | 58 +++++++++------ .../meshes/primitiveMesh/primitiveMesh.H | 11 +++ src/conversion/meshReader/calcPointCells.C | 20 ++---- src/conversion/meshReader/meshReader.C | 2 +- src/conversion/meshReader/meshReader.H | 7 -- src/finiteVolume/fvMesh/fvMesh.H | 26 ++++++- .../schemes/quadraticFit/quadraticFit.H | 13 +++- .../schemes/quadraticFit/quadraticFitData.C | 28 +++----- .../schemes/quadraticFit/quadraticFitData.H | 24 ++++--- wmake/wmakeScheduler | 20 +----- 44 files changed, 589 insertions(+), 225 deletions(-) diff --git a/applications/test/DynamicList/DynamicListTest.C b/applications/test/DynamicList/DynamicListTest.C index 0233dbd474..6cdbb84890 100644 --- a/applications/test/DynamicList/DynamicListTest.C +++ b/applications/test/DynamicList/DynamicListTest.C @@ -43,20 +43,58 @@ int main(int argc, char *argv[]) ldl[0](3) = 3; ldl[0](1) = 1; - ldl[1](0) = 1; - ldl[1](1) = 2; + ldl[0].setSize(5); // increase allocated size + ldl[1].setSize(10); // increase allocated size + ldl[1](2) = 2; ldl[1] = 3; - Info<< ldl[1]; + Info<< "" << ldl << "" << nl << "sizes: "; + forAll(ldl, i) + { + Info<< " " << ldl[i].size() << "/" << ldl[i].allocSize(); + } + Info<< endl; List > ll(2); - ll[0].transfer(ldl[0].shrink()); + ll[0].transfer(ldl[0]); ll[1].transfer(ldl[1].shrink()); - Info<< ll << endl; + Info<< "" << ldl << "" << nl << "sizes: "; + forAll(ldl, i) + { + Info<< " " << ldl[i].size() << "/" << ldl[i].allocSize(); + } + Info<< endl; + + Info<< "" << ll << "" << nl << endl; + + + // test the transfer between DynamicLists + DynamicList dlA; + DynamicList dlB; + + for (label i = 0; i < 5; i++) + { + dlA.append(i); + } + dlA.setSize(10); + + Info<< "" << dlA << "" << nl << "sizes: " + << " " << dlA.size() << "/" << dlA.allocSize() << endl; + + dlB.transfer(dlA); + + // provokes memory error if previous transfer did not maintain + // the correct allocated space + dlB[6] = 6; + + Info<< "Transferred to dlB" << endl; + Info<< "" << dlA << "" << nl << "sizes: " + << " " << dlA.size() << "/" << dlA.allocSize() << endl; + Info<< "" << dlB << "" << nl << "sizes: " + << " " << dlB.size() << "/" << dlB.allocSize() << endl; - Info << "\nEnd\n" << endl; return 0; } diff --git a/applications/test/xfer/xferListTest.C b/applications/test/xfer/xferListTest.C index 6fce6b2bd0..0089569394 100644 --- a/applications/test/xfer/xferListTest.C +++ b/applications/test/xfer/xferListTest.C @@ -52,34 +52,48 @@ int main(int argc, char *argv[]) Info<< "lstA: " << lstA << endl; Info<< "lstC: " << lstC << endl; - xfer > xA(lstA, true); + xfer > xA = xferMove(lstA); xfer > xB; -// List