RosettaCodeData/Task/Forward-difference/Sidef/forward-difference.sidef

16 lines
271 B
Text
Raw Permalink Normal View History

2016-12-05 23:44:36 +01:00
func dif(arr) {
gather {
2017-09-23 10:01:46 +02:00
for i (0 ..^ arr.end) {
take(arr[i+1] - arr[i])
2016-12-05 23:44:36 +01:00
}
}
}
func difn(n, arr) {
2017-09-23 10:01:46 +02:00
{ arr = dif(arr) } * n
arr
2016-12-05 23:44:36 +01:00
}
2017-09-23 10:01:46 +02:00
say dif([1, 23, 45, 678]) # => [22, 22, 633]
say difn(2, [1, 23, 45, 678]) # => [0, 611]