From c6ad2deead4e8f7db743a103200b51cfaf1d8e7f Mon Sep 17 00:00:00 2001 From: Jitse Niesen Date: Thu, 24 Mar 2011 10:42:11 +0000 Subject: [PATCH] Bug fix in linspace_op::packetOp(row,col). Fixes bug #232. Also, add regression test. --- Eigen/src/Core/Functors.h | 2 +- test/nullary.cpp | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Eigen/src/Core/Functors.h b/Eigen/src/Core/Functors.h index ddfc67d82..b1842b146 100644 --- a/Eigen/src/Core/Functors.h +++ b/Eigen/src/Core/Functors.h @@ -605,7 +605,7 @@ template struct linspaced_op EIGEN_STRONG_INLINE const Packet packetOp(Index row, Index col) const { eigen_assert(col==0 || row==0); - return impl(col + row); + return impl.packetOp(col + row); } // This proxy object handles the actual required temporaries, the different diff --git a/test/nullary.cpp b/test/nullary.cpp index 70cd30df2..0bde253df 100644 --- a/test/nullary.cpp +++ b/test/nullary.cpp @@ -1,7 +1,7 @@ // This file is part of Eigen, a lightweight C++ template library // for linear algebra. // -// Copyright (C) 2010 Jitse Niesen +// Copyright (C) 2010-2011 Jitse Niesen // // Eigen is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -120,10 +120,9 @@ void test_nullary() for(int i = 0; i < g_repeat; i++) { CALL_SUBTEST_4( testVectorType(VectorXd(internal::random(1,300))) ); - CALL_SUBTEST_5( testVectorType(VectorXd(internal::random(1,300))) ); + CALL_SUBTEST_5( testVectorType(Vector4d()) ); // regression test for bug 232 CALL_SUBTEST_6( testVectorType(Vector3d()) ); CALL_SUBTEST_7( testVectorType(VectorXf(internal::random(1,300))) ); - CALL_SUBTEST_8( testVectorType(VectorXf(internal::random(1,300))) ); - CALL_SUBTEST_9( testVectorType(Vector3f()) ); + CALL_SUBTEST_8( testVectorType(Vector3f()) ); } }