Skip to content

Commit

Permalink
Version 1.1.0 - Adding logarithmic calculations
Browse files Browse the repository at this point in the history
  • Loading branch information
maan-patel committed Dec 24, 2021
1 parent d75ee62 commit 685cb53
Show file tree
Hide file tree
Showing 5 changed files with 68 additions and 18 deletions.
20 changes: 20 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ npm install advanced-calculator

![npm](https://img.shields.io/npm/v/advanced-calculator)

### Please refer each section's detailed screenshots for it's formulas for better understanding

# Table of Contents

Expand All @@ -22,6 +23,7 @@ npm install advanced-calculator
5. [Radicals](#radicals)
6. [Graphs](#graphs)
7. [Trigonometry](#trigonometry)
8. [Logarithms](#logarithms)
9. [Conversions](#conversions)
10. [Constants](#constants)
11. [Other](#other)
Expand Down Expand Up @@ -228,6 +230,24 @@ Trigonometry.doubleAngle(trig, a)
![trig3](https://i.imgur.com/gNYzL24.png)


## Logarithms

```javaScript
let Logarithms = require('advanced-calculator')

Logarithms.log(a, b)
Logarithms.logB(a, x)
Logarithms.logProduct(a, u, v)
Logarithms.logQuotient(a, u, v)
Logarithms.logExponential(a, u, v)

```

### Logarithms Formulas

![log](https://i.imgur.com/KgoSAVg.png)


## Conversions

### Converts n of something to something
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "advanced-calculator",
"version": "1.0.0",
"version": "1.1.0",
"description": "Advanced calculator that allows you to do various mathematical caluclations of concepts such as Area, Volume, Exponents, Radicals, Graphs, Trigonometry, Conversion, Constants, and more. You can also evaluate an expression that is implemented using Dijkstra's Shunting-Yard Algorithm. ",
"main": "index.js",
"scripts": {
Expand Down
44 changes: 28 additions & 16 deletions src/Areas/index.js
Original file line number Diff line number Diff line change
@@ -1,23 +1,35 @@

let trianglePerimeter = (a, b, c, unit = "") => a + b + c + unit; //I can require units
let traingleArea = (b, h, unit = "") => 12 * b * h + unit;

let circlePerimeter = (r, unit = "") => (2 * Math.PI * r) + unit
let circleArea = (r, unit = "") => (Math.PI * r * r) + unit
let circlePerimeter = (r, unit = "") => 2 * Math.PI * r + unit;
let circleArea = (r, unit = "") => Math.PI * r * r + unit;

let squarePerimeter = (a, unit = "") => (4 * a) + unit
let squareArea = (a, unit = "") => (a * a) + unit
let squarePerimeter = (a, unit = "") => 4 * a + unit;
let squareArea = (a, unit = "") => a * a + unit;

let rectanglePerimeter = (a, b, unit = "") => 2 * (a + b) + unit
let rectangleArea = (a, b, unit = "") => (a * b) + unit
let rectanglePerimeter = (a, b, unit = "") => 2 * (a + b) + unit;
let rectangleArea = (a, b, unit = "") => a * b + unit;

let parallelogramPerimeter = function (a, b, unit = "") {
return 2 * (a + b) + unit;
}

let parallelogramArea = (b, h, unit = "") => (b * h) + unit

let trapezoidPerimeter = (a, b1, b2, unit = "") => (2 * a) + b1 + b2 + unit
let trapezoidArea = (h, b1, b2, unit = "") => (0.5) * (b1 + b2) * h

module.exports = { trianglePerimeter, traingleArea, circlePerimeter, circleArea, squarePerimeter, squareArea, rectanglePerimeter, rectangleArea, parallelogramPerimeter, parallelogramArea, trapezoidPerimeter, trapezoidArea }
return 2 * (a + b) + unit;
};

let parallelogramArea = (b, h, unit = "") => b * h + unit;

let trapezoidPerimeter = (a, b1, b2, unit = "") => 2 * a + b1 + b2 + unit;
let trapezoidArea = (h, b1, b2, unit = "") => 0.5 * (b1 + b2) * h;

module.exports = {
trianglePerimeter,
traingleArea,
circlePerimeter,
circleArea,
squarePerimeter,
squareArea,
rectanglePerimeter,
rectangleArea,
parallelogramPerimeter,
parallelogramArea,
trapezoidPerimeter,
trapezoidArea,
};
17 changes: 17 additions & 0 deletions src/Logarithms/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
let log = (a, b) => Math.log(b) / Math.log(a);

let logB = (a, x) => a ** x;

let logProduct = (a, u, v) => (Math.log(u) / Math.log(a)) + (Math.log(v) / Math.log(a));

let logQuotient = (a, u, v) => (Math.log(u) / Math.log(a)) - (Math.log(v) / Math.log(a));

let logExponential = (a, u, v) => v * (Math.log(u) / Math.log(a));

module.exports = {
log,
logB,
logProduct,
logQuotient,
logExponential,
};
3 changes: 2 additions & 1 deletion src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,6 @@ module.exports = Object.assign({},
require('./Trigonometry'),
require('./Volume'),
require('./Basic'),
require('./Conversions')
require('./Conversions'),
require('./Logarithms'),
)

0 comments on commit 685cb53

Please sign in to comment.