From Directorforum Collaboration Wiki
--/******
--* FIBONACCI NUMBER
--****
--* @Param : 'x' <Integer>
--* @Return : 't_list' <LinearList>
--* @Note : hidden param 't_list'
--***/
on mFibonacci( x )
--
if Not(IntegerP(x)) then return( Void )
x = max(min(x, 45), 0) -- the MaxInteger !
--
if ListP(_movie.param(_movie.paramCount()) then
t_list = _movie.param(_movie.paramCount())
else
t_list = [1, 1, [0]]
end if
--
if (x <= 0) then
return( t_list[3] )
end if
--
t_list[3].add(t_list[1])
--
t_list[1] = bitXor(t_list[1] + t_list[2], t_list[2])
t_list[2] = bitXor(t_list[2] , t_list[1])
t_list[1] = bitXor(t_list[1] , t_list[2])
--
return( mFibonacci(x, t_list) )
end
--*/