Skip to content
This repository was archived by the owner on Apr 22, 2025. It is now read-only.

Commit 3598df1

Browse files
Clicker 3.2
1 parent 1f61546 commit 3598df1

File tree

3 files changed

+49
-21
lines changed

3 files changed

+49
-21
lines changed

README.txt

Lines changed: 41 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
/*** Clicker 3.1 **************************************************************\
1+
/*** Clicker 3.2 **************************************************************\
22
* Author: twisted_nematic57 *
3-
* Date: 12/21/2024 [MM-DD-YYYY] *
3+
* Date: 12/30/2024 [MM-DD-YYYY] *
44
* License: GNU GPLv3 (or later) - see LICENSE *
55
* Product Type: BASIC program *
66
* Platform: TI-89 Titanium - can be ported to other Motorola 68000-based *
@@ -19,13 +19,13 @@ input for the next iteration.
1919

2020
The program works flawlessly on negative and complex numbers. It can operate on
2121
entire lists or matrices. It can also be automated, running many iterations
22-
internally, and returning the last value. It has been tested on many hundreds of
23-
inputs, and produces expected results every single time.
22+
internally. It has been tested on many hundreds of inputs, and produces expected
23+
results every single time.
2424

2525
In summary, this program is one of the only and best dedicated recursive
26-
function executors for any calculator out there. It is a stair step towards
27-
putting your TI-89 Titanium right up there with Mathematica and MATLAB. As
28-
always, it's up to you to harness its full potential.
26+
function executors for the TI-89 Titanium. It is a stair step towards putting
27+
your TI-89 Titanium right up there with Mathematica and MATLAB. As always, it's
28+
up to you to harness its full potential.
2929

3030
- created and refined with passion.
3131

@@ -39,8 +39,8 @@ I. QUICK START
3939
- On the Home Screen, type:
4040
`clicker(start_val,"operation","listname",auto_execute)`
4141
Example: `clicker(0,"x+1","",0)`
42-
- Press [ENTER] to iterate (count up from 0 in steps of 1), and [CLEAR] to
43-
quit the program.
42+
- Press [ENTER] to iterate (count up from 0 in steps of 1), and [CLEAR] or
43+
[HOME] to quit the program.
4444
3. Results:
4545
- The last iteration's result is returned on the Home Screen when the
4646
program is terminated. A list of all iteration results is not created. No
@@ -57,13 +57,12 @@ II. INSTALLATION
5757
Send `clicker.89p` to your calculator.
5858
It will be in its own folder "AAA" for quick access, but you can put it
5959
anywhere you like. It is folder-agnostic and can be called from anywhere.
60-
I recommend keeping it archived.
60+
Keep it archived, there's no reason not to.
6161
It is GPLv3-or-later licensed, so if you wish to take advantage of the rights
6262
that implies then feel free to unarchive the variable and do whatever.
6363

6464
Send `flib.89z` to your calculator.
65-
It *MUST* be stored in the "main" folder.
66-
I recommend keeping it archived.
65+
It *MUST* be stored in the "main" folder. Keep it archived.
6766
It is GPLv2-or-later licensed, so if you wish to view its source code you can
6867
unzip "flibsrc.zip" and have at it.
6968

@@ -78,19 +77,17 @@ III. DETAILS
7877
- As you keep pressing [ENTER], `op(x)` will be executed and its result
7978
stored to `x`, over and over again. It's essentially recursively executing
8079
the operation with its own previous output every time you press [ENTER].
81-
* You may press [CLEAR] to exit the program and go back to the Home Screen at
82-
any time.
80+
* You may press [CLEAR] or [HOME] to exit the program and go back to the Home
81+
Screen at any time.
8382
* Clicker will store your calculation history to a list or sequence of
8483
variables of your choice, if you tell it to do so.
8584
- Iteration numbers are 1-indexed, both when saving to a list and to a
8685
series of variables.
8786
- Even if no data is to be saved to a list or sequence of variables, the
8887
last iteration's result is always stored to a variable `lastclic` for
8988
your convenience.
90-
* If any issues happen during execution of the program, it will catch most of
91-
those errors and let you know what's wrong. In fact they are not called
92-
"errors"; instead they are called "oopsies" since that's more friendly and
93-
less robotic than the word "error".
89+
* If any issues happen during execution of the program, the calculator's
90+
operating system will catch them and the program will stop.
9491
- If there is an error during calculation, then it is highly likely that the
9592
issue lies in your input.
9693

@@ -139,7 +136,9 @@ IV. USAGE
139136
themselves, and `calclist` is set to "history", then the
140137
result of the first iteration will be stored to
141138
`clkrvars\hist0001`, the second to `clkrvars\hist0002`,
142-
etc. Each of these variables are of the list data type.
139+
etc. Each of these variables are of the list data type,
140+
since `x` or `op` cannot be represented with another
141+
type.
143142
~ If the calculator runs out of RAM while doing
144143
iterations when saving to individual variables, the
145144
program will not catch this error and you will need to
@@ -161,8 +160,8 @@ IV. USAGE
161160
* The calc will switch to the PrgmIO screen and display "Ready." Now, whenever
162161
you press [ENTER], the current value of `x` will be plugged into the
163162
operation you specified, and its result stored to `x`.
164-
* Upon pressing [CLEAR], the program will return to the Home Screen, manage the
165-
storage of computed data if requested, and terminate.
163+
* Upon pressing [CLEAR] or [HOME], the program will return to the Home Screen,
164+
manage the storage of computed data if requested, and terminate.
166165

167166
DISCLAIMER: Treating the program in ways that deviate from the specification
168167
above may cause unexpected and erratic behavior. No damage should ever occur to
@@ -205,6 +204,27 @@ then `c` is not part of the set.
205204

206205
VI. CHANGELOG (LATEST-FIRST)
207206

207+
* Clicker 3.2: Removes input validation, removes false showings of the "PAUSE"
208+
indicator in the status bar, clarify which mode the program is
209+
in at launch, replace separate triple dots with one logical
210+
triple-dot character, increase performance, decrease memory
211+
consumption, map [HOME] to [CLEAR], fix list-compatibility
212+
checking bug.
213+
- CODE: revise main while loop, change from while active=1 to while true:
214+
considerably increases performance?
215+
~ also no need to store active variable, possible memory optimization?
216+
- CODE: remove unnecessary recursive variable resetting lines
217+
- CODE: fix list-compatibility checking bug
218+
~ When commands are chained, the old method would assume the results
219+
wouldn't stay in a list even though they actually could. Changed method
220+
to work around this issue: k serves as a temporary storage for x's
221+
initial value, then the op is evaluated as-is and x itself is checked
222+
for list compatibility.
223+
- CODE: (aesthetic) change distinct triple dots into a single logical
224+
triple-dot character (chars menu -> 3 -> E instead of just "...")
225+
- DOC: clarify some operational details (relating to error handling)
226+
- MISC: add plaintext source for curious people without access to AMS
227+
208228
* Clicker 3.1: Adds ability to automatically compute a set number of
209229
iterations; Enables chaining of commands with BASIC syntax;
210230
Improves built-in documentation accessible via F1 in the Catalog

TODO.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,11 @@
1313
- [X] Add ability to automatically do a number of iterations
1414
- [X] Improve built-in documentation (via F1 on user-defined programs menu in Catalog)
1515
- [X] Release 3.1
16+
- [X] Remove input validation
17+
- [X] Fix the false "PAUSE" indicator bug
18+
- [X] Fix a bug in the routine that checks if iteration results can be stored in lists
19+
- [X] Clarify which mode the program is in at launch (append to "Ready." message)
20+
- [X] Change the separate triple dots to the single logical dedicated triple-dot character
21+
- [X] Change while loop structure, increase performance
22+
- [X] Make [HOME] do the same thing as [CLEAR]
23+
- [X] Release 3.2

clicker.89p

-354 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)