Stable Numerics Subroutine Library
Programming Reference Manual
Version 1.2 DD-00006-012

Stable Numerics Subroutine Library

Jan Adelsbach

July 9, 2026
Contents
1 About this Guide
1.1 Legal Information
1.2 Feedback and Contact
2 Overview
2.1 Introduction
2.2 Thread Safety
3 Mathematical Definitions
3.1 Real Interval Arithmetic IR
3.1.1 Singleton Interval
3.1.2 Empty Interval
3.1.3 Sign of an Interval
3.1.4 Bounded and Whole Interval
3.1.5 Normalized Interval
3.2 Circular Complex Interval Arithmetic KC
3.2.1 Singleton Interval
3.2.2 Empty Interval
3.2.3 Whole Interval
3.2.4 Normalized Interval
3.3 Rectangular Complex Interval Arithmetic RC
3.3.1 Singleton Interval
3.3.2 Empty Interval
3.3.3 Whole Interval
3.4 Kaucher Interval Arithmetic KR
3.4.1 Empty Interval
3.5 Real Triplex Arithmetic TR
3.5.1 Empty Triplex
3.6 Pair Arithmetic
3.6.1 Not-A-Number Pair
4 String Representation
4.1 String representation of IR
4.2 String representation of KC
4.3 String representation of RC
4.4 String representation of KR
4.5 String representation of TR
5 Real Intervals IR
5.1 General Description
5.1.1 Header Files
5.2 interval<T> - Class Reference
5.2.1 Public Member Variables
5.2.2 Constructors
5.2.3 Assignment
5.2.4 Special Assignment
5.2.5 Comparison operators
5.2.6 Conversion functions
5.2.7 Arithmetic Operators
5.2.8 Status functions
5.2.9 Sign
5.2.10 Normalization
5.2.11 Set comparisons
5.2.12 Concatenation and Convex Hull
5.2.13 Bisection and Outside
5.2.14 Metrics and R conversion
5.2.15 Input/Output Functions
5.3 Hausdorff distance
5.4 Set operations
5.4.1 Set assertions
5.4.2 Set operations
5.5 Comparison operators
5.5.1 Set comparison
5.5.2 Value comparison
5.5.3 Possible comparison
5.5.4 Certain comparison
5.6 Math Functions
5.7 Specializations
5.7.1 std::hash - Standard hashing
5.7.2 std::operator« - Output stream
5.7.3 std::operator» - Input stream
6 Complex Intervals KC and RC
6.1 General Information
6.1.1 Header Files
6.2 kc_interval<T> - Class Reference
6.2.1 Public member variables
6.2.2 Constructors
6.2.3 Assignment
6.2.4 Special Assignment
6.2.5 Comparison Operators
6.2.6 Conversion functions
6.2.7 Arithmetic Operators
6.2.8 Status functions
6.2.9 Normalization
6.2.10 Set comparison
6.2.11 Concatenation and convex hull
6.2.12 Metrics and R conversion
6.2.13 Complex Conjugation
6.2.14 Input/Output Functions
6.3 rc_interval<T> - Class Reference
6.3.1 Public member variables
6.3.2 Constructors
6.3.3 Assignment
6.3.4 Special Assignment
6.3.5 Comparison Operators
6.3.6 Conversion functions
6.3.7 Arithmetic Operators
6.3.8 Status functions
6.3.9 Normalization
6.3.10 Set comparison
6.3.11 Concatenation and convex hull
6.3.12 Metric and C conversion
6.3.13 Complex Conjugation
6.3.14 Riemann Projection
6.3.15 Input/Output Functions
6.4 Set operations
6.4.1 Set Assertions KC
6.4.2 Set Assertions RC
6.4.3 Set Operations KC
6.4.4 Set Operations RC
6.5 Complex Hausdorff Distance RC
6.6 Specializations
6.6.1 std::hash - Standard hashing
6.6.2 std::operator« - Output stream
6.6.3 std::operator» - Input stream
7 Kaucher Intervals KR
7.1 General Description
7.1.1 Header Files
7.2 kaucher_interval<T> - Class Reference
7.2.1 Public Member Variables
7.2.2 Constructors
7.2.3 Assignment
7.2.4 Special Assignment
7.2.5 Comparison operators
7.2.6 Conversion functions
7.2.7 Arithmetic Operators
7.2.8 Normalization
7.2.9 Set comparisons
7.2.10 Status Functions
7.2.11 Metrics and R conversion
7.3 Hausdorff distance
7.4 Set operations
7.4.1 Set assertions
7.5 Specializations
7.5.1 std::hash - Standard hashing
7.5.2 std::operator« - Output stream
7.5.3 std::operator» - Input stream
8 Triplex TR
8.1 General Description
8.1.1 Header Files
8.2 triplex<T> - Class Reference
8.2.1 Public Member Variables
8.2.2 Constructors
8.2.3 Assignment
8.2.4 Conversion functions
8.2.5 Comparison Operators
8.2.6 Normalization
8.2.7 Status functions
8.2.8 Special Assignment
8.2.9 Arithmetic Operators
8.2.10 Set comparisons
8.2.11 Metrics and R conversion
8.3 Hausdorff distance
8.4 Set operations
8.4.1 Set assertions
8.5 Specializations
8.5.1 std::hash - Standard hashing
8.5.2 std::operator« - Output stream
8.5.3 std::operator» - Input stream
9 Pair Arithmetic
9.1 General Description
9.1.1 Header Files
9.2 pair<T> - Class Reference
9.2.1 Public Member Variables
9.2.2 Constructors
9.2.3 Assignment
9.2.4 Conversion functions
9.2.5 Comparison Operators
9.2.6 Normalization
9.2.7 Status functions
9.2.8 Arithmetic Operators
9.2.9 Evaluation
9.3 Specializations
9.3.1 std::operator« - Output stream
9.3.2 std::operator» - Input stream
10 Mathematical Constants
10.1 Varadic templates
10.2 numbers<T> - Class Reference
10.2.1 Public Member Variables
11 Floating Point Utilities
11.1 Header File
11.2 fpuenv - Class Reference
11.2.1 Member Types
11.2.2 Member Functions
11.2.3 Implementations
11.3 scoped_rounding_mode<T> - Class Reference
11.3.1 Constructors
11.3.2 Member Functions

[next]