Re: Finding length in recursive definition?

*To*: mathgroup at smc.vnet.net*Subject*: [mg60884] Re: Finding length in recursive definition?*From*: albert <awnl at arcor.de>*Date*: Sun, 2 Oct 2005 01:54:36 -0400 (EDT)*References*: <dhlcj2$d16$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Jose Reckoner wrote: > I have something like: > f[1] = 1 > f[2] = 3 > f[n_] := f[n] = f[n - 1] + f[n - 2] > > and in the course of work, f[n] gets evaluated an unknown number of > times resulting in > >>> ?f > f[1] = 1 > f[2] = 3 > f[3] = 4 > f[n_] := f[n] = f[n - 1] + f[n - 2] > > I want to figure out the greatest integer n such that f[n] has already > been computed and is stored. In this case, it is 3. > > How can I do this? I think this will do what you want: Max[Cases[DownValues[f], HoldPattern[_[_[f[nn_Integer]], _]] :> nn]] all patterns for f are stored in DownValues[f], the Cases extracts all patterns where the argument of f is an integer and replaces them by this integer... Albert