From d1af4fc376749aa3bb0386727923e975680be227 Mon Sep 17 00:00:00 2001 From: nsz Date: Mon, 4 Jul 2011 13:41:55 +0200 Subject: [PATCH] [0-9].0 is not a section but a float literal --- n1256.html | 42 +++++++++++++++++++++--------------------- n1548.html | 42 +++++++++++++++++++++--------------------- tohtml.sh | 2 +- 3 files changed, 43 insertions(+), 43 deletions(-) diff --git a/n1256.html b/n1256.html index 791746b..7235654 100644 --- a/n1256.html +++ b/n1256.html @@ -993,7 +993,7 @@ preprocessing directives (6.10), trigraph sequences (2.0, which has type double). + were replaced by the constant 2.0, which has type double). @@ -1021,8 +1021,8 @@ preprocessing directives (6.10), trigraph sequences (1.0 + y); - y = x / 5.0; // not equivalent to y = x * 0.2; + z = x + x * y; // not equivalent to z = x * (1.0 + y); + y = x / 5.0; // not equivalent to y = x * 0.2; 14 EXAMPLE 6 To illustrate the grouping behavior of expressions, in the following fragment int a, b; @@ -4871,11 +4871,11 @@ Forward references: conditional inclusion (6.10.1), extern creates an external definition. The following example shows an entire translation unit. inline double fahr(double t) { - return (9.0 * t) / 5.0 + 32.0; + return (9.0 * t) / 5.0 + 32.0; } inline double cels(double t) { - return (5.0 * (t - 32.0)) / 9.0; + return (5.0 * (t - 32.0)) / 9.0; } extern double fahr(double); // creates an external definition double convert(int is_fahr, double temp) @@ -5496,7 +5496,7 @@ Forward references: conditional inclusion (6.10.1), 24 EXAMPLE 1 Provided that <complex.h> has been #included, the declarations int i = 3.5; double complex c = 5 + 3 * I; - define and initialize i with the value 3 and c with the value 5.0 + i3.0. + define and initialize i with the value 3 and c with the value 5.0 + i3.0. 25 EXAMPLE 2 The declaration int x[] = { 1, 3, 5 }; @@ -11230,7 +11230,7 @@ s If no l length modifier is present, the argument shall be a pointe int day, hour, min; fprintf(stdout, "%s, %s %d, %.2d:%.2d\n", weekday, month, day, hour, min); - fprintf(stdout, "pi = %.5f\n", 4 * atan(1.0)); + fprintf(stdout, "pi = %.5f\n", 4 * atan(1.0)); 17 EXAMPLE 2 In this example, multibyte characters do not have a state-dependent encoding, and the members of the extended character set that consist of more than one byte each consist of exactly two bytes, @@ -14073,7 +14073,7 @@ p The argument shall be a pointer to void. The value of the pointer i int day, hour, min; fwprintf(stdout, L"%ls, %ls %d, %.2d:%.2d\n", weekday, month, day, hour, min); - fwprintf(stdout, L"pi = %.5f\n", 4 * atan(1.0)); + fwprintf(stdout, L"pi = %.5f\n", 4 * atan(1.0)); Forward references: the btowc function (7.24.6.1.1), the mbrtowc function (7.24.6.3.2). @@ -17621,11 +17621,11 @@ Special characters: 00B5, 00B7, 02B0-02B8, 02BB, 02BD-02C1, 02D0-02D1, conversion is subject to default rounding modes and raises no execution-time floating-point exceptions (even where the state of the FENV_ACCESS pragma is ''on''). Library functions, for example strtod, provide execution-time conversion of numeric strings. - 315) Where the state for the FENV_ACCESS pragma is ''on'', results of inexact expressions like 1.0/3.0 + 315) Where the state for the FENV_ACCESS pragma is ''on'', results of inexact expressions like 1.0/3.0 are affected by rounding modes set at execution time, and expressions such as 0.0/0.0 and - 1.0/0.0 generate execution-time floating-point exceptions. The programmer can achieve the + 1.0/0.0 generate execution-time floating-point exceptions. The programmer can achieve the efficiency of translation-time evaluation through static initialization, such as - const static double one_third = 1.0/3.0; + const static double one_third = 1.0/3.0; [page 449] (Contents) @@ -17718,7 +17718,7 @@ Special characters: 00B5, 00B7, 02B0-02B8, 02BB, 02BD-02C1, 02D0-02D1, and others that round perfectly. 1 * x and x / 1 (->) x The expressions 1 * x, x / 1, and x are equivalent (on IEC 60559 machines, among others).317) - x / x (->) 1.0 The expressions x / x and 1.0 are not equivalent if x + x / x (->) 1.0 The expressions x / x and 1.0 are not equivalent if x can be zero, infinite, or NaN. x - y (<->) x + (-y) The expressions x - y, x + (-y), and (-y) + x are equivalent (on IEC 60559 machines, among others). @@ -18381,16 +18381,16 @@ Special characters: 00B5, 00B7, 02B0-02B8, 02BB, 02BD-02C1, 02D0-02D1, int recalc = 0; if ( isinf(a) || isinf(b) ) { // z is infinite /* "Box" the infinity and change NaNs in the other factor to 0 */ - a = copysign(isinf(a) ? 1.0 : 0.0, a); - b = copysign(isinf(b) ? 1.0 : 0.0, b); + a = copysign(isinf(a) ? 1.0 : 0.0, a); + b = copysign(isinf(b) ? 1.0 : 0.0, b); if (isnan(c)) c = copysign(0.0, c); if (isnan(d)) d = copysign(0.0, d); recalc = 1; } if ( isinf(c) || isinf(d) ) { // w is infinite /* "Box" the infinity and change NaNs in the other factor to 0 */ - c = copysign(isinf(c) ? 1.0 : 0.0, c); - d = copysign(isinf(d) ? 1.0 : 0.0, d); + c = copysign(isinf(c) ? 1.0 : 0.0, c); + d = copysign(isinf(d) ? 1.0 : 0.0, d); if (isnan(a)) a = copysign(0.0, a); if (isnan(b)) b = copysign(0.0, b); recalc = 1; @@ -18446,15 +18446,15 @@ Special characters: 00B5, 00B7, 02B0-02B8, 02BB, 02BD-02C1, 02D0-02D1, } else if ((isinf(a) || isinf(b)) && isfinite(c) && isfinite(d)) { - a = copysign(isinf(a) ? 1.0 : 0.0, a); - b = copysign(isinf(b) ? 1.0 : 0.0, b); + a = copysign(isinf(a) ? 1.0 : 0.0, a); + b = copysign(isinf(b) ? 1.0 : 0.0, b); x = INFINITY * ( a * c + b * d ); y = INFINITY * ( b * c - a * d ); } else if (isinf(logbw) && isfinite(a) && isfinite(b)) { - c = copysign(isinf(c) ? 1.0 : 0.0, c); - d = copysign(isinf(d) ? 1.0 : 0.0, d); + c = copysign(isinf(c) ? 1.0 : 0.0, c); + d = copysign(isinf(d) ? 1.0 : 0.0, d); x = 0.0 * ( a * c + b * d ); y = 0.0 * ( b * c - a * d ); @@ -18855,7 +18855,7 @@ Special characters: 00B5, 00B7, 02B0-02B8, 02BB, 02BD-02C1, 02D0-02D1, divF x / y negF -x absF fabsf(x), fabs(x), fabsl(x) - exponentF 1.f+logbf(x), 1.0+logb(x), 1.L+logbl(x) + exponentF 1.f+logbf(x), 1.0+logb(x), 1.L+logbl(x) scaleF scalbnf(x, n), scalbn(x, n), scalbnl(x, n), scalblnf(x, li), scalbln(x, li), scalblnl(x, li) intpartF modff(x, &y), modf(x, &y), modfl(x, &y) diff --git a/n1548.html b/n1548.html index bacc161..d09b7a6 100644 --- a/n1548.html +++ b/n1548.html @@ -1248,7 +1248,7 @@ preprocessing directives (6.10), trigraph sequences (2.0, which has type double). + were replaced by the constant 2.0, which has type double). 13 EXAMPLE 4 Implementations employing wide registers have to take care to honor appropriate semantics. Values are independent of whether they are represented in a register or in memory. For @@ -1271,8 +1271,8 @@ preprocessing directives (6.10), trigraph sequences (1.0 + y); - y = x / 5.0; // not equivalent to y = x * 0.2; + z = x + x * y; // not equivalent to z = x * (1.0 + y); + y = x / 5.0; // not equivalent to y = x * 0.2; 15 EXAMPLE 6 To illustrate the grouping behavior of expressions, in the following fragment int a, b; @@ -5665,11 +5665,11 @@ Forward references: conditional inclusion (6.10.1), extern creates an external definition. The following example shows an entire translation unit. inline double fahr(double t) { - return (9.0 * t) / 5.0 + 32.0; + return (9.0 * t) / 5.0 + 32.0; } inline double cels(double t) { - return (5.0 * (t - 32.0)) / 9.0; + return (5.0 * (t - 32.0)) / 9.0; } extern double fahr(double); // creates an external definition double convert(int is_fahr, double temp) @@ -6337,7 +6337,7 @@ Forward references: conditional inclusion (6.10.1), 24 EXAMPLE 1 Provided that <complex.h> has been #included, the declarations int i = 3.5; double complex c = 5 + 3 * I; - define and initialize i with the value 3 and c with the value 5.0 + i3.0. + define and initialize i with the value 3 and c with the value 5.0 + i3.0. 25 EXAMPLE 2 The declaration int x[] = { 1, 3, 5 }; @@ -12756,7 +12756,7 @@ s If no l length modifier is present, the argument shall be a pointe int day, hour, min; fprintf(stdout, "%s, %s %d, %.2d:%.2d\n", weekday, month, day, hour, min); - fprintf(stdout, "pi = %.5f\n", 4 * atan(1.0)); + fprintf(stdout, "pi = %.5f\n", 4 * atan(1.0)); 17 EXAMPLE 2 In this example, multibyte characters do not have a state-dependent encoding, and the members of the extended character set that consist of more than one byte each consist of exactly two bytes, @@ -16224,7 +16224,7 @@ p The argument shall be a pointer to void. The value of the pointer i int day, hour, min; fwprintf(stdout, L"%ls, %ls %d, %.2d:%.2d\n", weekday, month, day, hour, min); - fwprintf(stdout, L"pi = %.5f\n", 4 * atan(1.0)); + fwprintf(stdout, L"pi = %.5f\n", 4 * atan(1.0)); Forward references: the btowc function (7.28.6.1.1), the mbrtowc function (7.28.6.3.2). @@ -20141,11 +20141,11 @@ n No input is consumed. The corresponding argument shall be a pointer conversion is subject to default rounding modes and raises no execution-time floating-point exceptions (even where the state of the FENV_ACCESS pragma is ''on''). Library functions, for example strtod, provide execution-time conversion of numeric strings. - 353) Where the state for the FENV_ACCESS pragma is ''on'', results of inexact expressions like 1.0/3.0 + 353) Where the state for the FENV_ACCESS pragma is ''on'', results of inexact expressions like 1.0/3.0 are affected by rounding modes set at execution time, and expressions such as 0.0/0.0 and - 1.0/0.0 generate execution-time floating-point exceptions. The programmer can achieve the + 1.0/0.0 generate execution-time floating-point exceptions. The programmer can achieve the efficiency of translation-time evaluation through static initialization, such as - const static double one_third = 1.0/3.0; + const static double one_third = 1.0/3.0; [page 508] (Contents) @@ -20249,7 +20249,7 @@ n No input is consumed. The corresponding argument shall be a pointer IEC 60559 machines and others that round perfectly. 1 x x and x/1 (->) x The expressions 1 x x, x/1, and x are equivalent (on IEC 60559 machines, among others).355) - x/x (->) 1.0 The expressions x/x and 1.0 are not equivalent if x can be zero, + x/x (->) 1.0 The expressions x/x and 1.0 are not equivalent if x can be zero, infinite, or NaN. x - y (<->) x + (-y) The expressions x - y, x + (-y), and (-y) + x are equivalent (on IEC 60559 machines, among others). @@ -20959,16 +20959,16 @@ n No input is consumed. The corresponding argument shall be a pointer int recalc = 0; if ( isinf(a) || isinf(b) ) { // z is infinite /* "Box" the infinity and change NaNs in the other factor to 0 */ - a = copysign(isinf(a) ? 1.0 : 0.0, a); - b = copysign(isinf(b) ? 1.0 : 0.0, b); + a = copysign(isinf(a) ? 1.0 : 0.0, a); + b = copysign(isinf(b) ? 1.0 : 0.0, b); if (isnan(c)) c = copysign(0.0, c); if (isnan(d)) d = copysign(0.0, d); recalc = 1; } if ( isinf(c) || isinf(d) ) { // w is infinite /* "Box" the infinity and change NaNs in the other factor to 0 */ - c = copysign(isinf(c) ? 1.0 : 0.0, c); - d = copysign(isinf(d) ? 1.0 : 0.0, d); + c = copysign(isinf(c) ? 1.0 : 0.0, c); + d = copysign(isinf(d) ? 1.0 : 0.0, d); if (isnan(a)) a = copysign(0.0, a); if (isnan(b)) b = copysign(0.0, b); recalc = 1; @@ -21024,15 +21024,15 @@ n No input is consumed. The corresponding argument shall be a pointer } else if ((isinf(a) || isinf(b)) && isfinite(c) && isfinite(d)) { - a = copysign(isinf(a) ? 1.0 : 0.0, a); - b = copysign(isinf(b) ? 1.0 : 0.0, b); + a = copysign(isinf(a) ? 1.0 : 0.0, a); + b = copysign(isinf(b) ? 1.0 : 0.0, b); x = INFINITY * ( a * c + b * d ); y = INFINITY * ( b * c - a * d ); } else if (isinf(logbw) && isfinite(a) && isfinite(b)) { - c = copysign(isinf(c) ? 1.0 : 0.0, c); - d = copysign(isinf(d) ? 1.0 : 0.0, d); + c = copysign(isinf(c) ? 1.0 : 0.0, c); + d = copysign(isinf(d) ? 1.0 : 0.0, d); x = 0.0 * ( a * c + b * d ); y = 0.0 * ( b * c - a * d ); @@ -21433,7 +21433,7 @@ n No input is consumed. The corresponding argument shall be a pointer divF x / y negF -x absF fabsf(x), fabs(x), fabsl(x) - exponentF 1.f+logbf(x), 1.0+logb(x), 1.L+logbl(x) + exponentF 1.f+logbf(x), 1.0+logb(x), 1.L+logbl(x) scaleF scalbnf(x, n), scalbn(x, n), scalbnl(x, n), scalblnf(x, li), scalbln(x, li), scalblnl(x, li) intpartF modff(x, &y), modf(x, &y), modfl(x, &y) diff --git a/tohtml.sh b/tohtml.sh index f71aa34..b764269 100755 --- a/tohtml.sh +++ b/tohtml.sh @@ -73,7 +73,7 @@ BEGIN { while (match(s, r)) { p = p substr(s,1,RSTART) m = substr(s,RSTART+1,RLENGTH-1) - if (m ~ /[4-9][0-9]/ || m ~ /[0-3][0-9][0-9]/ || substr(s,RSTART+RLENGTH,1) ~ /[a-zA-Z\-]/) + if (m ~ /\.0$/ || m ~ /[4-9][0-9]/ || m ~ /[0-3][0-9][0-9]/ || substr(s,RSTART+RLENGTH,1) ~ /[a-zA-Z\-]/) p = p m else p = p "" m "" -- 2.20.1