As probably no-one has noticed, I took a several month hiatus from Cemetech, simply because I had a little bit too much to do with real-life stuff.

However, over my hiatus, I kept working on an idea of mine. I've wanted to make a simple CAS for the CE.

I had a lot of it done, but then I saw BasicNote. My thought process went something like this.
"Wow that's so cool."
"Hey what if I did something like that? Like adapt my polynomial expansion engine to use a GUI. No, it's too hard. But think of how cool it would be. It would be like Mathematica, with math documents you could save, and copying and pasting functions, and everything."

So one month and 8KB later, I finally have a video of it doing something that I'm not completely ashamed of showing to y'all.

Note: You can actually type pretty fast when you're running the program. In my defense, it's really hard to type and hold the camera at the same time.
Note 2: You see a couple small visual bugs, for example when it clears the screen and redraws everything. I'm working on it.

Still on my todo list:
Fix a couple weird graphics bugs.
Finish up my polynomial derivative program.
Saving system.
Store the functions as a special variable type, to make it easier to multiply and do other operations.
Finally sit down and figure out multivariate factoring.

If anyone has any encouragement/ideas, I'd be happy to hear them. Also, I'm planning to release some actual code soon, once I actually have some code to show.

Edit: Also, any other ideas for functions I can implement? Limits maybe? Equation solving?
Neato! I was looking forward to PineappleCAS (or something like that) but it looks like this may be actually created! Keep it up!
Wow, great work! I look forward to this being released.
I don't think you need to work on equation solving, at least for single variable equations since we already have the built-in equation solver. Multivariable equation solving would be pretty neat though.
Thanks guys! I've been working hard on it. Though, I just discovered all the characters have different widths on the graph screen and had to spend 25 minutes measuring them all .

TheLastMillennial wrote:
Wow, great work! I look forward to this being released.
I don't think you need to work on equation solving, at least for single variable equations since we already have the built-in equation solver. Multivariable equation solving would be pretty neat though.

Good point, that. I'll do my best with the multivariable solving. It might not work with all equations, as solving them by hand can be hard enough sometimes. I'll do my best though.
CodertheBarbarian wrote:
Thanks guys! I've been working hard on it. Though, I just discovered all the characters have different widths on the graph screen and had to spend 25 minutes measuring them all .

Do you mean this? https://www.cemetech.net/forum/viewtopic.php?t=11524&start=0
Multivariable solving can be sped up by matrices, iirc.
I made a small prgm to solve a system of 3 equations with 3 vars, x y and z, so if you want the code, just ask

I was kinda hoping this would be in C or something, but nice work nevertheless! You could make a C version as 2.0, maybe
SM84CE wrote:
Multivariable solving can be sped up by matrices, iirc.
I made a small prgm to solve a system of 3 equations with 3 vars, x y and z, so if you want the code, just ask

Thanks! I'll have to take a look at it. Part of what I'll have to write some connecting code for is, to use a physics example:

x=sin(θ)*t
y=cos(θ)*t-9.8*.5*t^2

Where you don't know θ or t. I'll probably end up having to use Newton's method or something.

SM84CE wrote:
I was kinda hoping this would be in C or something, but nice work nevertheless! You could make a C version as 2.0, maybe

Yeah I was honestly working on a C version. Then I realized how little I knew about C. So, yes, once I finish this up, I was planning on re-implementing it in C. Probably using a tree based way of storing the equations, so it can store more advanced stuff and hopefully do it faster.
SM84CE wrote:
Multivariable solving can be sped up by matrices, iirc.
I made a small prgm to solve a system of 3 equations with 3 vars, x y and z, so if you want the code, just ask

rref()
/me hides
I never said my code was the only and best way to do this

But thanks! I'll take a look and see if I can improve my 2 year old code...
DID SOMEONE SAY RREF!!!
or you could just use the token
PT_ wrote:

I wish I would have seen that before I spent all this time measuring them...

Anyway, quick update on what's been going on! I did finish the whole thing with the variable cursor widths. Now I'm just trying to figure out how to deal with how to display you typing beyond the edge of the screen. Right now, I'm planning to do it like the TI Home-screen does it, where it only displays a certain number of characters based on where the cursor is. But that's a work in progress.

Also, I did finish the basic version of the derivative thing! Woo!!

So yeah everything's going pretty well. Thanks to everyone for the support, I'm honestly pretty excited about this.
A quick update on what's been going on.

I am working on rewriting most of the input code. It worked, technically, but it was a mess of variables and code that was slower than I wanted, and it seemed like I had to spend more time maintaining it after adding a feature than actually adding features. So yeah.

Luckily I did keep a couple of the more elegant portions that I liked, so it should take a lot less time and end up a lot better than before. I do have a couple features though that are being added to the main list:
I wrote up a simple way to save the data. Right now, it supports the saving of only one file. But, it should work fine with saving and loading multiple files. I also added a couple little features I liked, such as being able to hit 'shift, enter', and having it enter the equation without evaluating it. Hopefully the engine rewrite won't take too long...

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.

»
» All times are UTC - 5 Hours

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum