Skip to content

Commit 17b48fd

Browse files
committed
algorithm : Added a Maths' Function as Abs.ts #10
1 parent 282c457 commit 17b48fd

File tree

3 files changed

+43
-1
lines changed

3 files changed

+43
-1
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# dependencies
22
/node_modules
33
/temp
4-
/Maths
54
# misc
65
.DS_Store
76
.env.local

Maths/Abs.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/**
2+
* A function to get absolute value of a given number
3+
* @param {number} num - The input integer
4+
* @return {number} Absolute vlaue of `num`
5+
* @example abs(-10) => 10 | abs(50) => 50 | abs(0) => 0
6+
* @see https://en.wikipedia.org/wiki/Absolute_value
7+
* @author Owais28 <https://github.com/Owais28>
8+
*/
9+
10+
export const abs = (num: number ): number => {
11+
const validNumber : number = +num; // converted to number, also can use - Number(num)
12+
13+
if (Number.isNaN(validNumber)) {
14+
throw new TypeError("Argument is NaN - Not a Number");
15+
}
16+
17+
return validNumber < 0 ? -validNumber : validNumber; // if number is less then zero mean negative then it converted to positive. i.e -> n = -2 = -(-2) = 2
18+
};

Maths/test/Abs.test.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { abs } from '../Abs'
2+
3+
describe('Testing abs function', () => {
4+
5+
6+
it('should return an absolute value of a negative number', () => {
7+
const absOfNegativeNumber = abs(-34)
8+
expect(absOfNegativeNumber).toBe(34)
9+
})
10+
11+
it('should return an absolute value of a positive number', () => {
12+
const absOfPositiveNumber = abs(50)
13+
expect(absOfPositiveNumber).toBe(50)
14+
})
15+
16+
it('should return an absolute value of a zero number', () => {
17+
const absOfPositiveNumber = abs(0)
18+
expect(absOfPositiveNumber).toBe(0)
19+
})
20+
21+
it('should return an absolute value of any floating number', () => {
22+
const absOfPositiveNumber = abs(-20.2034)
23+
expect(absOfPositiveNumber).toBe(20.2034)
24+
})
25+
})

0 commit comments

Comments
 (0)