calcx is a powerful TypeScript-based library that provides a wide range of mathematical functions. Whether you need to perform basic arithmetic, geometry, algebra, or complex financial calculations, calcx has you covered.
- Geometry Calculations: Calculate areas, perimeters, and volumes for various shapes like circles, triangles, rectangles, ellipses, spheres, and cylinders.
- Algebraic Operations: Perform factorials, permutations, combinations, and logarithmic calculations with ease.
- Financial Calculations: Compute simple and compound interest, as well as exponential growth and decay.
- Conversion Utilities: Convert numbers between decimal, binary, octal, and hexadecimal formats.
- Vector Operations: Calculate distances and centroids for points in a 2D space.
You can install calcx via npm:
npm install calcx
Usage Here’s how you can use calcx in your project:
import calcx from 'calcx';
// Example: Calculate the area of a circle
const radius = 5;
const area = calcx.areaOfCircle(radius);
console.log(`The area of the circle is ${area}`);
// Example: Calculate compound interest
const principal = 1000;
const rate = 0.05;
const timesCompounded = 4;
const years = 2;
const futureValue = calcx.compoundInterest(principal, rate, timesCompounded, years);
console.log(`The future value is ${futureValue}`);
-
areaOfCircle(r: number): number
Calculates the area of a circle given its radius. -
perimeterOfCircle(r: number): number
Calculates the perimeter of a circle given its radius. -
areaOfTriangle(base: number, height: number): number
Calculates the area of a triangle given its base and height. -
perimeterOfTriangle(a: number, b: number, c: number): number
Calculates the perimeter of a triangle given the lengths of its three sides. -
areaOfRectangle(width: number, height: number): number
Calculates the area of a rectangle given its width and height. -
perimeterOfRectangle(width: number, height: number): number
Calculates the perimeter of a rectangle given its width and height. -
areaOfEllipse(a: number, b: number): number
Calculates the area of an ellipse given its semi-major and semi-minor axes. -
surfaceAreaOfSphere(r: number): number
Calculates the surface area of a sphere given its radius. -
volumeOfSphere(r: number): number
Calculates the volume of a sphere given its radius. -
surfaceAreaOfCylinder(r: number, h: number): number
Calculates the surface area of a cylinder given its radius and height. -
volumeOfCylinder(r: number, h: number): number
Calculates the volume of a cylinder given its radius and height.
-
factorial(n: number): number
Calculates the factorial of a number. -
permutation(n: number, r: number): number
Calculates the permutation ofn
objects takenr
at a time. -
combination(n: number, r: number): number
Calculates the combination ofn
objects takenr
at a time. -
log(value: number, base: number): number
Calculates the logarithm of a value with a given base. -
ln(value: number): number
Calculates the natural logarithm (basee
) of a value.
-
simplifiedInterest(C: number, r: number, t: number): number
Calculates the future value of money using simple interest. -
compoundInterest(C: number, r: number, n: number, t: number): number
Calculates the future value of money using compound interest. -
exponentialGrowth(P: number, r: number, t: number): number
Calculates the amount after exponential growth. -
exponentialDecay(P: number, r: number, t: number): number
Calculates the amount after exponential decay.
-
decimalToBinary(num: number): string
Converts a decimal number to binary. -
decimalToOctal(num: number): string
Converts a decimal number to octal. -
decimalToHex(num: number): string
Converts a decimal number to hexadecimal.
-
distanceBetweenPoints(x1: number, y1: number, x2: number, y2: number): number
Calculates the distance between two points in a 2D space. -
centroid(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number)
Calculates the centroid of three points in a 2D space.
Contributions are welcome! Please feel free to submit a Pull Request or open an issue.
- Fork the repository
- Create a new branch (
git checkout -b feature-branch
) - Commit your changes (
git commit -am 'Add new feature'
) - Push to the branch (
git push origin feature-branch
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Thanks to the developers of TypeScript, Jest, and Husky.
For any inquiries or feedback, please contact Alperen Talaslıoğlu.