RosettaCodeData/Task/Safe-addition/FreeBASIC/safe-addition.basic

23 lines
486 B
Plaintext

Type interval
lower As Double
upper As Double
End Type
Function stepAway(x As Double) As interval
Dim As interval result
result.lower = x - 0.00000000000001
result.upper = x + 0.00000000000001
Return result
End Function
Function safeAdd(a As Double, b As Double) As interval
Return stepAway(a + b)
End Function
Dim As Double a = 1.2
Dim As Double b = .03
Dim As interval result = safeAdd(a, b)
Print a; " "; b; " "; result.lower; " "; result.upper
Sleep