Author mark.dickinson
Recipients Rhamphoryncus, christian.heimes, gmcastil, mark.dickinson, tim.peters
Date 2008-01-21.20:42:13
SpamBayes Score 0.00207123
Marked as misclassified No
Message-id <1200948135.63.0.0562083307068.issue1640@psf.upfronthosting.co.za>
In-reply-to
Content
Also:  -1.0 shouldn't be returned at this level to indicate an error;  these are pure C functions 
we're writing---the Python wrappers, and Python error conventions, apply further up the chain 
somewhere.

Just so I'm doing something a little more constructive than yelling criticisms from the sideline,  
I've attached a file invhyp.c that's how I think the C functions should look.  Some notes:

- it doesn't touch errno, but lets the platform decide how to handle errors (i.e. produce a 
special value/set errno/signal a floating-point exception/some combination of these).  This will 
make the asinh, acosh, atanh functions behave in the same way that the regular libm functions 
behave on any platform.  So e.g. if a particular platform is used to setting errno for domain 
errors like sqrt(-1), it'll do so for atanh/asinh/acosh.  And another platform that signals a 
floating-point exception for sqrt(-1) will do the same for atanh(3).

- I've left in the "huge+x > 1.0" test in asinh;  it's kinda pointless, but also fairly harmless.  
I think its only point is to make sure that the inexact flag gets set where appropriate, and 
Python doesn't much care about the inexact flag.

- I'm reasonably sure that the test "x == 1." in acosh is safe.
History
Date User Action Args
2008-01-21 20:42:15mark.dickinsonsetspambayes_score: 0.00207123 -> 0.00207123
recipients: + mark.dickinson, tim.peters, Rhamphoryncus, christian.heimes, gmcastil
2008-01-21 20:42:15mark.dickinsonsetspambayes_score: 0.00207123 -> 0.00207123
messageid: <1200948135.63.0.0562083307068.issue1640@psf.upfronthosting.co.za>
2008-01-21 20:42:14mark.dickinsonlinkissue1640 messages
2008-01-21 20:42:13mark.dickinsoncreate