X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=n1256.html;h=7235654d9c59181deac889dc0bc4d4e627cb84ff;hb=d1af4fc376749aa3bb0386727923e975680be227;hp=440a39ef2bb523deaf10dc32b5bbb3553fa876ef;hpb=643b668e5d03588b08459174b3bed69e31f97b7b;p=c-standard diff --git a/n1256.html b/n1256.html index 440a39e..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; @@ -1629,7 +1629,7 @@ Forward references: conditional inclusion (6.10.1), 21) There is no linkage between different identifiers. 22) A function declaration can contain the storage-class specifier static only if it is at file scope; see - 6.7.1. + 6.7.1. [page 30] (Contents) @@ -3104,7 +3104,7 @@ Forward references: conditional inclusion (6.10.1), object (in which case it is an lvalue) or a function (in which case it is a function designator).79) 3 A constant is a primary expression. Its type depends on its form and value, as detailed in - 6.4.4. + 6.4.4. 4 A string literal is a primary expression. It is an lvalue with type as detailed in 6.4.5. 5 A parenthesized expression is a primary expression. Its type and value are identical to those of the unparenthesized expression. It is an lvalue, a function designator, or a void @@ -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 }; @@ -10305,7 +10305,7 @@ char int_p_sep_by_space 7.18.2 Limits of specified-width integer types 1 The following object-like macros226) specify the minimum and maximum limits of the types declared in <stdint.h>. Each macro name corresponds to a similar type name in - 7.18.1. + 7.18.1. 2 Each instance of any defined macro shall be replaced by a constant expression suitable for use in #if preprocessing directives, and this expression shall have the same type as would an expression that is an object of the corresponding type converted according to @@ -10408,7 +10408,7 @@ char int_p_sep_by_space 1 The following function-like macros230) expand to integer constants suitable for initializing objects that have integer types corresponding to types defined in <stdint.h>. Each macro name corresponds to a similar type name in 7.18.1.2 or - 7.18.1.5. + 7.18.1.5. 2 The argument in any instance of these macros shall be an unsuffixed integer constant (as defined in 6.4.4.1) with a value that does not exceed the limits for the corresponding type. 3 Each invocation of one of these macros shall expand to an integer constant expression @@ -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)