Claims
- 1. A method for computing an output interval comprising:
producing a first result from a conditional selection using a first operand, a second operand, and a third operand, the operands respectively including a second input interval lower-point, a first input interval lower-point, and a first input interval upper-point; producing a second result from the conditional selection using the first operand, the second operand, and the third operand, the operands respectively including a second input interval upper-point, the first input interval upper-point, and the first input interval lower-point; producing a third result from a conditional division using the first operand, the second operand, and the third operand, the operands respectively including the first result, the second input interval upper-point, and the second input interval lower-point; producing a fourth result from the conditional division using the first operand, the second operand, and the third operand, the operands respectively including the second result, the second input interval lower-point, and the second input interval upper-point; and producing the output interval including an output interval lower-point and an output interval upper-point, the output interval lower-point comprising the third result and the output interval upper-point comprising the fourth result.
- 2. The method for computing the output interval of claim 1, wherein at least one of the third result and the fourth result is one of rounded up and rounded down.
- 3. The method for computing the output interval of claim 1, wherein the third result is rounded down and the fourth result is rounded up.
- 4. The method for computing the output interval of claim 1, wherein at least one of the first input interval lower-point, the first input interval upper-point, the second input interval lower-point, the second input interval upper-point, the output interval lower-point, and the output interval upper-point comprises a floating point number.
- 5. The method for computing the output interval of claim 1, wherein the result of the conditional division is the division of the first operand by the second operand if the sign of the first operand is positive and at least one of the sign of the second operand is positive and the sign of the third operand is negative.
- 6. The method for computing the output interval of claim 5, wherein the result of the conditional division comprises a special case value when at least one of the first operand and the second operand comprise at least one of −∞, +∞, +0, and −0.
- 7. The method for computing the output interval of claim 1, wherein the result of the conditional division is the division of the first operand by the third operand if the sign of the first operand is negative and at least one of the sign of the second operand is positive and the sign of the third operand is negative.
- 8. The method for computing the output interval of claim 7, wherein the result of the conditional division comprises a special case value when at least one of the first operand and the third operand comprise at least one of −∞, +∞, 0, and −0.
- 9. The method for computing the output interval of claim 1, wherein producing at least one of the third result and the fourth result from the conditional division using the first operand, the second operand, and the third operand further comprises:
receiving the first operand; receiving the second operand; receiving the third operand; selecting a fourth operand based upon a sign of the first operand, the fourth operand comprising one of the second operand and the third operand; and dividing the first operand by the fourth operand.
- 10. The method for computing the output interval of claim 9, wherein dividing the first operand by the fourth operand further comprises rounding the result of the division based upon a rounding mode.
- 11. The method for computing the output interval of claim 10, wherein dividing the first operand by the fourth operand results in −∞ if the sign of the second operand is negative, if the sign of the third operand is positive, and if the rounding mode comprises rounding down.
- 12. The method for computing the output interval of claim 10, wherein dividing the first operand by the fourth operand results in +∞ if the sign of the second operand is negative, if the sign of the third operand is positive, and if the rounding mode comprises rounding up.
- 13. The method for computing the output interval of claim 1, wherein producing at least one of the first result and the second result from the conditional selection using the first operand, the second operand, and the third operand further comprises:
receiving the first operand; receiving the second operand; receiving the third operand; selecting a fourth operand based upon a sign of the first operand, the fourth operand comprising one of the second operand and the third operand.
- 14. A system for computing an output interval comprising:
a component for producing a first result from a conditional selection using a first operand, a second operand, and a third operand, the operands respectively including a second input interval lower-point, a first input interval lower-point, and a first input interval upper-point; a component for producing a second result from the conditional selection using the first operand, the second operand, and the third operand, the operands respectively including a second input interval upper-point, the first input interval upper-point, and the first input interval lower-point; a component for producing a third result from a conditional division using the first operand, the second operand, and the third operand, the operands respectively including the first result, the second input interval upper-point, and the second input interval lower-point; a component for producing a fourth result from the conditional division using the first operand, the second operand, and the third operand, the operands respectively including the second result, the second input interval lower-point, and the second input interval upper-point; and a component for producing the output interval including an output interval lower-point and an output interval upper-point, the output interval lower-point comprising the third result and the output interval upper-point comprising the fourth result.
- 15. The system for computing the output interval of claim 14, wherein at least one of the third result and the fourth result is one of rounded up and rounded down.
- 16. The system for computing the output interval of claim 14, wherein the third result is rounded down and the fourth result is rounded up.
- 17. The system for computing the output interval of claim 14, wherein at least one of the first input interval lower-point, the first input interval upper-point, the second input interval lower-point, the second input interval upper-point, the output interval lower-point, and the output interval upper-point comprises a floating point number.
- 18. The system for computing the output interval of claim 14, wherein the result of the conditional division is the division of the first operand by the second operand if the sign of the first operand is positive and at least one of the sign of the second operand is positive and the sign of the third operand is negative.
- 19. The system for computing the output interval of claim 18, wherein the result of the conditional division comprises a special case value when at least one of the first operand and the second operand comprise at least one of −∞, +∞, +0, and −0.
- 20. The system for computing the output interval of claim 14, wherein the result of the conditional division is the division of the first operand by the third operand if the sign of the first operand is negative and at least one of the sign of the second operand is positive and the sign of the third operand is negative.
- 21. The system for computing the output interval of claim 20, wherein the result of the conditional division comprises a special case value when at least one of the first operand and the third operand comprise at least one of −∞, +∞, +0, and −0.
- 22. The system for computing the output interval of claim 14, wherein the component for producing at least one of the third result and the fourth result from the conditional division using the first operand, the second operand, and the third operand is further configured for:
receiving the first operand; receiving the second operand; receiving the third operand; selecting a fourth operand based upon a sign of the first operand, the fourth operand comprising one of the second operand and the third operand; and dividing the first operand by the fourth operand.
- 23. The system for computing the output interval of claim 22, wherein dividing the first operand by the fourth operand further comprises rounding the result of the division based upon a rounding mode.
- 24. The system for computing the output interval of claim 23, wherein dividing the first operand by the fourth operand results in −∞ if the sign of the second operand is negative, if the sign of the third operand is positive, and if the rounding mode comprises rounding down.
- 25. The system for computing the output interval of claim 23, wherein dividing the first operand by the fourth operand results in +∞ if the sign of the second operand is negative, if the sign of the third operand is positive, and if the rounding mode comprises rounding up.
- 26. The system for computing the output interval of claim 14, wherein the component for producing at least one of the first result and the second result from the conditional selection using the first operand, the second operand, and the third operand is further configured for:
receiving the first operand; receiving the second operand; receiving the third operand; selecting a fourth operand based upon a sign of the first operand, the fourth operand comprising one of the second operand and the third operand.
- 27. A computer-readable medium on which is stored a set of instructions for computing an output interval, which when executed perform stages comprising:
producing a first result from a conditional selection using a first operand, a second operand, and a third operand, the operands respectively including a second input interval lower-point, a first input interval lower-point, and a first input interval upper-point; producing a second result from the conditional selection using the first operand, the second operand, and the third operand, the operands respectively including a second input interval upper-point, the first input interval upper-point, and the first input interval lower-point; producing a third result from a conditional division using the first operand, the second operand, and the third operand, the operands respectively including the first result, the second input interval upper-point, and the second input interval lower-point; producing a fourth result from the conditional division using the first operand, the second operand, and the third operand, the operands respectively including the second result, the second input interval lower-point, and the second input interval upper-point; and producing the output interval including an output interval lower-point and an output interval upper-point, the output interval lower-point comprising the third result and the output interval upper-point comprising the fourth result.
- 28. The computer-readable medium for computing the output interval of claim 27, wherein at least one of the third result and the fourth result is one of rounded up and rounded down.
- 29. The computer-readable medium for computing the output interval of claim 27, wherein the third result is rounded down and the fourth result is rounded up.
- 30. The computer-readable medium for computing the output interval of claim 27, wherein at least one of the first input interval lower-point, the first input interval upper-point, the second input interval lower-point, the second input interval upper-point, the output interval lower-point, and the output interval upper-point comprises a floating point number.
- 31. The computer-readable medium for computing the output interval of claim 27, wherein the result of the conditional division is the division of the first operand by the second operand if the sign of the first operand is positive and at least one of the sign of the second operand is positive and the sign of the third operand is negative.
- 32. The computer-readable medium for computing the output interval of claim 31, wherein the result of the conditional division comprises a special case value when at least one of the first operand and the second operand comprise at least one of −∞, +∞, +0, and −0.
- 33. The computer-readable medium for computing the output interval of claim 27, wherein the result of the conditional division is the division of the first operand by the third operand if the sign of the first operand is negative and at least one of the sign of the second operand is positive and the sign of the third operand is negative.
- 34. The computer-readable medium for computing the output interval of claim 33, wherein the result of the conditional division comprises a special case value when at least one of the first operand and the third operand comprise at least one of −∞, +∞, +0, and −0.
- 35. The computer-readable medium for computing the output interval of claim 27, wherein producing at least one of the third result and the fourth result from the conditional division using the first operand, the second operand, and the third operand further comprises:
receiving the first operand; receiving the second operand; receiving the third operand; selecting a fourth operand based upon a sign of the first operand, the fourth operand comprising one of the second operand and the third operand; and dividing the first operand by the fourth operand.
- 36. The computer-readable medium for computing the output interval of claim 35, wherein dividing the first operand by the fourth operand further comprises rounding the result of the division based upon a rounding mode.
- 37. The computer-readable medium for computing the output interval of claim 36, wherein dividing the first operand by the fourth operand results in −∞ if the sign of the second operand is negative, if the sign of the third operand is positive, and if the rounding mode comprises rounding down.
- 38. The computer-readable medium for computing the output interval of claim 36, wherein dividing the first operand by the fourth operand results in +∞ if the sign of the second operand is negative, if the sign of the third operand is positive, and if the rounding mode comprises rounding up.
- 39. The computer-readable medium for computing the output interval of claim 27, wherein producing at least one of the first result and the second result from the conditional selection using the first operand, the second operand, and the third operand further comprises:
receiving the first operand; receiving the second operand; receiving the third operand; selecting a fourth operand based upon a sign of the first operand, the fourth operand comprising one of the second operand and the third operand.
RELATED APPLICATION
[0001] U.S. patent application Ser. No. ______, filed on even date herewith in the name of Guy L. Steele Jr. and entitled “METHODS AND SYSTEMS FOR COMPUTING FLOATING-POINT INTERVALS,” assigned to the assignee of the present application, is hereby incorporated by reference.