|
Orion Poplawski |
f133519 |
From 965eb0af7a532740637c96ac31f7fc5d022d1953 Mon Sep 17 00:00:00 2001
|
|
Orion Poplawski |
f133519 |
From: Gilles Duvert <gilles-duvert@users.sourceforge.net>
|
|
Orion Poplawski |
f133519 |
Date: Tue, 24 Jan 2017 10:05:41 +0000
|
|
Orion Poplawski |
f133519 |
Subject: [PATCH] reverted to previous version since correction of bug#709 was
|
|
Orion Poplawski |
f133519 |
making a mess with array dimensions.
|
|
Orion Poplawski |
f133519 |
|
|
Orion Poplawski |
f133519 |
---
|
|
Orion Poplawski |
f133519 |
src/accessdesc.hpp | 3 ++-
|
|
Orion Poplawski |
f133519 |
src/dimension.hpp | 16 +++++++++-------
|
|
Orion Poplawski |
f133519 |
2 files changed, 11 insertions(+), 8 deletions(-)
|
|
Orion Poplawski |
f133519 |
|
|
Orion Poplawski |
f133519 |
diff --git a/src/accessdesc.hpp b/src/accessdesc.hpp
|
|
Orion Poplawski |
f133519 |
index 0309d11..b4d78a9 100644
|
|
Orion Poplawski |
f133519 |
--- a/src/accessdesc.hpp
|
|
Orion Poplawski |
f133519 |
+++ b/src/accessdesc.hpp
|
|
Orion Poplawski |
f133519 |
@@ -317,7 +317,8 @@ class DotAccessDescT
|
|
Orion Poplawski |
f133519 |
// dim >> topDim;
|
|
Orion Poplawski |
f133519 |
dim >> ix[d]->GetDim();
|
|
Orion Poplawski |
f133519 |
}
|
|
Orion Poplawski |
f133519 |
- dim.Purge();
|
|
Orion Poplawski |
f133519 |
+// Was added to solve bug 709 but may have side effects.
|
|
Orion Poplawski |
f133519 |
+// dim.Purge();
|
|
Orion Poplawski |
f133519 |
}
|
|
Orion Poplawski |
f133519 |
|
|
Orion Poplawski |
f133519 |
private:
|
|
Orion Poplawski |
f133519 |
diff --git a/src/dimension.hpp b/src/dimension.hpp
|
|
Orion Poplawski |
f133519 |
index 6469648..1345ff5 100644
|
|
Orion Poplawski |
f133519 |
--- a/src/dimension.hpp
|
|
Orion Poplawski |
f133519 |
+++ b/src/dimension.hpp
|
|
Orion Poplawski |
f133519 |
@@ -378,13 +378,15 @@ class dimension
|
|
Orion Poplawski |
f133519 |
// throw away unused ranks (ie. ranks == 1)
|
|
Orion Poplawski |
f133519 |
void Purge()
|
|
Orion Poplawski |
f133519 |
{
|
|
Orion Poplawski |
f133519 |
- //old version: produce bug #709
|
|
Orion Poplawski |
f133519 |
-// for(; rank>1 && dim[rank-1] <= 1; --rank);
|
|
Orion Poplawski |
f133519 |
- int m=rank-1;
|
|
Orion Poplawski |
f133519 |
- for (; m>0; --m) if (dim[m]<=1) {
|
|
Orion Poplawski |
f133519 |
- for (int j=m; j
|
|
Orion Poplawski |
f133519 |
- rank--;
|
|
Orion Poplawski |
f133519 |
- }
|
|
Orion Poplawski |
f133519 |
+ //The following line produces bug #709
|
|
Orion Poplawski |
f133519 |
+ for(; rank>1 && dim[rank-1] <= 1; --rank);
|
|
Orion Poplawski |
f133519 |
+// However those following lines are too strict: test=fltarr(1, 1, 114) & help,test
|
|
Orion Poplawski |
f133519 |
+// gives: TEST FLOAT = Array[1, 114] instead of good answer TEST FLOAT = Array[1, 1, 114]
|
|
Orion Poplawski |
f133519 |
+// int m=rank-1;
|
|
Orion Poplawski |
f133519 |
+// for (; m>0; --m) if (dim[m]<=1) {
|
|
Orion Poplawski |
f133519 |
+// for (int j=m; j
|
|
Orion Poplawski |
f133519 |
+// rank--;
|
|
Orion Poplawski |
f133519 |
+// }
|
|
Orion Poplawski |
f133519 |
}
|
|
Orion Poplawski |
f133519 |
|
|
Orion Poplawski |
f133519 |
// set the rank to r (pads 1s) if it is smaller than r
|