oracle home
Oracle
®
Solaris Studio 12.4: Numerical Computation Guide
Exit Print View
Search Term
Search Scope:
This Document
Entire Library
» ...
Index I
Updated: January 2015
Oracle
®
Solaris Studio 12.4: Numerical Computation Guide
Document Information
Using This Documentation
Product Documentation Library
Feedback
Chapter 1 Introduction
1.1 Floating-Point Environment
Chapter 2 IEEE Arithmetic
2.1 IEEE Arithmetic Model
2.1.1 What Is IEEE Arithmetic?
2.2 IEEE Formats
2.2.1 Storage Formats
2.2.2 Single Format
2.2.3 Double Format
2.2.4 Quadruple Format
2.2.5 Double-Extended Format (x86)
2.2.6 Ranges and Precisions in Decimal Representation
2.2.7 Base Conversion in the Oracle Solaris Environment
2.3 Underflow
2.3.1 Underflow Thresholds
2.3.2 How Does IEEE Arithmetic Treat Underflow?
2.3.3 Why Gradual Underflow?
2.3.4 Error Properties of Gradual Underflow
2.3.5 Two Examples of Gradual Underflow Versus Abrupt Underflow
2.3.6 Does Underflow Matter?
2.4 IEEE Standard 754-2008
Chapter 3 The Math Libraries
3.1 Oracle Solaris Math Libraries
3.1.1 Standard Math Library
3.1.2 Vector Math Library
3.2 Oracle Solaris Studio Math Libraries
3.2.1 Oracle Math Library
3.2.2 Optimized Libraries
3.3 Single, Double, and Extended/Quadruple Precision
3.4 IEEE Support Functions
3.4.1 ieee_functions(3m) and ieee_sun(3m)
3.4.2 ieee_values(3m)
3.4.3 ieee_flags(3m)
3.4.4 ieee_retrospective(3m)
3.4.5 nonstandard_arithmetic(3m)
3.5 C99 Floating-Point Environment Functions
3.5.1 Exception Flag Functions
3.5.2 Rounding Control
3.5.3 Environment Functions
3.6 Implementation Features of libm and libsunmath
3.6.1 About the Algorithms
3.6.2 Argument Reduction for Trigonometric Functions
3.6.3 Data Conversion Routines
3.6.4 Random Number Facilities
Chapter 4 Exceptions and Exception Handling
4.1 Exception Handling Objectives
4.2 What Is an Exception?
4.2.1 Notes for Table 4-1
4.3 Detecting Exceptions
4.3.1 ieee_flags(3m)
4.3.2 C99 Exception Flag Functions
4.4 Locating an Exception
4.4.1 Using the Debugger to Locate an Exception
4.4.1.1 Using dbx to Locate the Instruction Causing an Exception
4.4.1.2 Enabling Traps Without Recompilation
4.4.2 Using a Signal Handler to Locate an Exception
4.4.2.1 ieee_handler (3m)
4.4.2.2 Reporting an Exception From a Signal Handler
4.4.3 Using libm Exception Handling Extensions to Locate an Exception
4.4.3.1 fex_set_handling(3m)
4.4.3.2 Retrospective Diagnostics
4.5 Handling Exceptions
4.5.1 Substituting IEEE Trapped Under/Overflow Results
Chapter 5 Compiler Code Generation
5.1 Supported Operation Systems, Hardware, and Memory Model
5.2 Code Generation Options
5.3 Default Address Model and Code Generation
5.4 Compilation Options
5.5 Reproducible Results
5.5.1 Transcendental Functions
5.5.2 Associative Operations
5.5.3 Indeterminate Evaluation
5.5.4 Non-Portable Types
5.5.5 Implicit Higher Precision
5.6 Independent Confirmation
Appendix A Examples
A.1 IEEE Arithmetic
A.2 The Math Libraries
A.2.1 Random Number Generator
A.2.2 IEEE Recommended Functions
A.2.3 IEEE Special Values
A.2.4 ieee_flags — Rounding Direction
A.2.5 C99 Floating-Point Environment Functions
A.3 Exceptions and Exception Handling
A.3.1 ieee_flags — Accrued Exceptions
A.3.2 ieee_handler: Trapping Exceptions
A.3.3 ieee_handler: Abort on Exceptions
A.3.4 libm Exception Handling Features
A.3.5 Using libm Exception Handling With Fortran Programs
A.4 Miscellaneous
A.4.1 sigfpe: Trapping Integer Exceptions
A.4.2 Calling Fortran From C
A.4.3 Useful Debugging Commands
Appendix B SPARC Behavior and Implementation
B.1 Floating-Point Hardware
B.1.1 Floating-Point Status Register and Queue
B.1.2 Special Cases Requiring Software Support
B.1.2.1 IEEE Floating-Point Exceptions, NaNs, and Infinities
B.1.2.2 Subnormal Numbers and Nonstandard Arithmetic
B.1.2.3 Nonstandard Arithmetic and Kernel Emulation
B.2 fpversion(1) Function: Finding Information About the FPU
Appendix C x86 Behavior and Implementation
C.1 Code Generation for Supported Systems
C.2 Differences from SPARC
Appendix D Addendum to What Every Computer Scientist Should Know About Floating-Point Arithmetic
D.1 Differences Among IEEE 754 Implementations
D.1.1 Current IEEE 754 Implementations
D.1.2 Pitfalls in Computations on Extended-Based Systems
D.1.2.1 Theorem 7'
D.1.2.2 Proof
D.1.3 Programming Language Support for Extended Precision
D.1.4 Conclusion
Appendix E Standards Compliance
E.1 libm Special Cases
E.1.1 Other Compiler Flags Affecting Standard Conformance
E.1.2 Additional Notes on C99 Conformance
E.2 LIA-1 Conformance
E.2.1 a. TYPES (LIA 5.1):
E.2.2 b. PARAMETERS (LIA 5.1):
E.2.3 d. DIV/REM/MOD (LIA 5.1.3):
E.2.4 i. NOTATION (LIA 5.1.3):
E.2.5 j. EXPRESSION EVALUATION:
E.2.6 k. METHOD OF OBTAINING PARAMETERS:
E.2.7 n. NOTIFICATION:
E.2.8 o. SELECTION MECHANISM:
Appendix F References
F.1 Chapter 2: “IEEE Arithmetic”
F.2 Chapter 3: “The Math Libraries”
F.3 Chapter 4: “Exceptions and Exception Handling”
F.4 Standards
F.5 Test Programs
Glossary
Index
Index Numbers and Symbols
Index A
Index B
Index C
Index D
Index E
Index F
Index G
Index I
Index L
Index N
Index O
Index P
Index Q
Index R
Index S
Index T
Index U
Language:
English
I
IEEE double extended format
biased exponent
x86 architecture
Double-Extended Format (x86)
bit-field assignment
x86 architecture
Double-Extended Format (x86)
fraction
x86 architecture
Double-Extended Format (x86)
Inf
SPARC architecture
Values Represented by Bit Patterns
x86 architecture
Values Represented by Bit Patterns (x86)
NaN
x86 architecture
Bit Patterns in Double-Extended Format and Their Values (x86)
normal number
SPARC architecture
Values Represented by Bit Patterns
x86 architecture
Values Represented by Bit Patterns (x86)
quadruple precision
SPARC architecture
Quadruple Format
sign bit
x86 architecture
Double-Extended Format (x86)
significand
explicit leading bit (x86 architecture)
Double-Extended Format (x86)
subnormal number
SPARC architecture
Values Represented by Bit Patterns
x86 architecture
Values Represented by Bit Patterns (x86)
IEEE double format
biased exponent
Double Format
bit patterns and equivalent values
Values Represented by Bit Patterns in IEEE Double Format
bit-field assignment
Double Format
denormalized number
Values Represented by Bit Patterns in IEEE Double Format
fraction
Double Format
Double Format
storage on SPARC
Double Format
storage on x86
Double Format
implicit bit
Values Represented by Bit Patterns in IEEE Double Format
Inf, infinity
Values Represented by Bit Patterns in IEEE Double Format
NaN, not a number
Bit Patterns in Double-Storage Format and Their IEEE Values
normal number
Values Represented by Bit Patterns in IEEE Double Format
precision
Values Represented by Bit Patterns in IEEE Double Format
sign bit
Double Format
significand
Values Represented by Bit Patterns in IEEE Double Format
subnormal number
Values Represented by Bit Patterns in IEEE Double Format
IEEE formats
relation to language data types
Storage Formats
IEEE single format
biased exponent
Single Format
biased exponent,implicit bit
Values Represented by Bit Patterns in IEEE Single Format
bit assignments
Single Format
bit patterns and equivalent values
Values Represented by Bit Patterns in IEEE Single Format
bit-field assignment
Single Format
denormalized number
Values Represented by Bit Patterns in IEEE Single Format
fraction
Single Format
Inf, negative infinity
Values Represented by Bit Patterns in IEEE Single Format
Inf,positive infinity
Values Represented by Bit Patterns in IEEE Single Format
mixed number, significand
Values Represented by Bit Patterns in IEEE Single Format
NaN, not a number
Bit Patterns in Single-Storage Format and Their IEEE Values
normal number
maximum positive
Values Represented by Bit Patterns in IEEE Single Format
normal number bit pattern
Values Represented by Bit Patterns in IEEE Single Format
precision, normal number
Values Represented by Bit Patterns in IEEE Single Format
sign bit
Single Format
subnormal number bit pattern
Values Represented by Bit Patterns in IEEE Single Format
IEEE Standard 754
double extended format
What Is IEEE Arithmetic?
double format
What Is IEEE Arithmetic?
single format
What Is IEEE Arithmetic?
ieee_flags
accrued exception flag
ieee_flags(3m)
examine accrued exception bits-C example
ieee_flags — Accrued Exceptions
rounding direction
ieee_flags(3m)
rounding precision
ieee_flags Input Values for the Rounding Direction
ieee_flags(3m)
set exception flags-C example
Examining the Accrued Exception Flags – Fortran
truncate rounding
Parameter Values for ieee_flags
ieee_functions
bit mask operations
ieee_functions(3m) and ieee_sun(3m)
floating-point exceptions
ieee_sun(3m)
ieee_handler
ieee_handler (3m)
abort on exception
FORTRAN example
ieee_handler: Abort on Exceptions
example, calling sequence
Using dbx to Locate the Instruction Causing an Exception
trap on common exceptions
What Is an Exception?
trap on exception
C example
ieee_handler: Trapping Exceptions
ieee_retrospective
check underflow exception flag
Subnormal Numbers and Nonstandard Arithmetic
floating-point exceptions
ieee_retrospective(3m)
floating-point status register (FSR)
ieee_retrospective(3m)
getting information about nonstandard IEEE modes
ieee_retrospective(3m)
getting information about outstanding exceptions
ieee_retrospective(3m)
nonstandard_arithmetic
in effect
ieee_retrospective(3m)
precision
ieee_retrospective(3m)
rounding
ieee_retrospective(3m)
suppress exception messages
ieee_retrospective(3m)
ieee_sun
IEEE classification functions
ieee_functions(3m) and ieee_sun(3m)
ieee_values
quadruple-precision values
ieee_values(3m)
representing floating-point values
ieee_values(3m)
representing Inf
ieee_values(3m)
representing NaN
ieee_values(3m)
representing normal number
ieee_values(3m)
single-precision values
ieee_values(3m)
ieee_values
functions
C example
IEEE Special Values
Inf
Special Cases and libm Functions
Floating-Point Environment
default result of divide by zero
IEEE Floating-Point Exceptions
Previous
Next