bezlant / s21_math_solver

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

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

License:MIT License


Languages

Language:C 70.1%Language:C++ 23.3%Language:Makefile 6.6%