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: <email@example.com>
- Sender: owner-wri-mathgroup at wolfram.com
Jose Reckoner wrote: > I have something like: > f = 1 > f = 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 > f = 3 > f = 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