Code Monkey home page Code Monkey logo

quine-mccluskey-solver's Introduction

Quine McCluskey Solver

GitHub license GitHub stars

Table Of Contents:

Overview

Quine McCluskey Solver is a web application aiming to provide an easy-to-use step-by-step minimizer for any single digital function. Throughout the development process of this application, we focused on every aspect of quality from the very small details till the core functionality of the application because we believe that one day, our program will grow and become one of the essential tools used by university students all over the world.

Our program is written in JavaScript which makes it a universal application that can run on any operating system, in addition to the responsiveness of its graphical user interface.

Unlike many of the present Quine McCluskey Solvers, our solution don’t just let you know the final minimized function, instead, it shows you the full steps of minimization exactly like what you write when doing minimization during exams.

Objectives

Quine McCluskey Solver is designed to be an easy solution for digital design students which makes them able to verify their solutions of minimization problems quickly. In addition, our web application can be used at a large scale by every logical circuits designer who wants to minimize functions involving large number of inputs in a very short period of time.

Features

  • Design Language: We have a strong belief that an eye-catching GUI of any application plays a major role in attracting more users to that application in a shorter period of time. As a result, we have designed the GUI of Quine McCluskey Solver according the guidelines of Google Material Design. We tried to adhere to every detail mentioned in the documentations of the design language including color palettes and styling of buttons, cards and text fields. We have used Rubik as the default font used throughout the pages of our application.

  • Inputs Number Detection: Instead of manually entering number of variables of the digital function needed to be minimized, our application automatically calculates it according to the number of bits of the largest entered minterm. In case you want to make number of inputs more than the least one, feel free to manually enter it in the specified text box found on the homepage.

  • Wide Range Of Inputs: Our application can handle a number of inputs as big as the number of English alphabetical letters. By supporting up to 2^26 minterms, we can say that Quine McCluskey Solver is not just suitable for students only but engineers and designers of logical circuits. We have put the limitation of 26 inputs for nothing, but because we prefer representing the minimized function in a homogenous notation constructed from only capital English letters. This makes function easier to be read and understood.

  • Step-By-Step Solving: One of the strong points that makes our solution unique is solving any minimization problem like if it was a human solving such problem during exam. Our program minimize functions using the well-known minimizing procedure that starts by tabulating minterms to find prime implicants, then finding essential prime implicants by detection of unique minterms and applying row and column dominance and finally applying the Petrick's method if necessary. Furthermore, our application shows all other these steps in organized numbered tables and cards to ensure that such steps are understandable by everyone.

  • Compatible & Responsive: One of the features of our application is the simplicity and responsiveness of its GUI which makes it viewable on any device form. In addition, it can run on any operating system having modern web browser installed.

Contributing

Read our contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to Quine McCluskey Solver.

License

Quine McCluskey Solver is released under the GNU AGPLv3 license.

View count

quine-mccluskey-solver's People

Contributors

geeekyboy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

muhammadoginh

quine-mccluskey-solver's Issues

ReferenceError: `useClasses` is not defined

react-dom.production.min.js:189 ReferenceError: useClasses is not defined
    at Yn (PetrickMethod.js:8:19)
    at Pl (react-dom.production.min.js:167:137)
    at bu (react-dom.production.min.js:290:337)
    at yp (react-dom.production.min.js:280:389)
    at vp (react-dom.production.min.js:280:320)
    at Np (react-dom.production.min.js:280:180)
    at op (react-dom.production.min.js:271:88)
    at rp (react-dom.production.min.js:268:429)
    at T (scheduler.production.min.js:13:203)
    at MessagePort.G (scheduler.production.min.js:14:128)
di @ react-dom.production.min.js:189
n.callback @ react-dom.production.min.js:189
xo @ react-dom.production.min.js:144
Wu @ react-dom.production.min.js:262
yu @ react-dom.production.min.js:260
Su @ react-dom.production.min.js:259
(anonymous) @ react-dom.production.min.js:283
qp @ react-dom.production.min.js:281
rp @ react-dom.production.min.js:270
T @ scheduler.production.min.js:13
G @ scheduler.production.min.js:14

Did it miss something here?

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.