ISO/IEC TS 18661-2:2015
(Main)Information Technology — Programming languages, their environments, and system software interfaces — Floating-point extensions for C — Part 2: Decimal floating-point arithmetic
Information Technology — Programming languages, their environments, and system software interfaces — Floating-point extensions for C — Part 2: Decimal floating-point arithmetic
ISO/IEC/TS 18661-2:2015 extends programming language C as specified in ISO/IEC 9899:2011, (C11) with changes specified in ISO/IEC/TS 18661-1, to support decimal floating-point arithmetic conforming to ISO/IEC/IEEE 60559:2011. It covers all requirements of IEC 60559 as they pertain to C decimal floating types. ISO/IEC/TS 18661-2:2015 does not cover binary floating-point arithmetic (which is covered in ISO/IEC/TS 18661-1), nor does it cover most optional features of IEC 60559.
Technologies de l'information — Langages de programmation, leurs environnements et interfaces du logiciel système — Extensions à virgule flottante pour C — Partie 2: Arithmétique décimal en virgule flottante
General Information
Relations
Standards Content (Sample)
TECHNICAL ISO/IEC TS
SPECIFICATION 18661-2
Second edition
2015-05-15
Information Technology —
Programming languages, their
environments, and system software
interfaces — Floating-point
extensions for C —
Part 2:
Decimal floating-point arithmetic
Technologies de l’information — Langages de programmation, leurs
environnements et interfaces du logiciel système — Extensions à
virgule flottante pour C —
Partie 2: Arithmétique décimal en virgule flottante
Reference number
©
ISO/IEC 2015
© ISO/IEC 2015
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form
or by any means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior
written permission. Permission can be requested from either ISO at the address below or ISO’s member body in the country of
the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2015 – All rights reserved
ISO/IEC
TS
18661-‐2:2015(E)
Foreword
.......................................................................................................................................................
iv
Introduction
.................................................................................................................................................
vi
Scope
.........................................................................................................................................................
Conformance
..........................................................................................................................................
Normative
references
.........................................................................................................................
Terms
and
definitions
.........................................................................................................................
C
standard
conformance
....................................................................................................................
5.1
Freestanding
implementations
...............................................................................................................
5.2
Predefined
macros
.......................................................................................................................................
5.3
Standard
headers
.........................................................................................................................................
Decimal
floating
types
.........................................................................................................................
Characteristics
of
decimal
floating
types
...........................................................
Operation
binding
..............................................................................................................................
Conversions
..........................................................................................................................................
9.1
Conversions
between
decimal
floating
and
integer
types
............................................................
9.2
Conversions
among
decimal
floating
types,
and
between
decimal
floating
and
standard
floating
types
..........................................................................................................................................................
9.3
Conversions
between
decimal
floating
and
complex
types
.........................................................
9.4
Usual
arithmetic
conversions
................................................................................................................
9.5
Default
argument
promotion
.................................................................................................................
Constants
............................................................................................................................................
Arithmetic
operations
....................................................................................................................
11.1
Operators
....................................................................................................................................................
11.2
Functions
....................................................................................................................................................
11.3
Conversions
...............................................................................................................................................
11.4
Expression
transformations
................................................................................................................
Library
.................................................................................................................................................
12.1
Standard
headers
.....................................................................................................................................
12.2
Decimal
floating-‐point
environment
in
......................................................................
12.3
Decimal
mathematics
in
..................................................................................................
12.4
Decimal-‐only
functions
in
...............................................................................................
12.4.1
Quantum
and
quantum
exponent
functions
............................................................................................
12.4.2
Decimal
re-‐encoding
functions
......................................................................................................................
12.5
Formatted
input/output
specifiers
...................................................................................................
12.6
strtodN
functions
in
..................................................................................................
12.7
wcstodN
functions
in
.....................................................................................................
12.8
strfromdN
functions
in
.............................................................................................
12.9
Type-‐generic
math
for
decimal
in
...........................................................................
©
ISO/IEC
–
All
rights
reserved
iii
ISO/IEC
TS
18661-‐2:2015(E)
Foreword
ISO
(the
International
Organization
for
Standardization)
and
IEC
(the
International
Electrotechnical
Commission)
form
the
specialized
system
for
worldwide
standardization.
National
bodies
that
are
members
of
ISO
or
IEC
participate
in
the
development
of
International
Standards
through
technical
committees
established
by
the
respective
organization
to
deal
with
particular
fields
of
technical
activity.
ISO
and
IEC
technical
committees
collaborate
in
fields
of
mutual
interest.
Other
international
organizations,
governmental
and
non-‐governmental,
in
liaison
with
ISO
and
IEC,
also
take
part
in
the
work.
In
the
field
of
information
technology,
ISO
and
IEC
have
established
a
joint
technical
committee,
ISO/IEC
JTC
1.
The
procedures
used
to
develop
this
document
and
those
intended
for
its
further
maintenance
are
described
in
the
ISO/IEC
Directives,
Part
1.
In
particular
the
different
approval
criteria
needed
for
the
different
types
of
document
should
be
noted.
This
document
was
drafted
in
accordance
with
the
editorial
rules
of
the
ISO/IEC
Directives,
Part
(see
www.iso.org/directives).
Attention
is
drawn
to
the
possibility
that
some
of
the
elements
of
this
document
may
be
the
subject
of
patent
rights.
ISO
and
IEC
shall
not
be
held
responsible
for
identifying
any
or
all
such
patent
rights.
Details
of
any
patent
rights
identified
during
the
development
of
the
document
will
be
in
the
Introduction
and/or
on
the
ISO
list
of
patent
declarations
received
(see
www.iso.org/patents).
Any
trade
name
used
in
this
document
is
information
given
for
the
convenience
of
users
and
does
not
constitute
an
endorsement.
For
an
explanation
on
the
meaning
of
ISO
specific
terms
and
expressions
related
to
conformity
assessment,
as
well
as
information
about
ISO's
adherence
to
the
WTO
principles
in
the
Technical
Barriers
to
Trade
(TBT)
see
the
following
URL:
Foreword
-‐
Supplementary
information
The
committee
responsible
for
this
document
is
ISO/IEC
JTC
1,
Information
technology,
Subcommittee
SC
22,
Programming
languages,
their
environments,
and
system
software
interfaces.
This second edition cancels and replaces the first edition (ISO/IEC TS 18661-2:2015), of which it constitutes
a minor revision.
ISO/IEC
TS
consists
of
the
following
parts,
under
the
general
title
Information
technology
—
Programming
languages,
their
environments,
and
system
software
interfaces
—
Floating’ point
extensions
for
C:
⎯ Part
1:
Binary
floating-‐point
arithmetic
⎯ Part
2:
Decimal
floating-‐point
arithmetic
The
following
parts
are
under
preparation:
⎯ Part
3:
Interchange
and
extended
types
⎯ Part
4:
Supplementary
functions
⎯ Part
5:
Supplementary
attributes
ISO/IEC
TS
18661-‐1
updates
ISO/IEC
9899:2011,
Information
technology
—
Programming
Language
C,
annex
F
in
particular,
to
support
all
required
features
of
ISO/IEC/IEEE
60559:2011,
Information
technology
—
Microprocessor
Systems
—
Floating-‐point
arithmetic.
ISO/IEC
TS
18661-‐2
supersedes
ISO/IEC
TR
24732:2009,
Information
technology
—
Programming
languages,
their
environments
and
system
software
interfaces
—
Extension
for
the
programming
language
C
to
support
decimal
floating-‐point
arithmetic.
iv
©
ISO/IEC
–
All
rights
reserved
ISO/IEC
TS
18661-‐2:2015(E)
ISO/IEC
TS
18661-‐3,
ISO/IEC
TS
18661-‐4,
and
ISO/IEC
TS
18661-‐5
specify
extensions
to
ISO/IEC
9899:2011
for
features
recommended
in
ISO/IEC/IEEE
60559:2011.
©
ISO/IEC
–
All
rights
reserved
v
ISO/IEC
TS
18661-‐2:2015(E)
Introduction
Background
IEC
floating-‐point
standard
The
IEEE
754-‐1985
standard
for
binary
floating-‐point
arithmetic
was
motivated
by
an
expanding
diversity
in
floating-‐point
data
representation
and
arithmetic,
which
made
writing
robust
programs,
debugging,
and
moving
programs
between
systems
exceedingly
difficult.
Now
the
great
majority
of
systems
provide
data
formats
and
arithmetic
operations
according
to
this
standard.
The
IEC
60559:1989
international
standard
was
equivalent
to
the
IEEE
754-‐1985
standard.
Its
stated
goals
were
the
following:
1 Facilitate
movement
of
existing
programs
from
diverse
computers
to
those
that
adhere
to
this
standard.
2 Enhance
the
capabilities
and
safety
available
to
programmers
who,
though
not
expert
in
numerical
methods,
may
well
be
attempting
to
produce
numerically
sophisticated
programs.
However,
we
recognize
that
utility
and
safety
are
sometimes
antagonists.
3 Encourage
experts
to
develop
and
distribute
robust
and
efficient
numerical
programs
that
are
portable,
by
way
of
minor
editing
and
recompilation,
onto
any
computer
that
conforms
to
this
standard
and
possesses
adequate
capacity.
When
restricted
to
a
declared
subset
of
the
standard,
these
programs
should
produce
identical
results
on
all
conforming
systems.
4 Provide
direct
support
for
a. Execution-‐time
diagnosis
of
anomalies
b. Smoother
handling
of
exceptions
c. Interval
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.