public inbox for libstdc++@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH libstdc++/66689] comp_ellint_3 and ellint_3 return garbage values
@ 2017-11-17 20:06 Ed Smith-Rowland
  2017-11-17 20:54 ` Jonathan Wakely
  0 siblings, 1 reply; 13+ messages in thread
From: Ed Smith-Rowland @ 2017-11-17 20:06 UTC (permalink / raw)
  To: libstdc++, gcc-patches, Jonathan Wakely, redi

[-- Attachment #1: Type: text/plain, Size: 798 bytes --]

This is an embarrassment actually, after the excellent analysis in the 
PR trail.

We've (I've) been using the wrong sign convention for the nu parameter 
in comp_ellint_3 and in ellint_3 in tr1 and now std for years.  In my 
defence the World seems about evenly split on this with GSL, 
Abramowitz&Stegun (and DLMF) and Carlson (that's what actually got me 
here) on the +nu side, and tr1/std, boost on the other -nu side.

We need to get this into 8.

I'm not sure about backporting to 7.  I don't think we should change 
this breaking in the middle of a release series.

I'll write a Mea Culpa warning about changing ellint_3, comp_ellint_3 in 
the release notes and in the libstdc++ pages and the tr29124 conformance 
page later.

This builds and passes on x86-64-linux.

OK for 8?

Ed



[-- Attachment #2: pr66689.CL --]
[-- Type: text/plain, Size: 4365 bytes --]

2017-11-17  Edward Smith-Rowland  <3dw4rd@verizon.net>

	PR libstdc++/pr66689 - comp_ellint_3 and ellint_3 return garbage values
	* include/tr1/ell_integral.tcc: Correct the nu sign convention
	in ellint_3 and comp_ellint_3.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	06_comp_ellint_3/check_value.cc: Regen with correct values.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	14_ellint_3/check_value.cc: Ditto.
	* testsuite/special_functions/06_comp_ellint_3/check_value.cc: Ditto.
	* testsuite/special_functions/13_ellint_3/check_value.cc: Ditto.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	01_assoc_laguerre/check_value.cc: Regen.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	02_assoc_legendre/check_value.cc: Regen.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	03_beta/check_value.cc: Regen.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	04_comp_ellint_1/check_value.cc: Regen.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	05_comp_ellint_2/check_value.cc: Regen.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	07_conf_hyperg/check_value.cc: Regen.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	08_cyl_bessel_i/check_value.cc: Regen.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	09_cyl_bessel_j/check_value.cc: Regen.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	10_cyl_bessel_k/check_value.cc: Regen.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	11_cyl_neumann/check_value.cc: Regen.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	12_ellint_1/check_value.cc: Regen.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	13_ellint_2/check_value.cc: Regen.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	15_expint/check_value_neg.cc: Regen.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	16_hermite/check_value.cc: Regen.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	17_hyperg/check_value.cc: Regen.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	18_laguerre/check_value.cc: Regen.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	19_legendre/check_value.cc: Regen.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	20_riemann_zeta/check_value_neg.cc: Regen.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	21_sph_bessel/check_value.cc: Regen.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	22_sph_legendre/check_value.cc: Regen.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	23_sph_neumann/check_value.cc: Regen.
	* testsuite/ext/special_functions/conf_hyperg/check_value.cc: Regen.
	* testsuite/ext/special_functions/hyperg/check_value.cc: Regen.
	* testsuite/special_functions/01_assoc_laguerre/check_value.cc: Regen.
	* testsuite/special_functions/02_assoc_legendre/check_value.cc: Regen.
	* testsuite/special_functions/03_beta/check_value.cc: Regen.
	* testsuite/special_functions/04_comp_ellint_1/check_value.cc: Regen.
	* testsuite/special_functions/05_comp_ellint_2/check_value.cc: Regen.
	* testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Regen.
	* testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Regen.
	* testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Regen.
 	* testsuite/special_functions/10_cyl_neumann/check_value.cc: Regen.
	* testsuite/special_functions/11_ellint_1/check_value.cc: Regen.
	* testsuite/special_functions/12_ellint_2/check_value.cc: Regen.
	* testsuite/special_functions/14_expint/check_value.cc: Regen.
	* testsuite/special_functions/15_hermite/check_value.cc: Regen.
	* testsuite/special_functions/16_laguerre/check_value.cc: Regen.
	* testsuite/special_functions/17_legendre/check_value.cc: Regen.
	* testsuite/special_functions/18_riemann_zeta/check_value.cc: Regen.
	* testsuite/special_functions/19_sph_bessel/check_value.cc: Regen.
	* testsuite/special_functions/20_sph_legendre/check_value.cc: Regen.
	* testsuite/special_functions/21_sph_neumann/check_value.cc: Regen.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	06_comp_ellint_3/pr66689.cc: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	14_ellint_3/pr66689.cc: New.
	* testsuite/special_functions/06_comp_ellint_3/pr66689.cc: New.
	* testsuite/special_functions/13_ellint_3/pr66689.cc: New.

[-- Attachment #3: pr66689.patch.bz2 --]
[-- Type: application/x-bzip, Size: 246417 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread
* Re: [PATCH libstdc++/66689] comp_ellint_3 and ellint_3 return garbage values
@ 2017-11-20 16:02 David Edelsohn
  2017-11-20 20:44 ` Christophe Lyon
  0 siblings, 1 reply; 13+ messages in thread
From: David Edelsohn @ 2017-11-20 16:02 UTC (permalink / raw)
  To: Ed Smith-Rowland; +Cc: libstdc++, gcc-patches, Jonathan Wakely, redi

This patch has introduced new regressions on at least PowerPC and AArch64.

FAIL: ext/special_functions/hyperg/check_value.cc execution test
FAIL: tr1/5_numerical_facilities/special_functions/17_hyperg/check_value.cc
execution test

Thanks, David

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2017-12-05 18:36 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-17 20:06 [PATCH libstdc++/66689] comp_ellint_3 and ellint_3 return garbage values Ed Smith-Rowland
2017-11-17 20:54 ` Jonathan Wakely
2017-11-18 16:49   ` Ed Smith-Rowland
2017-11-20 16:39     ` Jonathan Wakely
2017-11-21 11:33     ` Florian Weimer
2017-11-21 13:35       ` Jonathan Wakely
2017-11-22  0:19       ` Joseph Myers
2017-11-20 16:02 David Edelsohn
2017-11-20 20:44 ` Christophe Lyon
2017-11-20 21:01   ` Jonathan Wakely
2017-11-20 21:07     ` Jonathan Wakely
2017-11-20 21:51       ` Jonathan Wakely
2017-12-05 18:36         ` David Edelsohn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).