Boost logo

Boost-Commit :

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;
+}


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk