This repository was archived by the owner on Feb 20, 2019. It is now read-only.
File tree Expand file tree Collapse file tree 3 files changed +36
-0
lines changed Expand file tree Collapse file tree 3 files changed +36
-0
lines changed Original file line number Diff line number Diff line change @@ -27,6 +27,7 @@ import dec2bin from './dec2bin'
27
27
import searchAndReplace from './search-and-replace'
28
28
import sqrt from './sqrt'
29
29
import toPower from './to-power'
30
+ import mod from './mod'
30
31
31
32
export {
32
33
initArray ,
@@ -57,4 +58,5 @@ export {
57
58
searchAndReplace ,
58
59
sqrt ,
59
60
toPower ,
61
+ mod ,
60
62
}
Original file line number Diff line number Diff line change
1
+ export default mod
2
+
3
+ /**
4
+ * Original Source: http://stackoverflow.com/a/17323608
5
+ *
6
+ * This method provides a modulo function that will always return a positive
7
+ * value even when supplied a negative dividend.
8
+ *
9
+ * @param {Number } dividend - the number to be divided by divisor
10
+ * @param {Number } divisor - the number divided by
11
+ * @returns {Number } - the remainder
12
+ */
13
+
14
+ function mod ( dividend , divisor ) {
15
+ return ( ( dividend % divisor ) + divisor ) % divisor
16
+ }
Original file line number Diff line number Diff line change
1
+ import test from 'ava'
2
+ import { mod } from '../src'
3
+
4
+ test ( 'a dividend larger than divisor' , t => {
5
+ const dividend = 12
6
+ const divisor = 8
7
+ const expected = 4
8
+ const result = mod ( dividend , divisor )
9
+ t . is ( expected , result )
10
+ } )
11
+
12
+ test ( 'a negative dividend' , t => {
13
+ const dividend = - 12
14
+ const divisor = 8
15
+ const expected = 4
16
+ const result = mod ( dividend , divisor )
17
+ t . is ( expected , result )
18
+ } )
You can’t perform that action at this time.
0 commit comments