RosettaCodeData/Task/Van-der-Corput-sequence/Wren/van-der-corput-sequence.wren
2023-07-01 13:44:08 -04:00

31 lines
610 B
Text

var v2 = Fn.new { |n|
var p = 0.5
var r = 0
while (n > 0) {
if (n%2 == 1) r = r + p
p = p / 2
n = (n/2).floor
}
return r
}
var newV = Fn.new { |base|
var invb = 1 / base
return Fn.new { |n|
var p = invb
var r = 0
while (n > 0) {
r = r + p*(n%base)
p = p * invb
n = (n/base).floor
}
return r
}
}
System.print("Base 2:")
for (i in 0..9) System.print("%(i) -> %(v2.call(i))")
System.print("\nBase 3:")
var v3 = newV.call(3)
for (i in 0..9) System.print("%(i) -> %(v3.call(i))")