Arbitrary Precision Floating Number Processing via Dynamic Memory Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing systems face challenges in efficiently processing large numbers without truncating significant digits, which is crucial for maintaining accuracy in precise calculations, especially in fields like aerospace, where conventional methods compromise precision for reduced memory allocation.

Innovation Solution

The implementation of arbitrary precision floating number (APFN) processing, which allows users to define and manage the precision of large numbers through an APFN module, optimizing memory storage and management by dynamically allocating an array of bytes for storing and processing these numbers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If conventional truncation methods are used to reduce memory allocation, then memory usage decreases, but measurement precision deteriorates

Engineering Contradiction:
Improvememory allocationVSAvoidprecision of large numbers
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent implements dynamic memory allocation where the array size for storing number digits is determined at runtime based on the actual precision requirements of the input numbers. This allows the system to allocate exactly the necessary memory for each operation rather than using fixed-size buffers, resolving the contradiction between memory efficiency and precision maintenance.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of array size from a fixed constant to a dynamic variable that adapts to the precision requirements of the input numbers. By calculating the required array size based on the number of digits in the input values, the system optimizes memory usage while maintaining the necessary precision for accurate calculations.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If truncation is applied to reduce memory usage, then memory allocation decreases, but manufacturing precision deteriorates

Engineering Contradiction:
Improvememory usageVSAvoidcalculation accuracy
Core Design Contradiction:
Quantity of substanceVSManufacturing precision

Solution Approach 1:

The patent uses dynamic array allocation that adjusts the storage capacity based on the actual precision needs of the calculation. This ensures that enough memory is allocated to maintain calculation accuracy without wasting resources on excessive precision storage, thereby resolving the contradiction between memory efficiency and calculation accuracy.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system dynamically determines the array size parameter based on the input number precision requirements. This parameter change allows the system to maintain manufacturing precision (calculation accuracy) by allocating sufficient memory while avoiding unnecessary memory consumption, thus resolving the contradiction.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If high precision is maintained without truncation, then measurement precision improves, but memory usage increases

Engineering Contradiction:
Improveprecision of large numbersVSAvoidmemory allocation
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent changes the memory allocation parameter from fixed to dynamic, allowing the system to allocate exactly the amount of memory needed for the required precision. This resolves the contradiction by ensuring high precision is maintained only when necessary, with memory usage adapting to the actual computational requirements.

Inventive Principle:
Principle #35Parameter changes

4Device complexity

If fixed-size arrays are used for simplicity, then device complexity decreases, but adaptability deteriorates

Engineering Contradiction:
Improvesimplicity of data structureVSAvoidflexibility in precision handling
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic array sizing that automatically adapts to different precision requirements. While this adds some complexity compared to fixed-size arrays, it provides the adaptability needed to handle various precision levels efficiently. The dynamic nature allows the system to optimize memory usage for each specific calculation while maintaining a relatively simple overall structure.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8095767B2Arbitrary precision floating number processing
Publication Date: 2012.01.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8095767B2 patent drawing
  • US8095767B2 patent drawing
  • US8095767B2 patent drawing

AI summary

Techniques for providing arbitrary precision floating number (APFN) processing are disclosed. In some aspects, an APFN store may be used to store a large number (i.e., an APFN) having many significant digits, which in turn may enable a high degree of precision in mathematical operations. An APFN module may be used to create and define the APFN store. The APFN module may enable a user to define a precision (significant digits) for the large number that corresponds to the size of an array of bytes in the APFN store that are allocated for storing the large number. In further aspects, the APFN store may be used to store additional intermediary data and a resultant.