changeset 908:f53cc3aaa88e

connectivity: fix base 1 indexing and avoid shadowing of properties name. * connectivity.cc, connectivity.h: rename some method arguments to avoid shadowing of class attributes (this->mask = mask). Also, fix indexing of dimension vectors (which should be base 0).
author Carnë Draug <carandraug@octave.org>
date Thu, 30 Oct 2014 23:26:58 +0000
parents 5e256614c376
children ba9e0f8a25c0
files src/connectivity.cc src/connectivity.h
diffstat 2 files changed, 10 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/src/connectivity.cc
+++ b/src/connectivity.cc
@@ -39,15 +39,17 @@
   return;
 }
 
-connectivity::connectivity (const boolNDArray& mask)
+connectivity::connectivity (const boolNDArray& mask_arg)
 {
-  ctor (mask);
+  ctor (mask_arg);
   return;
 }
 
 void
-connectivity::ctor (const boolNDArray& mask)
+connectivity::ctor (const boolNDArray& mask_arg)
 {
+  mask = mask_arg;
+
   // Must be 1x1, 3x1, or 3x3x3x...x3
   const octave_idx_type numel = mask.numel ();
   const octave_idx_type ndims = mask.ndims ();
@@ -57,9 +59,9 @@
     {
       // Don't forget 1x1, and 3x1 which are valid but arrays always
       // have at least 2d
-      if (   (dims(1) != 3 && dims(2) != 3)
-          && (dims(1) != 3 && dims(2) != 1)
-          && (dims(1) != 1 && dims(2) != 1))
+      if (   (dims(0) != 3 && dims(1) != 3)
+          && (dims(0) != 3 && dims(1) != 1)
+          && (dims(0) != 1 && dims(1) != 1))
         throw invalid_connectivity ("is not 1x1, 3x1, 3x3, or 3x3x...x3");
     }
   else
@@ -81,7 +83,6 @@
     if (start[i] != end[-i])
       throw invalid_connectivity ("is not symmetric relative to its center");
 
-  this->mask = mask;
   return;
 }
 
--- a/src/connectivity.h
+++ b/src/connectivity.h
@@ -32,7 +32,7 @@
 
         //! Will throw if val is bad
         connectivity (const octave_value& val);
-        connectivity (const boolNDArray& mask);
+        connectivity (const boolNDArray& mask_arg);
         connectivity (const octave_idx_type& conn);
         connectivity (const octave_idx_type& ndims, const std::string& type);
 
@@ -43,7 +43,7 @@
         Array<octave_idx_type> offsets (const dim_vector& size) const;
 
       private:
-        void ctor (const boolNDArray& mask);
+        void ctor (const boolNDArray& mask_arg);
         void ctor (const octave_idx_type& conn);
 
         //! Like octave_value::double_value() but actually checks if scalar.