X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=n1548.html;h=47d9b1b214e2787172520addc23891ffd0f0a154;hb=6c55e01324160ad9e3d4453aead2dabbc85c90f2;hp=5536763ce9dac469333b9b3311617415e95533c2;hpb=7df8cd2a500cd0285ce82e96357a0d7e06b3956f;p=c-standard diff --git a/n1548.html b/n1548.html index 5536763..47d9b1b 100644 --- a/n1548.html +++ b/n1548.html @@ -44,7 +44,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. -

Contents

+

Contents

-

Foreword

+

Foreword

ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the specialized system for worldwide @@ -692,7 +692,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. are also for information only. -

Introduction

+

Introduction

With the introduction of new devices and extended character sets, new features may be added to this International Standard. Subclauses in the language and library clauses warn @@ -731,7 +731,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. -

1. Scope

+

1. Scope

This International Standard specifies the form and establishes the interpretation of programs written in the C programming language.1) It specifies @@ -767,7 +767,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. data-processing systems. It is intended for use by implementors and programmers. -

2. Normative references

+

2. Normative references

The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, @@ -794,7 +794,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. designated IEC 559:1989). -

3. Terms, definitions, and symbols

+

3. Terms, definitions, and symbols

For the purposes of this International Standard, the following definitions apply. Other terms are defined where they appear in italic type or on the left side of a syntax rule. @@ -803,9 +803,9 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. Standard are to be interpreted according to ISO/IEC 2382-1. Mathematical symbols not defined in this International Standard are to be interpreted according to ISO 31-11. -

3.1

+

3.1

- access + access
<execution-time action> to read or modify the value of an object

NOTE 1 Where only one of these two actions is meant, ''read'' or ''modify'' is used. @@ -817,38 +817,38 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. NOTE 3 Expressions that are not evaluated do not access objects. -

3.2

+

3.2

- alignment + alignment
requirement that objects of a particular type be located on storage boundaries with addresses that are particular multiples of a byte address -

3.3

+

3.3

- argument + argument
actual argument actual parameter (deprecated) expression in the comma-separated list bounded by the parentheses in a function call expression, or a sequence of preprocessing tokens in the comma-separated list bounded by the parentheses in a function-like macro invocation -

3.4

+

3.4

- behavior + behavior
external appearance or action -

3.4.1

+

3.4.1

- implementation-defined behavior + implementation-defined behavior
unspecified behavior where each implementation documents how the choice is made

EXAMPLE An example of implementation-defined behavior is the propagation of the high-order bit when a signed integer is shifted right. -

3.4.2

+

3.4.2

- locale-specific behavior + locale-specific behavior
behavior that depends on local conventions of nationality, culture, and language that each implementation documents @@ -857,9 +857,9 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. characters other than the 26 lowercase Latin letters. -

3.4.3

+

3.4.3

- undefined behavior + undefined behavior
behavior, upon use of a nonportable or erroneous program construct or of erroneous data, for which this International Standard imposes no requirements

@@ -872,9 +872,9 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. EXAMPLE An example of undefined behavior is the behavior on integer overflow. -

3.4.4

+

3.4.4

- unspecified behavior + unspecified behavior
use of an unspecified value, or other behavior where this International Standard provides two or more possibilities and imposes no further requirements on which is chosen in any instance @@ -883,18 +883,18 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. evaluated. -

3.5

+

3.5

- bit + bit
unit of data storage in the execution environment large enough to hold an object that may have one of two values

NOTE It need not be possible to express the address of each individual bit of an object. -

3.6

+

3.6

- byte + byte
addressable unit of data storage large enough to hold any member of the basic character set of the execution environment

@@ -906,73 +906,73 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. bit. -

3.7

+

3.7

- character + character
<abstract> member of a set of elements used for the organization, control, or representation of data -

3.7.1

+

3.7.1

- character + character
single-byte character <C> bit representation that fits in a byte -

3.7.2

+

3.7.2

- multibyte character + multibyte character
sequence of one or more bytes representing a member of the extended character set of either the source or the execution environment

NOTE The extended character set is a superset of the basic character set. -

3.7.3

+

3.7.3

- wide character + wide character
bit representation that fits in an object of type wchar_t, capable of representing any character in the current locale -

3.8

+

3.8

- constraint + constraint
restriction, either syntactic or semantic, by which the exposition of language elements is to be interpreted -

3.9

+

3.9

- correctly rounded result + correctly rounded result
representation in the result format that is nearest in value, subject to the current rounding mode, to what the result would be given unlimited range and precision -

3.10

+

3.10

- diagnostic message + diagnostic message
message belonging to an implementation-defined subset of the implementation's message output -

3.11

+

3.11

- forward reference + forward reference
reference to a later subclause of this International Standard that contains additional information relevant to this subclause -

3.12

+

3.12

- implementation + implementation
particular set of software, running in a particular translation environment under particular control options, that performs translation of programs for, and supports execution of functions in, a particular execution environment -

3.13

+

3.13

- implementation limit + implementation limit
restriction imposed upon programs by the implementation -

3.14

+

3.14

- memory location + memory location
either an object of scalar type, or a maximal sequence of adjacent bit-fields all having nonzero width @@ -1002,33 +1002,33 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. modified, but b and a, for example, can be. -

3.15

+

3.15

- object + object
region of data storage in the execution environment, the contents of which can represent values

NOTE When referenced, an object may be interpreted as having a particular type; see 6.3.2.1. -

3.16

+

3.16

- parameter + parameter
formal parameter formal argument (deprecated) object declared as part of a function declaration or definition that acquires a value on entry to the function, or an identifier from the comma-separated list bounded by the parentheses immediately following the macro name in a function-like macro definition -

3.17

+

3.17

- recommended practice + recommended practice
specification that is strongly recommended as being in keeping with the intent of the standard, but that may be impractical for some implementations -

3.18

+

3.18

- runtime-constraint + runtime-constraint
requirement on a program when calling a library function

NOTE 1 Despite the similar terms, a runtime-constraint is not a kind of constraint as defined by 3.8, and @@ -1039,38 +1039,38 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. constraints for a library function are not violated by the program; see K.3.1.4. -

3.19

+

3.19

- value + value
precise meaning of the contents of an object when interpreted as having a specific type -

3.19.1

+

3.19.1

- implementation-defined value + implementation-defined value
unspecified value where each implementation documents how the choice is made -

3.19.2

+

3.19.2

- indeterminate value + indeterminate value
either an unspecified value or a trap representation -

3.19.3

+

3.19.3

- unspecified value + unspecified value
valid value of the relevant type where this International Standard imposes no requirements on which value is chosen in any instance

NOTE An unspecified value cannot be a trap representation. -

3.19.4

+

3.19.4

- trap representation + trap representation
an object representation that need not represent a value of the object type -

3.19.5

+

3.19.5

- perform a trap + perform a trap
interrupt execution of the program such that no further operations are performed

NOTE In this International Standard, when the word ''trap'' is not immediately followed by @@ -1082,17 +1082,17 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. representation might perform a trap but is not required to (see 6.2.6.1). -

3.20

+

3.20

- [^ x^] + [^ x^]
ceiling of x: the least integer greater than or equal to x

EXAMPLE [^2.4^] is 3, [^-2.4^] is -2. -

3.21

+

3.21

- [_ x_] + [_ x_]
floor of x: the greatest integer less than or equal to x

EXAMPLE [_2.4_] is 2, [_-2.4_] is -3. @@ -1102,7 +1102,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. -

4. Conformance

+

4. Conformance

In this International Standard, ''shall'' is to be interpreted as a requirement on an implementation or on a program; conversely, ''shall not'' is to be interpreted as a @@ -1175,7 +1175,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. implementation. -

5. Environment

+

5. Environment

An implementation translates C source files and executes C programs in two data- processing-system environments, which will be called the translation environment and @@ -1185,11 +1185,11 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.

Forward references: In this clause, only a few of many possible forward references have been noted. -

5.1 Conceptual models

+

5.1 Conceptual models

-

5.1.1 Translation environment

+

5.1.1 Translation environment

-
5.1.1.1 Program structure
+
5.1.1.1 Program structure

A C program need not all be translated at the same time. The text of the program is kept in units called source files, (or preprocessing files) in this International Standard. A @@ -1204,7 +1204,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.

Forward references: linkages of identifiers (6.2.2), external definitions (6.9), preprocessing directives (6.10). -

5.1.1.2 Translation phases
+
5.1.1.2 Translation phases

The precedence among the syntax rules of translation is specified by the following phases.6) @@ -1269,7 +1269,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. character. -

5.1.1.3 Diagnostics
+
5.1.1.3 Diagnostics

A conforming implementation shall produce at least one diagnostic message (identified in an implementation-defined manner) if a preprocessing translation unit or translation unit @@ -1291,7 +1291,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. valid program is still correctly translated. It may also successfully translate an invalid program. -

5.1.2 Execution environments

+

5.1.2 Execution environments

Two execution environments are defined: freestanding and hosted. In both cases, program startup occurs when a designated C function is called by the execution @@ -1301,7 +1301,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. environment.

Forward references: storage durations of objects (6.2.4), initialization (6.7.9). -

5.1.2.1 Freestanding environment
+
5.1.2.1 Freestanding environment

In a freestanding environment (in which C program execution may take place without any benefit of an operating system), the name and type of the function called at program @@ -1311,7 +1311,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. The effect of program termination in a freestanding environment is implementation- defined. -

5.1.2.2 Hosted environment
+
5.1.2.2 Hosted environment

A hosted environment need not be provided, but shall conform to the following specifications if present. @@ -1321,7 +1321,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. -

5.1.2.2.1 Program startup
+
5.1.2.2.1 Program startup

The function called at program startup is named main. The implementation declares no prototype for this function. It shall be defined with a return type of int and with no @@ -1361,7 +1361,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. char ** argv, and so on. -

5.1.2.2.2 Program execution
+
5.1.2.2.2 Program execution

In a hosted environment, a program may use all the functions, macros, type definitions, and objects described in the library clause (clause 7). @@ -1371,7 +1371,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. -

5.1.2.2.3 Program termination
+
5.1.2.2.3 Program termination

If the return type of the main function is a type compatible with int, a return from the initial call to the main function is equivalent to calling the exit function with the value @@ -1385,7 +1385,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. will have ended in the former case, even where they would not have in the latter. -

5.1.2.3 Program execution
+
5.1.2.3 Program execution

The semantic descriptions in this International Standard describe the behavior of an abstract machine in which issues of optimization are irrelevant. @@ -1562,7 +1562,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. cannot interleave, but can be executed in any order. -

5.1.2.4 Multi-threaded executions and data races
+
5.1.2.4 Multi-threaded executions and data races

Under a hosted implementation, a program can have more than one thread of execution (or thread) running concurrently. The execution of each thread proceeds as defined by @@ -1780,9 +1780,9 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. release/consume in place of release/acquire. -

5.2 Environmental considerations

+

5.2 Environmental considerations

-

5.2.1 Character sets

+

5.2.1 Character sets

Two sets of characters and their associated collating sequences shall be defined: the set in which source files are written (the source character set), and the set interpreted in the @@ -1834,7 +1834,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.

Forward references: universal character names (6.4.3), character constants (6.4.4.4), preprocessing directives (6.10), string literals (6.4.5), comments (6.4.9), string (7.1.1). -

5.2.1.1 Trigraph sequences
+
5.2.1.1 Trigraph sequences

Before any other processing takes place, each occurrence of one of the following sequences of three characters (called trigraph sequences17)) is replaced with the @@ -1867,7 +1867,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. described in ISO/IEC 646, which is a subset of the seven-bit US ASCII code set. -

5.2.1.2 Multibyte characters
+
5.2.1.2 Multibyte characters

The source character set may contain multibyte characters, used to represent members of the extended character set. The execution character set may also contain multibyte @@ -1898,7 +1898,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. of a sequence of valid multibyte characters. -

5.2.2 Character display semantics

+

5.2.2 Character display semantics

The active position is that location on a display device where the next character output by the fputc function would appear. The intent of writing a printing character (as defined @@ -1936,7 +1936,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. International Standard.

Forward references: the isprint function (7.4.1.8), the fputc function (7.21.7.3). -

5.2.3 Signals and interrupts

+

5.2.3 Signals and interrupts

Functions shall be implemented such that they may be interrupted at any time by a signal, or may be called by a signal handler, or both, with no alteration to earlier, but still active, @@ -1945,14 +1945,14 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. image (the instructions that compose the executable representation of a function) on a per-invocation basis. -

5.2.4 Environmental limits

+

5.2.4 Environmental limits

Both the translation and execution environments constrain the implementation of language translators and libraries. The following summarizes the language-related environmental limits on a conforming implementation; the library-related limits are discussed in clause 7. -

5.2.4.1 Translation limits
+
5.2.4.1 Translation limits

The implementation shall be able to translate and execute at least one program that contains at least one instance of every one of the following limits:18) @@ -1999,14 +1999,14 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.

19) See ''future language directions'' (6.11.3). -

5.2.4.2 Numerical limits
+
5.2.4.2 Numerical limits

An implementation is required to document all the limits specified in this subclause, which are specified in the headers <limits.h> and <float.h>. Additional limits are specified in <stdint.h>.

Forward references: integer types <stdint.h> (7.20). -

5.2.4.2.1 Sizes of integer types
+
5.2.4.2.1 Sizes of integer types

The values given below shall be replaced by constant expressions suitable for use in #if preprocessing directives. Moreover, except for CHAR_BIT and MB_LEN_MAX, the @@ -2070,7 +2070,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.

20) See 6.2.5. -

5.2.4.2.2 Characteristics of floating types
+
5.2.4.2.2 Characteristics of floating types

The characteristics of floating types are defined in terms of a model that describes a representation of floating-point numbers and values that provide information about an @@ -2269,7 +2269,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. DBL_TRUE_MIN 1E-37 LDBL_TRUE_MIN 1E-37 - Recommended practice +

Recommended practice

Conversion from (at least) double to decimal with DECIMAL_DIG digits and back should be the identity function. @@ -2390,9 +2390,9 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. limits are one less than shown here. -

6. Language

+

6. Language

-

6.1 Notation

+

6.1 Notation

In the syntax notation used in this clause, syntactic categories (nonterminals) are indicated by italic type, and literal words and character set members (terminals) by bold @@ -2408,9 +2408,9 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.

A summary of the language syntax is given in annex A. -

6.2 Concepts

+

6.2 Concepts

-

6.2.1 Scopes of identifiers

+

6.2.1 Scopes of identifiers

An identifier can denote an object; a function; a tag or a member of a structure, union, or enumeration; a typedef name; a label name; a macro name; or a macro parameter. The @@ -2466,7 +2466,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. (6.9.1), identifiers (6.4.2), macro replacement (6.10.3), name spaces of identifiers (6.2.3), source file inclusion (6.10.2), statements (6.8). -

6.2.2 Linkages of identifiers

+

6.2.2 Linkages of identifiers

An identifier declared in different scopes or in the same scope more than once can be made to refer to the same object or function by a process called linkage.29) There are @@ -2514,7 +2514,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.

31) As specified in 6.2.1, the later declaration might hide the prior declaration. -

6.2.3 Name spaces of identifiers

+

6.2.3 Name spaces of identifiers

If more than one declaration of a particular identifier is visible at any point in a translation unit, the syntactic context disambiguates uses that refer to different entities. @@ -2539,7 +2539,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.

32) There is only one name space for tags even though three are possible. -

6.2.4 Storage durations of objects

+

6.2.4 Storage durations of objects

An object has a storage duration that determines its lifetime. There are four storage durations: static, thread, automatic, and allocated. Allocated storage is described in @@ -2610,7 +2610,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.

36) The address of such an object is taken implicitly when an array member is accessed. -

6.2.5 Types

+

6.2.5 Types

The meaning of a value stored in an object or returned by a function is determined by the type of the expression used to access it. (An identifier declared to be an object is the @@ -2786,7 +2786,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. include the atomic types.

A pointer to void shall have the same representation and alignment requirements as a - pointer to a character type.48) Similarly, pointers to qualified or unqualified versions of + pointer to a character type.48) Similarly, pointers to qualified or unqualified versions of compatible types shall have the same representation and alignment requirements. All pointers to structure types shall have the same representation and alignment requirements as each other. All pointers to union types shall have the same representation and @@ -2846,9 +2846,9 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. arguments to functions, return values from functions, and members of unions. -

6.2.6 Representations of types

+

6.2.6 Representations of types

-
6.2.6.1 General
+
6.2.6.1 General

The representations of all types are unspecified except as stated in this subclause.

@@ -2922,7 +2922,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. on values of type T may distinguish between them. -

6.2.6.2 Integer types
+
6.2.6.2 Integer types

For unsigned integer types other than unsigned char, the bits of the object representation shall be divided into two groups: value bits and padding bits (there need @@ -2995,7 +2995,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. bits. -

6.2.7 Compatible type and composite type

+

6.2.7 Compatible type and composite type

Two types have compatible type if their types are the same. Additional rules for determining whether two types are compatible are described in 6.7.2 for type specifiers, @@ -3065,7 +3065,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.

56) As specified in 6.2.1, the later declaration might hide the prior declaration. -

6.2.8 Alignment of objects

+

6.2.8 Alignment of objects

Complete object types have alignment requirements which place restrictions on the addresses at which objects of that type may be allocated. An alignment is an @@ -3112,7 +3112,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. alignment has been applied. -

6.3 Conversions

+

6.3 Conversions

Several operators convert operand values from one type to another automatically. This subclause specifies the result required from such an implicit conversion, as well as those @@ -3124,9 +3124,9 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. representation.

Forward references: cast operators (6.5.4). -

6.3.1 Arithmetic operands

+

6.3.1 Arithmetic operands

-
6.3.1.1 Boolean, characters, and integers
+
6.3.1.1 Boolean, characters, and integers

Every integer type has an integer conversion rank defined as follows:

-

F.8.4 Constant expressions

+

F.8.4 Constant expressions

An arithmetic constant expression of floating type, other than one in an initializer for an object that has static or thread storage duration, is evaluated (as if) during execution; thus, @@ -24198,7 +24198,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. const static double one_third = 1.0/3.0; -

F.8.5 Initialization

+

F.8.5 Initialization

All computation for automatic initialization is done (as if) at execution time; thus, it is affected by any operative modes and raises floating-point exceptions as required by @@ -24244,7 +24244,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. could be done at translation time, regardless of the expression evaluation method. -

F.8.6 Changing the environment

+

F.8.6 Changing the environment

Operations defined in 6.5 and functions and macros defined for the standard libraries change floating-point status flags and control modes just as indicated by their @@ -24256,12 +24256,12 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. ''inexact'', or ''underflow'' and ''inexact''), then ''overflow'' or ''underflow'' is raised before ''inexact''. -

F.9 Optimization

+

F.9 Optimization

This section identifies code transformations that might subvert IEC 60559-specified behavior, and others that do not. -

F.9.1 Global transformations

+

F.9.1 Global transformations

Floating-point arithmetic operations and external function calls may entail side effects which optimization shall honor, at least where the state of the FENV_ACCESS pragma is @@ -24294,7 +24294,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.

           if (0 < n) x + 1;
-

F.9.2 Expression transformations

+

F.9.2 Expression transformations

x/2 <-> x x 0.5 Although similar transformations involving inexact constants

@@ -24350,7 +24350,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.
  for complex z.
 
 
-

F.9.3 Relational operators

+

F.9.3 Relational operators

x != x -> false The expression x != x is true if x is a NaN. x = x -> true The expression x = x is false if x is a NaN. @@ -24402,7 +24402,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. f();

-

F.9.4 Constant arithmetic

+

F.9.4 Constant arithmetic

The implementation shall honor floating-point exceptions raised by execution-time constant arithmetic wherever the state of the FENV_ACCESS pragma is ''on''. (See F.8.4 @@ -24417,7 +24417,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''.

357) 0 - 0 yields -0 instead of +0 just when the rounding direction is downward. -

F.10 Mathematics

+

F.10 Mathematics

This subclause contains specifications of <math.h> facilities that are particularly suited for IEC 60559 implementations. @@ -24466,7 +24466,7 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. For families of functions, the specifications apply to all of the functions even though only the principal function is shown. Unless otherwise specified, where the symbol ''(+-)'' occurs in both an argument and the result, the result has the same sign as the argument. - Recommended practice +

Recommended practice

If a function with one or more NaN arguments returns a NaN result, the result should be the same as one of the NaN arguments (after possible type conversion), except perhaps @@ -24480,9 +24480,9 @@ margin: deleted text is marked with ''*'', new or changed text with '' ''. avoiding them would be too costly. -

F.10.1 Trigonometric functions

+

F.10.1 Trigonometric functions

-
F.10.1.1 The acos functions
+
F.10.1.1 The acos functions

-
F.10.1.2 The asin functions
+
F.10.1.2 The asin functions

-
F.10.1.3 The atan functions
+
F.10.1.3 The atan functions

-
F.10.1.4 The atan2 functions
+
F.10.1.4 The atan2 functions