@@ -2832,8 +2832,7 @@ long_add_would_overflow(long a, long b)
28322832}
28332833
28342834/*
2835- Double and triple length extended precision floating point arithmetic
2836- based on:
2835+ Double and triple length extended precision algorithms from:
28372836
28382837 Accurate Sum and Dot Product
28392838 by Takeshi Ogita, Siegfried M. Rump, and Shin’Ichi Oishi
@@ -2847,7 +2846,7 @@ typedef struct{ double hi; double lo; } DoubleLength;
28472846static DoubleLength
28482847dl_sum (double a , double b )
28492848{
2850- // Algorithm 3.1 Error-free transformation of the sum
2849+ /* Algorithm 3.1 Error-free transformation of the sum */
28512850 double x = a + b ;
28522851 double z = x - a ;
28532852 double y = (a - (x - z )) + (b - z );
@@ -2857,7 +2856,7 @@ dl_sum(double a, double b)
28572856static DoubleLength
28582857dl_mul (double x , double y )
28592858{
2860- // Algorithm 3.5. Error-free transformation of a product
2859+ /* Algorithm 3.5. Error-free transformation of a product */
28612860 double z = x * y ;
28622861 double zz = fma (x , y , - z );
28632862 return (DoubleLength ) {z , zz };
@@ -2870,7 +2869,7 @@ static const TripleLength tl_zero = {0.0, 0.0, 0.0};
28702869static TripleLength
28712870tl_fma (double x , double y , TripleLength total )
28722871{
2873- // Algorithm 5.10 with SumKVert for K=3
2872+ /* Algorithm 5.10 with SumKVert for K=3 */
28742873 DoubleLength pr = dl_mul (x , y );
28752874 DoubleLength sm = dl_sum (total .hi , pr .hi );
28762875 DoubleLength r1 = dl_sum (total .lo , pr .lo );
0 commit comments