MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Validating functions input


Nilton,
If you want the result to be unaveluated, you have to say so. Use:
f[x_,y_] := If[ x <= 2^y, Hold[ f[x,y] ], Message[f::invalid] ]
or
f[x_,y_] := If[ x <= 2^y, HoldForm[ f[x,y] ], Message[ f::invalid ] ]

Greetings from Croatia,
Drago

"Nilton" <nilton.volpato at ig.com.br> wrote in message 
news:dbflkk$n0p$1 at smc.vnet.net...
>I have a function that must have its input validated.
>
> f[x,y]
>
> I want to validate if x <= 2^y. If it's valid, then just return the
> symbol f[x,y] unevaluated. If it's not valid, I want to return some
> symbol, Null for instance, and issue an error message.
>
> The following is a try, but it doesn't work, because it's definition is
> recursive:
>
> f::invalid = "Invalid arguments"
> f[x_,y_] := If[x <= 2^y, f[x,y], Message[f::invalid]]
>
> Is there any way to implement this?
>
> Thanks,
> -- Nilton
> 



  • Prev by Date: Symbolic Constrained Maximization
  • Next by Date: Re: Directed Graph from Adjacency Matrix
  • Previous by thread: Re: Validating functions input
  • Next by thread: Re: Validating functions input