From b6d2f9280231a2312734f4875260b84657b9ef9a Mon Sep 17 00:00:00 2001 From: Ed J Date: Mon, 6 Jan 2025 04:05:22 +0000 Subject: [PATCH] make Trans::toreal do nothing if given real-typed data --- Changes | 2 ++ lib/PDL/LinearAlgebra/Trans.pd | 14 +++++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Changes b/Changes index 9c4c870..b3fc080 100644 --- a/Changes +++ b/Changes @@ -1,3 +1,5 @@ +- make Trans::toreal do nothing if given real-typed data + 0.432 2025-01-04 - uses PDL 2.096+ lib/*.pd format for quicker builds diff --git a/lib/PDL/LinearAlgebra/Trans.pd b/lib/PDL/LinearAlgebra/Trans.pd index 26dc918..c54152f 100644 --- a/lib/PDL/LinearAlgebra/Trans.pd +++ b/lib/PDL/LinearAlgebra/Trans.pd @@ -850,13 +850,13 @@ sub PDL::acoth($) {my $tmp = 1/pdl($_[0]) ; $tmp->atanh} my $_tol = 9.99999999999999e-15; -sub toreal{ - return $_[0] if $_[0]->isempty; - $_tol = $_[1] if defined $_[1]; - my ($min, $max, $tmp); - ($min, $max) = $_[0]->im->minmax; - return $_[0]->re->sever unless (abs($min) > $_tol || abs($max) > $_tol); - $_[0]; +sub toreal { + $_tol = $_[1] if defined $_[1]; + return $_[0] if $_[0]->isempty or $_[0]->type->real; + my ($min, $max, $tmp); + ($min, $max) = $_[0]->im->minmax; + return $_[0]->re->sever unless (abs($min) > $_tol || abs($max) > $_tol); + $_[0]; } =head2 mlog