$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r53790 - trunk/libs/multi_array/test
From: garcia_at_[hidden]
Date: 2009-06-10 17:51:07
Author: garcia
Date: 2009-06-10 17:51:06 EDT (Wed, 10 Jun 2009)
New Revision: 53790
URL: http://svn.boost.org/trac/boost/changeset/53790
Log:
Added a test-case to check a reversing view of a 1D array.
Added:
   trunk/libs/multi_array/test/reverse_view.cpp   (contents, props changed)
Text files modified: 
   trunk/libs/multi_array/test/Jamfile.v2 |     2 ++                                      
   1 files changed, 2 insertions(+), 0 deletions(-)
Modified: trunk/libs/multi_array/test/Jamfile.v2
==============================================================================
--- trunk/libs/multi_array/test/Jamfile.v2	(original)
+++ trunk/libs/multi_array/test/Jamfile.v2	2009-06-10 17:51:06 EDT (Wed, 10 Jun 2009)
@@ -45,5 +45,7 @@
       [ run stl_interaction.cpp ../../test/build//boost_test_exec_monitor ]
       [ run resize.cpp ../../test/build//boost_test_exec_monitor ]
       [ run assert.cpp ../../test/build//boost_test_exec_monitor ]
+      [ run reverse_view.cpp ../../test/build//boost_test_exec_monitor ]
+
       [ compile concept_checks.cpp ]
     ;
Added: trunk/libs/multi_array/test/reverse_view.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/multi_array/test/reverse_view.cpp	2009-06-10 17:51:06 EDT (Wed, 10 Jun 2009)
@@ -0,0 +1,43 @@
+// Copyright 2002 The Trustees of Indiana University.
+
+// Use, modification and distribution is subject to the Boost Software 
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+//  Boost.MultiArray Library
+//  Authors: Ronald Garcia
+//           Jeremy Siek
+//           Andrew Lumsdaine
+//  See http://www.boost.org/libs/multi_array for documentation.
+
+//
+// reverse_view.cpp - a small test of creating a view with negative strides
+//
+
+#include "boost/multi_array.hpp"
+#include "boost/test/minimal.hpp"
+#include "boost/array.hpp"
+
+int
+test_main(int,char*[])
+{
+  using namespace boost;
+  
+
+  // One-dimensional array with views
+  double data[] = { 1, 2, 3, 4 };
+  double rdata[] = { 4, 3, 2, 1 };
+
+  typedef multi_array< double, 1 > array;
+  array A(extents[4]);
+  A.assign(data,data+4);
+  
+  typedef array::index_range range;
+  array::array_view<1>::type B = A[indices[range(3, -1, -1)]];
+  
+  for(multi_array_types::size_type i = 0; i != B.size(); ++i) {
+    BOOST_CHECK(B[i] == rdata[i]);
+  }
+  
+  return boost::exit_success;
+}