Re: IsExact
- To: mathgroup at smc.vnet.net
- Subject: [mg80550] Re: [mg80523] IsExact
- From: Carl Woll <carlw at wolfram.com>
- Date: Sun, 26 Aug 2007 02:57:34 -0400 (EDT)
- References: <200708240600.CAA16662@smc.vnet.net>
carlos at colorado.edu wrote:
>Let c be a 1D list of scalar coefficients, numeric or symbolic,
>real or complex. No entry is a list. Examples:
>
>ClearAll[n,x,y,a,a1,a2,b,r];
>c1={1,2*I/5,E^(25*n),3/4+I,Cos[n*x*Pi],y*Sqrt[-5]};
>c2={a/b,r+2/5,a1,,,,,a2};
>c3={1.5,0,Sqrt[3],0,4};
>c4={(r+0.5)/3,3/7,3+Sin[4*x*y]};
>c5={1,2,3,4,5,6}+0.0;
>c6={N[x]};
>
>I need a function IsExact[c] that returns False if
>at least one entry of c is floating, or if it contains one
>floating number; else True. For example, tests on
>c1 and c2 should return True; the others False.
>
>Any simple way to implement this? It should work on V.5.
>Thanks.
>
>
>
Use Precision:
IsExact[expr_] := Precision[expr]===Infinity
On your test cases:
In[114]:= IsExact /@ {c1, c2, c3, c4, c5, c6}
Out[114]= {True,True,False,False,False,True}
I don't know why you expect {N[x]} to not be exact. N[x] evaluates to x,
and {x} doesn't have any approximate numbers in it.
Carl Woll
Wolfram Research
- References:
- IsExact
- From: carlos@colorado.edu
- IsExact