From 32968859f22a5d60f031779ccb0119ebbb5e1140 Mon Sep 17 00:00:00 2001 From: Duke Leto Date: Sun, 14 Dec 2008 18:55:43 -0800 Subject: [PATCH] Add reverse() to Vector objects --- pod/Vector.pod | 13 +++++++++++++ t/Vector.t | 11 ++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/pod/Vector.pod b/pod/Vector.pod index c254ded..3e45b14 100644 --- a/pod/Vector.pod +++ b/pod/Vector.pod @@ -140,6 +140,19 @@ sub swap() { return $self; } +=head2 reverse() + +Reverse the elements in the vector. + + $v->reverse; + +=cut + +sub reverse() { + my $self = shift; + gsl_vector_reverse($self->raw); + return $self; +} =head2 min() diff --git a/t/Vector.t b/t/Vector.t index 32ae8cf..c34a91c 100755 --- a/t/Vector.t +++ b/t/Vector.t @@ -1,6 +1,6 @@ package Math::GSL::Vector::Test; use base q{Test::Class}; -use Test::More tests => 124; +use Test::More tests => 128; use Math::GSL qw/:all/; use Math::GSL::Test qw/:all/; use Math::GSL::Errno qw/:all/; @@ -430,7 +430,16 @@ sub GSL_VECTOR_SWAP_OBJECTS : Tests(3) { ok_similar( [ $v->as_list ], [ 42, 69, 18 ] ); ok_similar( [ $w->as_list ], [ 1, 2, 3 ] ); +} + +sub GSL_VECTOR_REVERSE_OBJECTS : Tests(4) { + my @elements = map { int(rand(100)) } (1..10); + my $v = Math::GSL::Vector->new([@elements]); + ok_similar( [ $v->reverse->as_list ], [ reverse @elements ] ); + isa_ok($v->reverse, 'Math::GSL::Vector'); + ok_similar( [ $v->as_list ], [ @elements ] ); + ok_similar( [ $v->reverse->reverse->as_list ], [ $v->as_list ] ); } Test::Class->runtests; -- 2.11.4.GIT