From: SourceForge.net <no...@so...> - 2008-09-18 02:41:05
|
Bugs item #2117590, was opened at 2008-09-18 12:41 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=2117590&group_id=2435 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Roumen Petrov (rumen) Assigned to: Nobody/Anonymous (nobody) Summary: corection of function asinh - inverse hyperbolic sine Initial Comment: The current implementation of mingwex function with declaration "double asinh(double x)" return unexpected value for some arguments. Please to replace implementation with new one that pass at least following tests(argument->result): 1) 0.0->0.0 2) -0.0->-0.0 3) -1.0000000000000002e+299->-689.16608998577965 The current code return -0.0 for argument 0.0. Uncommenting code for "/* Avoid setting FPU underflow exception flag in x * x. */" isn't enough since the case 3) will return NaN. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=2117590&group_id=2435 |
From: SourceForge.net <no...@so...> - 2008-09-18 03:54:01
|
Bugs item #2117590, was opened at 2008-09-18 12:41 Message generated for change (Comment added) made by rumen You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=2117590&group_id=2435 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Roumen Petrov (rumen) Assigned to: Nobody/Anonymous (nobody) Summary: corection of function asinh - inverse hyperbolic sine Initial Comment: The current implementation of mingwex function with declaration "double asinh(double x)" return unexpected value for some arguments. Please to replace implementation with new one that pass at least following tests(argument->result): 1) 0.0->0.0 2) -0.0->-0.0 3) -1.0000000000000002e+299->-689.16608998577965 The current code return -0.0 for argument 0.0. Uncommenting code for "/* Avoid setting FPU underflow exception flag in x * x. */" isn't enough since the case 3) will return NaN. ---------------------------------------------------------------------- >Comment By: Roumen Petrov (rumen) Date: 2008-09-18 13:53 Message: also asinhl/asinhf return -0.0 too for 0.0 argument. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=2117590&group_id=2435 |
From: SourceForge.net <no...@so...> - 2008-09-18 05:13:18
|
Bugs item #2117590, was opened at 2008-09-18 12:41 Message generated for change (Comment added) made by rumen You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=2117590&group_id=2435 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Roumen Petrov (rumen) Assigned to: Nobody/Anonymous (nobody) Summary: corection of function asinh - inverse hyperbolic sine Initial Comment: The current implementation of mingwex function with declaration "double asinh(double x)" return unexpected value for some arguments. Please to replace implementation with new one that pass at least following tests(argument->result): 1) 0.0->0.0 2) -0.0->-0.0 3) -1.0000000000000002e+299->-689.16608998577965 The current code return -0.0 for argument 0.0. Uncommenting code for "/* Avoid setting FPU underflow exception flag in x * x. */" isn't enough since the case 3) will return NaN. ---------------------------------------------------------------------- >Comment By: Roumen Petrov (rumen) Date: 2008-09-18 15:13 Message: more test vectors: [-]1.0000000000000002e+99 ->[-]228.64907138697046 //ok [-]1.0000000000000001e+199->[-]458.90758068637501 //but mingwex-nan, native - ok [-]1.0000000000000002e+299->[-]689.16608998577965 //but mingwex-nan, native - ok [-]1.6025136110019349e+308->[-]710.3609292261076 //but mingwex-nan, native - ok ---------------------------------------------------------------------- Comment By: Roumen Petrov (rumen) Date: 2008-09-18 13:53 Message: also asinhl/asinhf return -0.0 too for 0.0 argument. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=2117590&group_id=2435 |
From: SourceForge.net <no...@so...> - 2008-09-18 06:43:08
|
Bugs item #2117590, was opened at 2008-09-18 12:41 Message generated for change (Comment added) made by rumen You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=2117590&group_id=2435 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Roumen Petrov (rumen) Assigned to: Nobody/Anonymous (nobody) Summary: corection of function asinh - inverse hyperbolic sine Initial Comment: The current implementation of mingwex function with declaration "double asinh(double x)" return unexpected value for some arguments. Please to replace implementation with new one that pass at least following tests(argument->result): 1) 0.0->0.0 2) -0.0->-0.0 3) -1.0000000000000002e+299->-689.16608998577965 The current code return -0.0 for argument 0.0. Uncommenting code for "/* Avoid setting FPU underflow exception flag in x * x. */" isn't enough since the case 3) will return NaN. ---------------------------------------------------------------------- >Comment By: Roumen Petrov (rumen) Date: 2008-09-18 16:43 Message: more tests: If we change current code from "return ( x > 0.0 ? z : -z);" to "return ( x >= 0.0 ? z : -z);" the function result is not changed. If we replace return statement with "return copysign(z,x)" the result for {+/-}0.0 argument is as expected in native and emulated environment. But if we try to use function _copysign the result is ok in native environment but fail in emulated. Also with similar changes for functions asinhf/asinhl with respective copysign, i.e. copysignf/copysignl, I see expected result. Did someone know how to resolve problem with big exponent ? ---------------------------------------------------------------------- Comment By: Roumen Petrov (rumen) Date: 2008-09-18 15:13 Message: more test vectors: [-]1.0000000000000002e+99 ->[-]228.64907138697046 //ok [-]1.0000000000000001e+199->[-]458.90758068637501 //but mingwex-nan, native - ok [-]1.0000000000000002e+299->[-]689.16608998577965 //but mingwex-nan, native - ok [-]1.6025136110019349e+308->[-]710.3609292261076 //but mingwex-nan, native - ok ---------------------------------------------------------------------- Comment By: Roumen Petrov (rumen) Date: 2008-09-18 13:53 Message: also asinhl/asinhf return -0.0 too for 0.0 argument. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=2117590&group_id=2435 |