27 lines
810 B
Plaintext
27 lines
810 B
Plaintext
include "NSLog.incl"
|
|
|
|
CFArrayRef local fn ForwardDifference( arr as CFArrayRef )
|
|
CFMutableArrayRef result = fn MutableArrayNew
|
|
for NSUInteger i = 1 to len(arr) - 1
|
|
CFNumberRef diff = @(dblval(arr[i]) - dblval(arr[i-1]))
|
|
MutableArrayAddObject( result, diff )
|
|
next
|
|
end fn = result
|
|
|
|
CFArrayRef local fn NthForwardDifference( arr as CFArrayRef, n as NSInteger )
|
|
if ( len(arr) == 0 ) then return @[]
|
|
if ( n == 0 ) then return arr
|
|
end fn = fn NthForwardDifference( fn ForwardDifference( arr ), n - 1 )
|
|
|
|
void local fn DoIt
|
|
CFArrayRef initialArray = @[@90, @47, @58, @29, @22, @32, @55, @5, @55, @73]
|
|
for NSInteger i = 0 to 9
|
|
CFArrayRef diff = fn NthForwardDifference( initialArray, i )
|
|
NSLog(@"[%@]", fn ArrayComponentsJoinedByString( diff, @", " ))
|
|
next
|
|
end fn
|
|
|
|
fn DoIt
|
|
|
|
HandleEvents
|