I think we may need something like an option to enable/disable forced conversion of perl scalars to double piddles.
--Chris On Wed, Nov 18, 2015 at 3:03 PM, Chris Marshall <devel.chm...@gmail.com> wrote: > Hi Doug- > > I think the problem is only when > a perl scalar is the input to atan(). > The top two cases are the expected > result. Maybe the logic in the type > conversion is off. You don't say > what version of PDL but I see the > same output from PDL-2.014_02. > > --Chris > > > > On Wed, Nov 18, 2015 at 1:29 PM, Douglas Hunt <dh...@ucar.edu> wrote: > >> Hi all: I just noticed a thing which caused me some trouble. >> >> The PDL 'atan' function defaults to 'float' precision instead of the >> more natural 'double': >> >> use PDL; >> >> my $a1 = atan(double(2379.0)/double(1024.0)); >> my $a2 = atan(float(2379.0)/float(1024.0)); >> my $a3 = atan(2379.0/1024.0); >> >> print "$a1, $a2, $a3\n"; >> >> This prints: >> 1.1643329321713, 1.1643328666687, 1.1643328666687 >> >> This feature causes a problem when porting to/from C as the C atan >> function operates on doubles. >> >> I think this traces down to Basic::Math in the math.pd file: >> >> my (@ufuncs1) = qw(acos asin atan cosh sinh tan tanh); # F,D only >> ... >> my $func; >> foreach $func (@ufuncs1) { >> pp_def($func, >> HandleBad => 1, >> NoBadifNaN => 1, >> GenericTypes => ['F','D'], >> Pars => 'a(); [o]b();', >> Inplace => 1, >> Doc => inplace_doc( $func ), >> Code => code_ufunc($func), >> BadCode => badcode_ufunc($func), >> ); >> } >> >> Note that GenericTypes isF, D instead of D, F. >> >> I would go so far to say that this is a bug, as the default pdl type is >> double as in: >> >> my $pdl = pdl(4,5,6); >> p $pdl->info >> PDL: Double D [3] >> >> Regards, >> >> Doug Hunt >> >> >> >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> pdl-devel mailing list >> pdl-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/pdl-devel >> > >
------------------------------------------------------------------------------
_______________________________________________ pdl-devel mailing list pdl-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pdl-devel