-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathasmbignum-tests.js
50 lines (46 loc) · 1.38 KB
/
asmbignum-tests.js
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
module.exports = test
var fs = require('fs')
var asmcrypto = require('../asmcrypto.js/asmcrypto.js')
var asmbn = asmcrypto.BigNumber
function empty(str){ return str.length != 0 }
var strings = fs.readFileSync('hex_food.txt', {encoding: 'utf8'}).split('\n').filter(empty)
function test(){
var results = []
var numbers = []
for ( var i = 0; i < strings.length; i++ ) {
numbers.push(new asmcrypto.BigNumber(asmcrypto.hex_to_bytes(strings[i])))
}
return {
clean: function clear(){
results = []
}
, addition: function addition(){
for ( var i = 0; i < numbers.length; i++ ) {
for ( var j = 0; j < numbers.length; j++ ) {
results.push(numbers[i].add(numbers[j]))
}
}
}
, subtraction: function addition(){
for ( var i = 0; i < numbers.length; i++ ) {
for ( var j = 0; j < numbers.length; j++ ) {
results.push(numbers[i].subtract(numbers[j]))
}
}
}
, multiplication: function multiplication(){
for ( var i = 0; i < numbers.length; i++ ) {
for ( var j = 0; j < numbers.length; j++ ) {
results.push(numbers[i].multiply(numbers[j]))
}
}
}
, division: function division(){
for ( var i = 0; i < numbers.length; i++ ) {
for ( var j = 0; j < numbers.length; j++ ) {
results.push(numbers[i].divide(numbers[j]))
}
}
}
}
}