RosettaCodeData/Task/Map-range/NetRexx/map-range.netrexx

21 lines
556 B
Plaintext

/* NetRexx */
options replace format comments java crossref savelog symbols nobinary
A = [ 0.0, 10.0 ]
B = [ -1.0, 0.0 ]
incr = 1.0
say 'Mapping ['A[0]',' A[1]'] to ['B[0]',' B[1]'] in increments of' incr':'
loop sVal = A[0] to A[1] by incr
say ' f('sVal.format(3, 3)') =' mapRange(A, B, sVal).format(4, 3)
end sVal
return
method mapRange(a = Rexx[], b = Rexx[], s_) public static
return mapRange(a[0], a[1], b[0], b[1], s_)
method mapRange(a1, a2, b1, b2, s_) public static
t_ = b1 + ((s_ - a1) * (b2 - b1) / (a2 - a1))
return t_