RE: passing functions as parameters

*To*: mathgroup at smc.vnet.net*Subject*: [mg34003] RE: [mg33988] passing functions as parameters*From*: "David Park" <djmp at earthlink.net>*Date*: Fri, 26 Apr 2002 03:27:25 -0400 (EDT)*Sender*: owner-wri-mathgroup at wolfram.com

There is no problem in passing functions to a routine. It can be done directly. f1[x_] := x^3 - x + 1 f2[x_] := -x g[x_, y_, f_] := If[f[x] > f[y], "Done", "Waiting"] g[2, 3, f1] Waiting g[2, 3, f2] Done g[2, 3, Sin] Done Or you can simply pass a pure function without writing a definition in advanced. g[2, 3, #^2 + 2Sin[#] &] Waiting David Park djmp at earthlink.net http://home.earthlink.net/~djmp/ > From: GoranG [mailto:icmc2MAKNUTIOVO at pop.tel.hr] To: mathgroup at smc.vnet.net > > > How would one pass one function to another? > > I need to be able to define functions in the following fashion: > > f[x_]:=x^3-x+1 > > g[x_,y_,somefunction?]:=If[somefunction[x]>somefunction[y],"Done", > "Waiting") > > to be able to later on evaluate > > g[2.,3., f?] > > I have tried couple of paths with no success and would really like to > avoid using global function in function g. > > All the best... > >