Variable Precision Numeric Encoding for High-Precision Computation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current programming languages with fixed-size numeric types face limitations in precision for number-theoretic operations, leading to inadequate approximations and performance penalties when using libraries for variable-precision types.

Innovation Solution

A software module that determines a fixed numeric storage size, encodes numeric values within a bounded range, and generates references for variable-precision values stored on a program heap, enabling precise operations without additional storage allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If fixed-size numeric types are used, then performance is maintained and hardware compatibility is achieved, but precision is inadequate for number-theoretic operations

Engineering Contradiction:
Improvenumeric precisionVSAvoidoperation performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system dynamically selects between fixed-size and variable-precision representations based on the specific numeric value and operation requirements. The encoding module determines whether a numeric value can be represented in fixed-size format and switches to variable-precision format only when necessary, making the precision characteristic adaptive rather than static.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Different parts of the numeric value representation system use different precision levels. Common numeric values that fit within fixed-size bounds use efficient fixed-size storage, while only those requiring higher precision allocate variable-precision structures. This local differentiation optimizes overall system performance by applying high precision only where needed.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If libraries for variable-precision numeric types are used, then precise operations are supported, but significant performance penalty is incurred

Engineering Contradiction:
Improvenumeric precisionVSAvoidoperation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system implements partial variable-precision support rather than full variable-precision functionality. It provides just enough variable-precision capability to handle numbers that exceed fixed-size bounds, while maintaining fixed-size performance for the majority of operations. This partial implementation avoids the overhead of complete variable-precision libraries.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The numeric type system is segmented into multiple representations: fixed-size integers for common cases, and variable-precision structures for edge cases requiring higher precision. The encoding module segments the decision space by evaluating whether a value fits fixed-size constraints, routing to appropriate representation types to minimize overhead.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If variable-precision numeric types are always allocated on program heap, then precise operations are enabled, but memory allocation overhead increases

Engineering Contradiction:
Improvenumeric precisionVSAvoidmemory management complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The encoding module performs preliminary evaluation to determine whether a numeric value requires variable-precision representation before allocation occurs. By pre-assessing the value bounds and comparing against fixed-size capacity, the system avoids unnecessary heap allocations and reserve variable-precision structures only when the preliminary check indicates they are needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system extracts only the necessary variable-precision functionality from complete variable-precision libraries. Instead of always using full variable-precision types, it extracts and implements only the minimal variable-precision support needed for values exceeding fixed-size bounds, removing unnecessary complexity from the memory management system.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7735061B2Efficient encoding and access of mathematically precise variable precision numeric types
Publication Date: 2010.06.08 EPIC GAMES INC
  • US7735061B2 patent drawing
  • US7735061B2 patent drawing
  • US7735061B2 patent drawing

AI summary

A method of encoding variable-precision numeric types that includes determining a fixed numeric storage size used by a computer system, encoding numeric values that do not fit into the fixed size in a variable-precision numeric value allocated on a program heap and generating a reference to point to the variable-precision numeric value on the program heap.