Notices


Reply
Thread Tools
epage's Avatar
Posts: 1,684 | Thanked: 1,562 times | Joined on Jun 2008 @ Austin, TX
#1
I am pleased to announce the creation of my RPN calculator e^(j pi)+1=0 (ejpi for short).
https://garage.maemo.org/projects/ejpi/

The interface focuses on history manipulation and quick access to functionality through something like pie menus. It takes advantage of pythons type system under the hood for support of integer, float, and complex operations. For integers it tracks the base used and tries to persist that through the operations.

Another calculator? Well, I didn't notice SlideRule, Galculator, and Qalculate at the time I created this. In addition this provides more experimentation with touch screen interfaces.

RPN? Its a form of stack based operations. You put things on a stack (like a deck of cards), and then when you perform operations you pull values off of the stack.

Pie Menus? Yes, clicking on the buttons will get you the main function. Press and drag will let you access more (sometimes hidden) features. You can press and hold to see what the other features are. If you want to cancel, just drag into a direction that does not have any functions.

Quirks:
  • "j" is used as the imaginary number rather than "i" (Its an electrical engineer thing)
  • Calculations are done in floating point which can have a loss of percision, for example "e**(j * pi)+1" might not produce exactly 0

See
Homepage
Project Page
Package Page

Suggestions, criticisms, and code welcome.

Last edited by epage; 2010-10-05 at 00:01. Reason: Added release notes; Added pie menu description; Listed another alt calc
 

The Following 6 Users Say Thank You to epage For This Useful Post:
Posts: 51 | Thanked: 22 times | Joined on Jul 2007 @ Seattle
#2
Hi, I found this in Extras and tried it out. So I have a couple suggestions/issues I can mention:

* The tabs under the operations, and the history delete buttons are not visible in a dark theme, such as LCARS.
They still work, but I have to know they are there (from the screenshot in this thread) and hunt for them.

* It was not immediately obvious that holding down a button brings up a selection. Perhaps a quick "How to use" would fit in the help menu?
It may also be worth mentioning the basics of RPN there for those unfamiliar with it.

* When the columns auto-expand to fit large results/formulas, they don't auto-shrink when those are removed from the history. I had to exit and re-launch.

* No square root? I would think it would be on the top or first tab somewhere, but I didn't see it. Of course there is always '.5 **' but it's not as intuitive.

* I didn't see a way to easily enter a negative number, and had to do '0 number -'

* Needs a way to copy results (and perhaps formulas) out of the program.

* Actually calculating the formula it's named for results in a small floating point remainder instead of 0.

I didn't look at the code, so for all I know you may have mentioned these already in those todo things. Still, this is what I noticed as a user.

Thanks - Overall seems like a very useful program. Those other calculators you mentioned don't seem to be in extras, and therefore don't exist, so I can't compare. ;-) (They appear to be overly heavy anyway - Simple RPN is great.)
 
epage's Avatar
Posts: 1,684 | Thanked: 1,562 times | Joined on Jun 2008 @ Austin, TX
#3
Thanks for the feedback, I really appreciate this. Its nice to know others are using it besides me.

Originally Posted by davidgro View Post
* The tabs under the operations, and the history delete buttons are not visible in a dark theme, such as LCARS.
They still work, but I have to know they are there (from the screenshot in this thread) and hunt for them.
This is a problem I've heard reports on with DialCentral also. In my defense, I just go with GTK/Theme defaults. Unfortunately that doesn't help you as a user. I'm still fairly new to GTK programming and am unsure what the best solution is for this.

Originally Posted by davidgro View Post
* It was not immediately obvious that holding down a button brings up a selection. Perhaps a quick "How to use" would fit in the help menu?
It may also be worth mentioning the basics of RPN there for those unfamiliar with it.
Thanks for pointing this out. Since combining pie menus with a calculator was the origin of the design, I kind of forgot the whole communicating that concept with others, especially since I'm doing my own take on pie-menus. I try and call it out a bit more (SVN only for now)

Originally Posted by davidgro View Post
* When the columns auto-expand to fit large results/formulas, they don't auto-shrink when those are removed from the history. I had to exit and re-launch.
I noticed this but was just lazy since before I was working on this only for myself. I will need to read up more on GTK to figure out what the best solution is. I recorded the bug in the source code.

Originally Posted by davidgro View Post
* No square root? I would think it would be on the top or first tab somewhere, but I didn't see it. Of course there is always '.5 **' but it's not as intuitive.
* I didn't see a way to easily enter a negative number, and had to do '0 number -'
Filed bugs in the source code for these. I also filed one on factorial

Originally Posted by davidgro View Post
* Needs a way to copy results (and perhaps formulas) out of the program.
Again, laziness on my part. I filed a bug on this.

Originally Posted by davidgro View Post
* Actually calculating the formula it's named for results in a small floating point remainder instead of 0.
If I was good, I'd use a decimal number representation rather than floating point which resolve such issues. I don't to avoid conversions and more math is written in floating point. Unsure if there is a good alternative solution.

Originally Posted by davidgro View Post
I didn't look at the code, so for all I know you may have mentioned these already in those todo things. Still, this is what I noticed as a user.

Thanks - Overall seems like a very useful program. Those other calculators you mentioned don't seem to be in extras, and therefore don't exist, so I can't compare. ;-) (They appear to be overly heavy anyway - Simple RPN is great.)
Ok, so besides the pie menu buttons and the editable history, one of the big things I've found I've ended up loving about ejpi is that is isn't modal. I apply base conversions on numbers rather than change the base the app works in (though I might support changing the default base, I can't remember).

Again thanks, I'll try and pull myself away from DoneIt to get as many of these things in and into extras this week.
__________________
770, n810, n900, Ideapad S10-3t
TheOneRing, DialCentral, Gonvert, Quicknote, Multilist, ejpi, nQa, Waters of Shiloah
Programming Blog
 

The Following User Says Thank You to epage For This Useful Post:
epage's Avatar
Posts: 1,684 | Thanked: 1,562 times | Joined on Jun 2008 @ Austin, TX
#4
Just added to SVN (it will take a couple days for me to get around to a package)
* +/-, square, square-root, and factorial
* Fixed horizontal scroll issue
* Added slight documentation imrprovements
* Added "Copy" (Value) and "Copy Equation"
__________________
770, n810, n900, Ideapad S10-3t
TheOneRing, DialCentral, Gonvert, Quicknote, Multilist, ejpi, nQa, Waters of Shiloah
Programming Blog
 
epage's Avatar
Posts: 1,684 | Thanked: 1,562 times | Joined on Jun 2008 @ Austin, TX
#5
Promoted 0.9.3 to Diablo extras.

Updated the main post with information on the releases
__________________
770, n810, n900, Ideapad S10-3t
TheOneRing, DialCentral, Gonvert, Quicknote, Multilist, ejpi, nQa, Waters of Shiloah
Programming Blog
 
epage's Avatar
Posts: 1,684 | Thanked: 1,562 times | Joined on Jun 2008 @ Austin, TX
#6
I'm prepping ejpi for release on Fremantle. Ive pushed .0.9.6-4 to extras-testing.
__________________
770, n810, n900, Ideapad S10-3t
TheOneRing, DialCentral, Gonvert, Quicknote, Multilist, ejpi, nQa, Waters of Shiloah
Programming Blog
 
jkq's Avatar
Posts: 251 | Thanked: 131 times | Joined on Oct 2009 @ USA
#7
Originally Posted by epage View Post
Calculations are done in floating point which can have a loss of percision, for example "e**(j * pi)+1" might not produce exactly 0
Have you seen the decimal module (http://docs.python.org/library/decimal.html)? It might be able to remove or reduce your precision "quirk".

-jkq
 
epage's Avatar
Posts: 1,684 | Thanked: 1,562 times | Joined on Jun 2008 @ Austin, TX
#8
Originally Posted by jkq View Post
Have you seen the decimal module (http://docs.python.org/library/decimal.html)? It might be able to remove or reduce your precision "quirk".

-jkq
I'd have to look back through things but I think it was lack of support for various math functions that operate on Decimal
__________________
770, n810, n900, Ideapad S10-3t
TheOneRing, DialCentral, Gonvert, Quicknote, Multilist, ejpi, nQa, Waters of Shiloah
Programming Blog
 
epage's Avatar
Posts: 1,684 | Thanked: 1,562 times | Joined on Jun 2008 @ Austin, TX
#9
I just promoted ejpi 0.9.6 to Diablo Extras and Fremantle Extras-Testing

If you have an n900, please remember to vote on it
__________________
770, n810, n900, Ideapad S10-3t
TheOneRing, DialCentral, Gonvert, Quicknote, Multilist, ejpi, nQa, Waters of Shiloah
Programming Blog
 
Posts: 16 | Thanked: 1 time | Joined on Dec 2009 @ Paris, France
#10
logarithm doesn't work. Seems equal to exponential func.
 
Reply

Thread Tools

 
Forum Jump


All times are GMT. The time now is 13:01.