FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
mathjs/test/function/arithmetic/gcd.test.js at develop · KIKOU2016/mathjs · GitHub
KIKOU2016
/
mathjs
Public
forked from
josdejong/mathjs
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
mathjs
/
test
/
function
/
arithmetic
/
gcd.test.js
Copy path
More file actions
More file actions
Latest commit
History
History
History
163 lines (134 loc) · 6.55 KB
Breadcrumbs
mathjs
/
test
/
function
/
arithmetic
/
gcd.test.js
Copy path
File metadata and controls
163 lines (134 loc) · 6.55 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
// test gcd
const
assert
=
require
(
'assert'
)
const
math
=
require
(
'../../../src/main'
)
const
matrix
=
math
.
matrix
const
sparse
=
math
.
sparse
const
gcd
=
math
.
gcd
describe
(
'gcd'
,
function
(
)
{
it
(
'should find the greatest common divisor of two or more numbers'
,
function
(
)
{
assert
.
strictEqual
(
gcd
(
12
,
8
)
,
4
)
assert
.
strictEqual
(
gcd
(
8
,
12
)
,
4
)
assert
.
strictEqual
(
gcd
(
8
,
-
12
)
,
4
)
assert
.
strictEqual
(
gcd
(
-
12
,
8
)
,
4
)
assert
.
strictEqual
(
gcd
(
12
,
-
8
)
,
4
)
assert
.
strictEqual
(
gcd
(
15
,
3
)
,
3
)
assert
.
strictEqual
(
gcd
(
25
,
15
,
-
10
,
30
)
,
5
)
}
)
it
(
'should calculate gcd for edge cases around zero'
,
function
(
)
{
assert
.
strictEqual
(
gcd
(
3
,
0
)
,
3
)
assert
.
strictEqual
(
gcd
(
-
3
,
0
)
,
3
)
assert
.
strictEqual
(
gcd
(
0
,
3
)
,
3
)
assert
.
strictEqual
(
gcd
(
0
,
-
3
)
,
3
)
assert
.
strictEqual
(
gcd
(
0
,
0
)
,
0
)
assert
.
strictEqual
(
gcd
(
1
,
1
)
,
1
)
assert
.
strictEqual
(
gcd
(
1
,
0
)
,
1
)
assert
.
strictEqual
(
gcd
(
1
,
-
1
)
,
1
)
assert
.
strictEqual
(
gcd
(
-
1
,
1
)
,
1
)
assert
.
strictEqual
(
gcd
(
-
1
,
0
)
,
1
)
assert
.
strictEqual
(
gcd
(
-
1
,
-
1
)
,
1
)
assert
.
strictEqual
(
gcd
(
0
,
1
)
,
1
)
assert
.
strictEqual
(
gcd
(
0
,
-
1
)
,
1
)
assert
.
strictEqual
(
gcd
(
0
,
0
)
,
0
)
}
)
it
(
'should calculate gcd for edge cases with negative values'
,
function
(
)
{
assert
.
deepStrictEqual
(
1
,
gcd
(
2
,
5
)
)
assert
.
deepStrictEqual
(
1
,
gcd
(
2
,
-
5
)
)
assert
.
deepStrictEqual
(
1
,
gcd
(
-
2
,
5
)
)
assert
.
deepStrictEqual
(
1
,
gcd
(
-
2
,
-
5
)
)
assert
.
deepStrictEqual
(
2
,
gcd
(
2
,
6
)
)
assert
.
deepStrictEqual
(
2
,
gcd
(
2
,
-
6
)
)
assert
.
deepStrictEqual
(
2
,
gcd
(
-
2
,
6
)
)
assert
.
deepStrictEqual
(
2
,
gcd
(
-
2
,
-
6
)
)
}
)
it
(
'should calculate gcd for BigNumbers'
,
function
(
)
{
assert
.
deepStrictEqual
(
gcd
(
math
.
bignumber
(
12
)
,
math
.
bignumber
(
8
)
)
,
math
.
bignumber
(
4
)
)
assert
.
deepStrictEqual
(
gcd
(
math
.
bignumber
(
8
)
,
math
.
bignumber
(
12
)
)
,
math
.
bignumber
(
4
)
)
}
)
it
(
'should calculate gcd for mixed BigNumbers and Numbers'
,
function
(
)
{
assert
.
deepStrictEqual
(
gcd
(
math
.
bignumber
(
12
)
,
8
)
,
math
.
bignumber
(
4
)
)
assert
.
deepStrictEqual
(
gcd
(
8
,
math
.
bignumber
(
12
)
)
,
math
.
bignumber
(
4
)
)
}
)
it
(
'should find the greatest common divisor of fractions'
,
function
(
)
{
const
a
=
math
.
fraction
(
5
,
8
)
assert
.
strictEqual
(
gcd
(
a
,
math
.
fraction
(
3
,
7
)
)
.
toString
(
)
,
'0.017(857142)'
)
assert
.
strictEqual
(
a
.
toString
(
)
,
'0.625'
)
}
)
it
(
'should find the greatest common divisor of mixed numbers and fractions'
,
function
(
)
{
assert
.
deepStrictEqual
(
gcd
(
math
.
fraction
(
12
)
,
8
)
,
math
.
fraction
(
4
)
)
assert
.
deepStrictEqual
(
gcd
(
12
,
math
.
fraction
(
8
)
)
,
math
.
fraction
(
4
)
)
}
)
it
(
'should find the greatest common divisor of booleans'
,
function
(
)
{
assert
.
strictEqual
(
gcd
(
true
,
true
)
,
1
)
assert
.
strictEqual
(
gcd
(
true
,
false
)
,
1
)
assert
.
strictEqual
(
gcd
(
false
,
true
)
,
1
)
assert
.
strictEqual
(
gcd
(
false
,
false
)
,
0
)
}
)
it
(
'should throw an error if only one argument'
,
function
(
)
{
assert
.
throws
(
function
(
)
{
gcd
(
1
)
}
,
/
T
y
p
e
E
r
r
o
r
:
T
o
o
f
e
w
a
r
g
u
m
e
n
t
s
/
)
}
)
it
(
'should throw an error for non-integer numbers'
,
function
(
)
{
assert
.
throws
(
function
(
)
{
gcd
(
2
,
4.1
)
}
,
/
P
a
r
a
m
e
t
e
r
s
i
n
f
u
n
c
t
i
o
n
g
c
d
m
u
s
t
b
e
i
n
t
e
g
e
r
n
u
m
b
e
r
s
/
)
assert
.
throws
(
function
(
)
{
gcd
(
2.3
,
4
)
}
,
/
P
a
r
a
m
e
t
e
r
s
i
n
f
u
n
c
t
i
o
n
g
c
d
m
u
s
t
b
e
i
n
t
e
g
e
r
n
u
m
b
e
r
s
/
)
}
)
it
(
'should throw an error with complex numbers'
,
function
(
)
{
assert
.
throws
(
function
(
)
{
gcd
(
math
.
complex
(
1
,
3
)
,
2
)
}
,
/
T
y
p
e
E
r
r
o
r
:
U
n
e
x
p
e
c
t
e
d
t
y
p
e
o
f
a
r
g
u
m
e
n
t
/
)
}
)
it
(
'should convert strings to numbers'
,
function
(
)
{
assert
.
strictEqual
(
gcd
(
'12'
,
'8'
)
,
4
)
assert
.
strictEqual
(
gcd
(
12
,
'8'
)
,
4
)
assert
.
strictEqual
(
gcd
(
'12'
,
8
)
,
4
)
assert
.
throws
(
function
(
)
{
gcd
(
'a'
,
8
)
}
,
/
C
a
n
n
o
t
c
o
n
v
e
r
t
"
a
"
t
o
a
n
u
m
b
e
r
/
)
}
)
it
(
'should throw an error with units'
,
function
(
)
{
assert
.
throws
(
function
(
)
{
gcd
(
math
.
unit
(
'5cm'
)
,
2
)
}
,
/
T
y
p
e
E
r
r
o
r
:
U
n
e
x
p
e
c
t
e
d
t
y
p
e
o
f
a
r
g
u
m
e
n
t
/
)
}
)
describe
(
'Array'
,
function
(
)
{
it
(
'should find the greatest common divisor array - scalar'
,
function
(
)
{
assert
.
deepStrictEqual
(
gcd
(
[
5
,
18
,
3
]
,
3
)
,
[
1
,
3
,
3
]
)
assert
.
deepStrictEqual
(
gcd
(
3
,
[
5
,
18
,
3
]
)
,
[
1
,
3
,
3
]
)
}
)
it
(
'should find the greatest common divisor array - array'
,
function
(
)
{
assert
.
deepStrictEqual
(
gcd
(
[
5
,
2
,
3
]
,
[
25
,
3
,
6
]
)
,
[
5
,
1
,
3
]
)
}
)
it
(
'should find the greatest common divisor array - dense matrix'
,
function
(
)
{
assert
.
deepStrictEqual
(
gcd
(
[
5
,
2
,
3
]
,
matrix
(
[
25
,
3
,
6
]
)
)
,
matrix
(
[
5
,
1
,
3
]
)
)
}
)
it
(
'should find the greatest common divisor array - sparse matrix'
,
function
(
)
{
assert
.
deepStrictEqual
(
gcd
(
[
[
5
,
2
,
3
]
,
[
3
,
2
,
5
]
]
,
sparse
(
[
[
0
,
3
,
6
]
,
[
6
,
0
,
25
]
]
)
)
,
matrix
(
[
[
5
,
1
,
3
]
,
[
3
,
2
,
5
]
]
)
)
}
)
}
)
describe
(
'DenseMatrix'
,
function
(
)
{
it
(
'should find the greatest common divisor dense matrix - scalar'
,
function
(
)
{
assert
.
deepStrictEqual
(
gcd
(
matrix
(
[
5
,
18
,
3
]
)
,
3
)
,
matrix
(
[
1
,
3
,
3
]
)
)
assert
.
deepStrictEqual
(
gcd
(
3
,
matrix
(
[
5
,
18
,
3
]
)
)
,
matrix
(
[
1
,
3
,
3
]
)
)
}
)
it
(
'should find the greatest common divisor dense matrix - array'
,
function
(
)
{
assert
.
deepStrictEqual
(
gcd
(
matrix
(
[
5
,
2
,
3
]
)
,
[
25
,
3
,
6
]
)
,
matrix
(
[
5
,
1
,
3
]
)
)
}
)
it
(
'should find the greatest common divisor dense matrix - dense matrix'
,
function
(
)
{
assert
.
deepStrictEqual
(
gcd
(
matrix
(
[
5
,
2
,
3
]
)
,
matrix
(
[
25
,
3
,
6
]
)
)
,
matrix
(
[
5
,
1
,
3
]
)
)
}
)
it
(
'should find the greatest common divisor dense matrix - sparse matrix'
,
function
(
)
{
assert
.
deepStrictEqual
(
gcd
(
matrix
(
[
[
5
,
2
,
3
]
,
[
3
,
2
,
5
]
]
)
,
sparse
(
[
[
0
,
3
,
6
]
,
[
6
,
0
,
25
]
]
)
)
,
matrix
(
[
[
5
,
1
,
3
]
,
[
3
,
2
,
5
]
]
)
)
}
)
}
)
describe
(
'SparseMatrix'
,
function
(
)
{
it
(
'should find the greatest common divisor sparse matrix - scalar'
,
function
(
)
{
assert
.
deepStrictEqual
(
gcd
(
sparse
(
[
[
5
,
0
,
3
]
,
[
0
,
18
,
0
]
]
)
,
3
)
,
matrix
(
[
[
1
,
3
,
3
]
,
[
3
,
3
,
3
]
]
)
)
assert
.
deepStrictEqual
(
gcd
(
3
,
sparse
(
[
[
5
,
0
,
3
]
,
[
0
,
18
,
0
]
]
)
)
,
matrix
(
[
[
1
,
3
,
3
]
,
[
3
,
3
,
3
]
]
)
)
}
)
it
(
'should find the greatest common divisor sparse matrix - array'
,
function
(
)
{
assert
.
deepStrictEqual
(
gcd
(
sparse
(
[
[
5
,
2
,
3
]
,
[
3
,
2
,
5
]
]
)
,
[
[
0
,
3
,
6
]
,
[
6
,
0
,
25
]
]
)
,
matrix
(
[
[
5
,
1
,
3
]
,
[
3
,
2
,
5
]
]
)
)
}
)
it
(
'should find the greatest common divisor sparse matrix - dense matrix'
,
function
(
)
{
assert
.
deepStrictEqual
(
gcd
(
sparse
(
[
[
5
,
2
,
3
]
,
[
3
,
2
,
5
]
]
)
,
matrix
(
[
[
0
,
3
,
6
]
,
[
6
,
0
,
25
]
]
)
)
,
matrix
(
[
[
5
,
1
,
3
]
,
[
3
,
2
,
5
]
]
)
)
}
)
it
(
'should find the greatest common divisor sparse matrix - sparse matrix'
,
function
(
)
{
assert
.
deepStrictEqual
(
gcd
(
sparse
(
[
[
5
,
2
,
3
]
,
[
3
,
2
,
5
]
]
)
,
sparse
(
[
[
0
,
3
,
6
]
,
[
6
,
0
,
25
]
]
)
)
,
sparse
(
[
[
5
,
1
,
3
]
,
[
3
,
2
,
5
]
]
)
)
}
)
}
)
it
(
'should LaTeX gcd'
,
function
(
)
{
const
expression
=
math
.
parse
(
'gcd(2,3)'
)
assert
.
strictEqual
(
expression
.
toTex
(
)
,
'\\gcd\\left(2,3\\right)'
)
}
)
}
)
Back
|
FazBrowse Home
|
New Git URL