Skip to content

🧮 A simple math expression evaluator built wtih Imgui. (School 42)

License

Notifications You must be signed in to change notification settings

bezlant/s21_math_solver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Math Solver

preview.mov

Table of Contents

Introduction

Implementation of the math solver in C following the principles of structured programming. In addition to basic arithmetic operations, the calculator features the mathematical functions, x variable and graphing.

Features

FunctionsArithmetic Operators
Function description Function
Cosine cos(x)
Sine sin(x)
Tangent tan(x)
Arc cosine acos(x)
Arc sine asin(x)
Arc tangent atan(x)
Square root sqrt(x)
Natural logarithm ln(x)
Common logarithm log(x)
Operator Example
Brackets (a + b)
Addition a + b
Subtraction a - b
Multiplication a * b
Division a / b
Power a ^ b
Modulus a mod b
Unary plus +a
Unary minus -a

BONUS: You can find Credit & Debit calculators as well ;)

Goals

  • Make & Imgui integration
  • GUI based on Dear ImGui
  • Integrate ImPlot
  • Shunting-Yard algorithm.
  • String validation algorithm.
  • Credit calculator
  • Debit calculator
  • Unit Tests
  • Add previews & tests to README

Build and Dependencies

You'll need to install g++, pcre, make, pkg-config, glfw and doxygen(if you need the documentation).

$ git clone https://github.com/bezlant/s21_math_solver --recursive
$ cd s21_math_solver/src/
$ make 
$ make -f test.mk (for tests)

Tests

  • Unit tests are implemented using Check & coverage report with LCOV
test.mov