Git Product home page Git Product logo

calculathreeds's Introduction

CalculaThreeDS

A scientific calculator homebrew written in C++17 for the 3DS

Interace

Interface

The interface is split between 4 parts:

  • Memory on the top screen, up to 12 calculations can be remembered and copied back to the working board
  • Input area on the bottom screen, where what you type will appear, using a custom pretty-printing system (freely sized fractions, exponents, and square roots)
  • Keyboard panel selector on a black background
  • Touch keyboard with all the inputs you will ever need!

Controls

Intuitive touch keyboard with 3 panels:

  • basic input, for operations and digits
  • functions (don't forget to put parentheses after!)
  • user variables (10 of them) and user functions (3, TODO) with an assignment (arrow) sign that can appear anywhere in a calculation

The D-PAD and touchscreen let you move the cursor after you typed things out
The B button or delete key will remove content
And finally, the A button or equals key will launch the calculation

Credits

LiquidFenrir for writing the application
devkitPro for devkitARM and libctru/libcitro3d/libcitro2d which allowed me to make this run
Wikipedia article on the Shunting-Yard algorithm/Reverse Polish Notation for interpreting the calculations

calculathreeds's People

Contributors

liquidfenrir avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

graceltelgt

calculathreeds's Issues

The system crashes when I try to calculate the square root of a negative number

Every time when I enter a negative number and calculate its square root, the result should throw a complex number, but the system crashes with an arm11 exception, this doesn't happen when I input it into the Citra emulator, so there must be something going on where the console probably requires more memory and can't handle it.

I've tested it on an Old 3DS with luma 10.2.1.
arm11ex
Citra3ds

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.