Giter Site home page Giter Site logo

akiss-xyz / tomorrow Goto Github PK

View Code? Open in Web Editor NEW
11.0 2.0 9.0 1.07 MB

A small graphical calculator project.

License: GNU General Public License v3.0

CMake 2.55% C++ 96.70% Batchfile 0.46% Shell 0.29%
cpp c cmake vscode visual-studio maths mathematics graph good-first-issue beginner beginner-friendly newbie calculator new

tomorrow's Introduction

Tomorrow Graphing Calculator

Example Screenshot A small learning project to develop a simple, 2D, cross-platform graphing calculator. You give it some functions, it gives you a plot of that function - that's all that we're going for at the moment.

We're all new devs, and we welcome anyone who's interested in contributing - say hi, ask questions, help out on some issues - we try not to bite.

Usage instructions

See USAGE.md

tomorrow's People

Contributors

akiss-xyz avatar anandubajith avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

tomorrow's Issues

Function Parsing

The current system for parsing functions seems slightly hack-y. Instead of dealing with strings all the way through, we should parse each item in our input string into a 'symbol', so that our string turns into an array of symbols.
A symbol would be a generic type with minimal data associated with it. Something like:

Private source character
A getData method - just so we can get the raw representation of what this symbol is, e.g. '*' or "sin"
A handle method - if the priority level (which controls the order of operations) is high enough, then resolve this operation. For example, if the symbol was a multiplication, the handle function would check if we're at the point to do multiplication, then carry it out. Not all symbols need a handle method e.g. constant numbers don't need to be 'handled', they are acted on by other symbols.

These symbols would then be organized in a list.
In this way, binary operators (+, -, *, /) could easily be implemented, as they'd basically have to do:
newSymbol = symbols[n-1] + symbols[n+1]

Add precompiled headers

Compilation takes way too long especially if multiple files dealing with the CImg library have to be recompiled.

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.