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