[Date Index]
[Thread Index]
[Author Index]
Re: How to tell Mathematica to stop conditional testing in an If statment if one condition is niether True or False? McCarthy evaluation rules? 'and then' test?
 To: mathgroup at smc.vnet.net
 Subject: [mg69556] Re: How to tell Mathematica to stop conditional testing in an If statment if one condition is niether True or False? McCarthy evaluation rules? 'and then' test?
 From: "JensPeer Kuska" <kuska at informatik.unileipzig.de>
 Date: Fri, 15 Sep 2006 06:45:58 0400 (EDT)
 Organization: Uni Leipzig
 References: <eebfu3$5dt$1@smc.vnet.net>
Hi,
you mean:
xc = Table[i, {i, 1, 3}]
x = 5;
If[TrueQ[x == b] && xc[[10]] == 4, Print["True"],
Print["False"],
Print["Can't decide"]]
?? because And[] will automatical stop evaluation
it's arguments when
the result is sure.
Regards
Jens
"Nasser Abbasi" <nma at 12000.org> schrieb im
Newsbeitrag news:eebfu3$5dt$1 at smc.vnet.net...
I can better describe this with simple example:

  code 

 Remove["Global`*"];
 xc = Table[i, {i, 1, 3}]
 x = 5;
 If[x == b && xc[[10]] == 4, Print["True"],
Print["False"], Print["Can't
 decide"]]

  end code 
 In the above, 'x==b' is neither True nor False,
since 'b' has no numerical
 value.

 But what I want is when this happens, for
Mathematica to NOT continue with
 the testing if xc[[10]]==4 is True (because
even if it is True, it will
 not change the outcome, which is can't decide.

 I am looking for something like 'and then'
which says to test the next
 condition only if the one just tested was true.

 The interesting thing is that if 'b' had a
value, say 7, which makes the
 first test (the x==b) to be False, then
Mathematica does the right thing,
 and will not try to check the xc[[10]]==4
condition. I need it to do the
 same thing when also the result of the check is
'undecided', not just
 'False' or 'True'.

 Is there a way to do this? Notice in the
example above, I get the error
 that xc[[10]] is out of bound, but still get the
can't decide message.

 It is clear to me that the way Mathematica does
it now is not the right way.
 I do not see why it tries to check for
xc[[10]]==4 when it will not make a
 difference to the final result.

 any thoughts?

 thanks,
 Nasser



Prev by Date:
Re: Known recursion link to Hermite polynomials not solved in Mathematica
Next by Date:
Re: Batch evaluation of multiple notebooks?
Previous by thread:
RE: How to tell Mathematica to stop conditional testing in an If statment if one condition is niether True or False? McCarthy evaluation rules? 'and then' test?
Next by thread:
Re: How to tell Mathematica to stop conditional testing in an If statment if one condition is niether True or False? McCarthy evaluation rules? 'and then' test?
 