Mathematical Function Argument Boundary Checking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional mathematical functions fail to efficiently and reliably compute results for functions with multiple arguments, often wasting resources by not adequately checking if the arguments will produce a computable result, leading to delayed detection of unrepresentable values and resource wastage.
Innovation Solution
An apparatus and method that include an interface, control module, and error module to determine if a mathematical function call with multiple arguments will produce a result within the computable range by comparing argument values with predefined boundary values, aborting the function call if the result is outside this range to prevent resource wastage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If conventional math functions evaluate functions with multiple arguments without pre-checking argument validity, then execution speed is improved, but resource wastage increases due to computing unrepresentable results
Solution Approach 1:
The patent applies preliminary action by performing boundary value checks on arguments before executing the mathematical function. The control module evaluates whether arguments fall within computable ranges using pre-stored boundary values, and only proceeds with function evaluation if the check passes. This prevents waste of computational resources on arguments that would produce unrepresentable results, while maintaining execution speed for valid arguments through efficient boundary checking algorithms.
2Reliability
If conventional math functions perform boundary checking for multiple arguments, then reliability is improved, but execution speed deteriorates due to overhead
Solution Approach 1:
The patent applies local quality by implementing selective boundary checking based on the specific mathematical function being evaluated. Different functions have different boundary checking requirements, and the system tailors the checking strategy to each function's characteristics. This ensures reliable detection of unrepresentable results for each function type while minimizing overhead by applying only the necessary checks for that particular function, rather than uniform checking across all functions.
Solution Approach 2:
The patent applies parameter changes by using pre-computed boundary values stored in lookup tables for different mathematical functions and argument combinations. Instead of performing complex runtime calculations to determine valid ranges, the system stores boundary values as parameters and performs simple comparisons. This dramatically reduces the overhead of boundary checking while maintaining reliability, as the boundary values are pre-determined based on the representable ranges of the target processing system.
3Productivity
If math functions use highly optimized assembly language for fast execution, then productivity is improved, but the ability to handle unrepresentable values deteriorates
Solution Approach 1:
The patent introduces an intermediary boundary checking module that sits between the input arguments and the highly optimized mathematical function execution. This intermediary control module performs validity checks using boundary values and determines whether arguments will produce representable results. If the check passes, control is transferred to the optimized assembly language routine for fast execution. This intermediary layer maintains productivity by enabling fast execution of valid arguments while improving reliability by filtering out arguments that would produce unrepresentable values before they reach the optimized routine.
Data Source
AI summary
An apparatus and system are provided for efficient computation of reliable results for mathematical functions. The apparatus may include an interface, a control module, and an error module. The interface receives a mathematical function call. The call includes a plurality of arguments for which a range of computable results for the mathematical function varies with respect to the values for the arguments. The control module determines whether executing the mathematical function using the plurality of arguments will produce a result within the range of computable results. The error module aborts the mathematical function call prior to initiating execution of the mathematical function in response to determining that the values for the plurality of arguments produce a result outside the range of computable results.


