MROOT.pm (PDL-2.082) | : | MROOT.pm (PDL-2.083) | ||
---|---|---|---|---|
skipping to change at line 59 | skipping to change at line 59 | |||
my $y = zeroes($x); | my $y = zeroes($x); | |||
my $y0 = $y->slice(0); | my $y0 = $y->slice(0); | |||
$y0 .= $c * (1 - $x->slice(0)); | $y0 .= $c * (1 - $x->slice(0)); | |||
my $y1 = $y->slice(1); | my $y1 = $y->slice(1); | |||
$y1 .= $d * ($x->slice(1) - $x->slice(0)**2); | $y1 .= $d * ($x->slice(1) - $x->slice(0)**2); | |||
return $y; | return $y; | |||
} | } | |||
#line 70 "MROOT.pm" | #line 68 "MROOT.pm" | |||
=head1 FUNCTIONS | =head1 FUNCTIONS | |||
=cut | =cut | |||
#line 958 "/home/osboxes/pdl-code/blib/lib/PDL/PP.pm" | ||||
=head2 gslmroot_fsolver | =head2 gslmroot_fsolver | |||
=for sig | =for sig | |||
Signature: (double [io]xfree(n); double epsabs(); int method(); SV* function 1) | Signature: (double [io]xfree(n); double epsabs(); int method(); SV* function 1) | |||
=for ref | =for ref | |||
info not available | info not available | |||
=for bad | =for bad | |||
gslmroot_fsolver does not process bad values. | gslmroot_fsolver does not process bad values. | |||
It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays. | It will set the bad-value flag of all output ndarrays if the flag is set for any of the input ndarrays. | |||
=cut | =cut | |||
#line 107 "MROOT.pm" | ||||
#line 959 "/home/osboxes/pdl-code/blib/lib/PDL/PP.pm" | ||||
sub gslmroot_fsolver { | sub gslmroot_fsolver { | |||
my ($x, $f_vect) = @_; | my ($x, $f_vect) = @_; | |||
my $opt = ref($_[-1]) eq 'HASH' ? pop @_ : {Method => 0, EpsAbs => 1e-3} ; | my $opt = ref($_[-1]) eq 'HASH' ? pop @_ : {Method => 0, EpsAbs => 1e-3} ; | |||
if( (ref($x) ne 'PDL')){ | if( (ref($x) ne 'PDL')){ | |||
barf("Have to pass ndarray as first argument to fsolver\n"); | barf("Have to pass ndarray as first argument to fsolver\n"); | |||
} | } | |||
my $res = $x->copy; | my $res = $x->copy; | |||
_gslmroot_fsolver_int($res, $$opt{'EpsAbs'}, $$opt{'Method'}, $f_vect); | _gslmroot_fsolver_int($res, $$opt{'EpsAbs'}, $$opt{'Method'}, $f_vect); | |||
return $res; | return $res; | |||
} | } | |||
#line 123 "MROOT.pm" | ||||
#line 960 "/home/osboxes/pdl-code/blib/lib/PDL/PP.pm" | ||||
*gslmroot_fsolver = \&PDL::GSL::MROOT::gslmroot_fsolver; | *gslmroot_fsolver = \&PDL::GSL::MROOT::gslmroot_fsolver; | |||
#line 130 "MROOT.pm" | ||||
#line 114 "gsl_mroot.pd" | #line 114 "gsl_mroot.pd" | |||
=head1 SEE ALSO | =head1 SEE ALSO | |||
L<PDL> | L<PDL> | |||
The GSL documentation is online at | The GSL documentation is online at | |||
http://www.gnu.org/software/gsl/manual/ | http://www.gnu.org/software/gsl/manual/ | |||
skipping to change at line 124 | skipping to change at line 115 | |||
=head1 AUTHOR | =head1 AUTHOR | |||
This file copyright (C) 2006 Andres Jordan <ajordan@eso.org> | This file copyright (C) 2006 Andres Jordan <ajordan@eso.org> | |||
and Simon Casassus <simon@das.uchile.cl> | and Simon Casassus <simon@das.uchile.cl> | |||
All rights reserved. There is no warranty. You are allowed to redistribute this | All rights reserved. There is no warranty. You are allowed to redistribute this | |||
software/documentation under certain conditions. For details, see the file | software/documentation under certain conditions. For details, see the file | |||
COPYING in the PDL distribution. If this file is separated from the | COPYING in the PDL distribution. If this file is separated from the | |||
PDL distribution, the copyright notice should be included in the file. | PDL distribution, the copyright notice should be included in the file. | |||
=cut | =cut | |||
#line 156 "MROOT.pm" | #line 140 "MROOT.pm" | |||
# Exit with OK status | # Exit with OK status | |||
1; | 1; | |||
End of changes. 6 change blocks. | ||||
11 lines changed or deleted | 2 lines changed or added |