/comp354_calculator

Basic scientific calculator.

Primary LanguagePython

Comp354 Calculator Project

Description taken directly from https://users.encs.concordia.ca/~kamthan/courses/comp-354/project_description.pdf

This is an elementary scientific software engineering project, with an injection of certain elements of agile methodologies. For example, the project is supposed proceed iteratively and incrementally, as well as be able to deal with novelties and uncertainties along the way.

In the rest of the document, both the project and the product are mnemonically-named ETERNITY.

ETERNITY involves both individual work as well as communal work.

Requirements:

  • Python >= 3.7.1
  • PyQt5 >= 5.15.4

A transcendental function is a function that does not satisfy any single-variable polynomial equation whose coefficients are themselves roots of polynomials. For example, sin(x) is a transcendental function, but √x is not.

Let N be the size of a project team. The purpose of ETERNITY is to have a scientific calculator that can compute certain special functions: The permitted set of choices is:

  1. arccos(x) worked on by Will
  2. Gamma Function worked on by Andrei
  3. logb(x) worked on by Shanks
  4. Γ(x) (Gamma Function) TEAM OF 7 therefore no one is working on this function
  5. MAD (Mean Absolute Deviation) worked on by Vatsa
  6. σ (Standard Deviation) worked on by Nicholas
  7. sinh(x) worked on by Arash
  8. x^y worked on by Danny

In the foregoing, x and y are real variables, and a and b are real constants, unless otherwise stated.

ETERNITY could be made general and useful in a number of ways, including the following:

  • ETERNITY could include any subordinate functions developed by the team could be added to the set of functions mentioned above. (For the sake of this
    document, a subordinate function is a function that supports one or more of the functions mentioned above. For example, the factorial function or square root functions are subordinate functions.) ETERNITY could include capability for parsing and evaluating mathematical expressions, where a mathematical expression is composed of one or more of the functions mentioned above. (For example, 1 + log10(2) is a mathematical expression.) The project team could use a mature, open, publicly-available library for parsing.