oracle home
Oracle® Solaris Studio 12.4: Numerical Computation Guide
Exit Print View
Search Term
Search Scope:
This Document
Entire Library
Index O
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
Please tell us how to improve our documentation:
Provide more details about the topic
Fix incorrect information
0 of 500
Provide missing information
0 of 500
Provide translated version
--Select--
Deutsch
Español
Français
Italiano
Português Brasil
日本語
한국어
简体中文
繁體中文
Other Language
Other
0 of 500
Terms of Use |
Your Privacy Rights
Thank you for your feedback! If you want to participate in content improvement and share additional information, please click Feedback button.
Rate this document:
Language:
English
O
operating system math library
libm.a
Standard Math Library
Previous
Next