StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics https://doi.org/10.1109/TVCG.2020.3030352
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
StackGenVis/frontend/node_modules/compare-oriented-cell/test/brute.js

50 lines
1000 B

'use strict'
var tape = require('tape')
var compare = require('../compare')
tape('brute force check', function(t) {
function seq(d, n, cb) {
var comb = new Array(d)
function rec(i) {
if(i === d) {
cb(comb)
} else for(var j=0; j<n; ++j) {
comb[i] = j
rec(i+1)
}
}
rec(0)
}
function parity(s) {
var sgn = 1
for(var i=0; i<s.length; ++i) {
for(var j=0; j<i; ++j) {
if(s[i] < s[j]) {
sgn *= -1
} else if(s[i] === s[j]) {
sgn = 0
}
}
}
return sgn
}
for(var i=1; i<=4; ++i) {
seq(i, 5, function(a) {
seq(i, 5, function(b) {
var d = compare(a, b)
var x = a.slice().sort().join()
var y = b.slice().sort().join()
if(x === y && parity(a) === parity(b)) {
t.ok(d === 0, a.join() + ' == ' + b.join())
} else {
t.ok(d !== 0, a.join() + ' != ' + b.join())
}
})
})
}
t.end()
})