Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
This is an archived, read-only copy of the United-TI subforum , including posts and topic from May 2003 to April 2012. If you would like to discuss any of the topics in this forum, you can visit Cemetech's TI-BASIC subforum. Some of these topics may also be directly-linked to active Cemetech topics. If you are a Cemetech member with a linked United-TI account, you can link United-TI topics here with your current Cemetech topics.

TI-Basic => TI-BASIC
 » Goto page Previous  1, 2, 3  Next
Author Message
DarkerLine
ceci n'est pas une |

Super Elite (Last Title)

Joined: 04 Nov 2003
Posts: 8328

 Posted: 14 Jan 2004 05:27:21 pm    Post subject: what is faster, A=1, not(not(A, or A!=0 ?
Adm.Wiggin
aka Tianon

Know-It-All

Joined: 02 Jun 2003
Posts: 1874

 Posted: 14 Jan 2004 05:41:33 pm    Post subject: just plain A would be fastest there.
DarkerLine
ceci n'est pas une |

Super Elite (Last Title)

Joined: 04 Nov 2003
Posts: 8328

 Posted: 14 Jan 2004 05:52:02 pm    Post subject: My goal with these is to make the result always be either 0 or 1.
Arcane Wizard
`semi-hippie`

Super Elite (Last Title)

Joined: 02 Jun 2003
Posts: 8993

 Posted: 15 Jan 2004 06:16:39 am    Post subject: I'd say test it yourself, just use something like this: For(X,1,500 If X!=0:Output(1,1,X End time it. For(X,1,500 If not(not(X:Output(1,1,X End time that. etc. And finally compare the times. Keep in mind If A, or A combined with any boolean operator will return true or false. If A If A AND 1 If A OR 0 etc. Just thought I'd mention it.Last edited by Guest on 15 Jan 2004 06:18:18 am; edited 1 time in total
sgm

Calc Guru

Joined: 04 Sep 2003
Posts: 1265

 Posted: 15 Jan 2004 01:08:17 pm    Post subject: Arcane Wizard wrote:For(X,1,500 If X!=0:Output(1,1,X End Unfortunately, that will never happen.
Arcane Wizard
`semi-hippie`

Super Elite (Last Title)

Joined: 02 Jun 2003
Posts: 8993

 Posted: 15 Jan 2004 01:26:07 pm    Post subject: It's the same as If X, only 2 bytes bigger.
Adm.Wiggin
aka Tianon

Know-It-All

Joined: 02 Jun 2003
Posts: 1874

 Posted: 15 Jan 2004 06:10:25 pm    Post subject: actually, it will always happen that way
sgm

Calc Guru

Joined: 04 Sep 2003
Posts: 1265

 Posted: 15 Jan 2004 06:48:24 pm    Post subject: Adm.Wiggin wrote:actually, it will always happen that way No, because there is no integer from 1 to 500 whose factorial is 0.
DarkerLine
ceci n'est pas une |

Super Elite (Last Title)

Joined: 04 Nov 2003
Posts: 8328

 Posted: 15 Jan 2004 06:53:22 pm    Post subject: He meant "not equal to" not "factorial equal to".
X1011
10100111001

Active Member

Joined: 14 Nov 2003
Posts: 657

 Posted: 15 Jan 2004 08:11:39 pm    Post subject: Wouldn't it be more accurate to just do: For(X,1,500 not(not(X End and For(X,1,500 X/=0 End
Arcane Wizard
`semi-hippie`

Super Elite (Last Title)

Joined: 02 Jun 2003
Posts: 8993

 Posted: 16 Jan 2004 10:03:58 am    Post subject: It would be faster, but it wouldn't be MORE accurate, because you remove an equal amount of calculations on both for loops. Besides, it's nice to know the value of X so you know when you need to get ready with your stopwatch.
Toksyuryel
Crimson Dragon Software

Elite

Joined: 14 Jun 2003
Posts: 880

 Posted: 16 Jan 2004 01:34:40 pm    Post subject: Sir Robin wrote:He meant "not equal to" not "factorial equal to". What people need to do is just put an explenation in their post. Because not everyone knows scripting language conventions. But any way, yeah in most scripting languages "!=" means "not equal to".
DarkerLine
ceci n'est pas une |

Super Elite (Last Title)

Joined: 04 Nov 2003
Posts: 8328

 Posted: 16 Jan 2004 04:14:58 pm    Post subject: Arcane Wizard wrote:It would be faster, but it wouldn't be MORE accurate, because you remove an equal amount of calculations on both for loops. Besides, it's nice to know the value of X so you know when you need to get ready with your stopwatch. Code: ```100 -> X Pause "Enter to start" For(I,1,1000 not(not(X End Pause "Test 1 finished" For(I,1,1000 X<>0 End Pause "Test 2 Finished" For(I,1,1000 X and 1 End "Test 3 Finished``` This would really be more accurate because X stays constant.
X1011
10100111001

Active Member

Joined: 14 Nov 2003
Posts: 657

 Posted: 16 Jan 2004 11:33:19 pm    Post subject: But usually X would be different so it would be more accurate to have it change. Quote:It would be faster, but it wouldn't be MORE accurate, because you remove an equal amount of calculations on both for loops. But if you take out the other part and make it do it more times, there will be more of a difference between them.
Arcane Wizard
`semi-hippie`

Super Elite (Last Title)

Joined: 02 Jun 2003
Posts: 8993

 Posted: 17 Jan 2004 03:59:57 am    Post subject: Sir Robin wrote:This would really be more accurate because X stays constant. Actually, no, because X will be the same (from 1 to 500) in both situations it does not matter if X is constant or not. Quote:But if you take out the other part and make it do it more times, there will be more of a difference between them.What do you mean?
X1011
10100111001

Active Member

Joined: 14 Nov 2003
Posts: 657

 Posted: 17 Jan 2004 06:59:37 pm    Post subject: Quote: Quote:But if you take out the other part and make it do it more times, there will be more of a difference between them.What do you mean? If you do the If and Output, more % of the time will be spent on doing that, and there will not be as much of a diffrence between the times each of them take.Last edited by Guest on 17 Jan 2004 07:00:40 pm; edited 1 time in total
Arcane Wizard
`semi-hippie`

Super Elite (Last Title)

Joined: 02 Jun 2003
Posts: 8993

 Posted: 18 Jan 2004 04:26:24 am    Post subject: I suppose so, but it still works out relative to each loop.
DarkerLine
ceci n'est pas une |

Super Elite (Last Title)

Joined: 04 Nov 2003
Posts: 8328

 Posted: 18 Jan 2004 02:13:09 pm    Post subject: Arcane Wizard wrote:Actually, no, because X will be the same (from 1 to 500) in both situations it does not matter if X is constant or not. What if one way works equally well for all X values, and another takes more time the more X is?
Arcane Wizard
`semi-hippie`

Super Elite (Last Title)

Joined: 02 Jun 2003
Posts: 8993

 Posted: 18 Jan 2004 02:52:59 pm    Post subject: Then it would still have a constant difference in speed, since the only thing you change between the loops are the boolean operators.
DarkerLine
ceci n'est pas une |

Super Elite (Last Title)

Joined: 04 Nov 2003
Posts: 8328

 Posted: 18 Jan 2004 02:59:05 pm    Post subject: Alright. Suppose that one way takes X milliseconds while the other always takes 1 second (actually you might want to divide that by some constant). So in the For(X case, one way would take 500*501/2 = 125250 milliseconds and the other would take only 50000 milliseconds. But if I want to use it for a value between 0 and 94, then the way that took 2.5x more time would actually work best.
 Display posts from previous: All Posts Oldest FirstNewest First
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

»
 » Goto page Previous  1, 2, 3  Next Page 2 of 3 » All times are GMT - 5 Hours

Advertisement