PK
|X brain-js-3.0.0/PK
|X brain-js-3.0.0/lib/PK
|XĹp¸ ¸ brain-js-3.0.0/lib/brain-js.jsvar brain = require("brain")
var net = new brain.NeuralNetwork();
net.train([{input: { r: 0.03, g: 0.7, b: 0.5 }, output: { black: 1 }},
{input: { r: 0.5, g: 0.5, b: 1.0 }, output: { white: 1 }}]);
var output = net.run({ r: 1, g: 0.4, b: 0 });;
net;
function textColor(bgColor) {
return net.run(bgColor).black > .5 ? "black" : "white";
}
function toRGB(bgColor) {
return "rgb(" + Math.floor(bgColor.r * 255) +
", " + Math.floor(bgColor.g * 255) +
", " + Math.floor(bgColor.b * 255) + ")"
}
function toDiv(bg, txt) {
return '
'+ toRGB(bg) + '
'
}
function sample() {
var results = [];
for (var i = 0; i < 50; i++) {
var bg = {r: Math.random(), g: Math.random(), b: Math.random()}
var txt = textColor(bg);
results.push(toDiv(bg, txt));
}
return results;
}
sample().join("\n");;
net.train([
{"input":{"r":0.0431,"g":0.3458,"b":0.2627},"output":{"black":0}},
{"input":{"r":0.9333,"g":0.8784,"b":0.5686},"output":{"black":1}},
{"input":{"r":0.3490,"g":0.2705,"b":0.8901},"output":{"black":0}},
{"input":{"r":0.3843,"g":0.4862,"b":0.0941},"output":{"black":0}},
{"input":{"r":0.2274,"g":0.0078,"b":0.8627},"output":{"black":0}},
{"input":{"r":0.3764,"g":0.3843,"b":0.6941},"output":{"black":0}},
{"input":{"r":0.2862,"g":0.5960,"b":0.0470},"output":{"black":0}},
{"input":{"r":0.6549,"g":0.7019,"b":0.7098},"output":{"black":1}},
{"input":{"r":0.0431,"g":0.0666,"b":0.4862},"output":{"black":0}},
{"input":{"r":0.8431,"g":0.4431,"b":0.2627},"output":{"black":0}},
])
sample().join("\n");
PK
|XŽŮ Ů brain-js-3.0.0/package.json{
"name": "@runkit/tonic_brain-js",
"version": "3.0.0",
"main": "./lib/brain-js",
"dependencies": {
"brain": "0.7.0"
},
"scripts": {
"install": "node scripts/install.js"
}
}PK
|Xu u " brain-js-3.0.0/npm-shrinkwrap.json{
"name": "@runkit/tonic_brain-js",
"version": "3.0.0",
"dependencies": {
"brain": {
"version": "0.7.0",
"from": "https://registry.npmjs.org/brain/-/brain-0.7.0.tgz",
"dependencies": {
"underscore": {
"version": "1.8.3",
"from": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz"
},
"inherits": {
"version": "2.0.1",
"from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
}
}
}
}
}PK
|X brain-js-3.0.0/scripts/PK
|X çCZ Z ! brain-js-3.0.0/scripts/install.jsvar fs = require('fs');
var path = require('path');
var json = require("../package.json");
var match = json.name.match(/^@runkit\/(.*)_(.*)$/);
// check if our module name actually makes sense, otherwise abort
if (!match) throw new Error("Unknown package structure!");
// check if we're actually inside a node_modules/@runkit folder, otherwise don't create symlinks
if (path.basename(path.dirname(process.cwd())) !== "@runkit" || path.basename(path.dirname(path.dirname(process.cwd()))) !== "node_modules") {
console.log("Not installing as notebook: " + process.cwd());
return;
}
console.log("creating notebook symlinks");
var userPath = path.join("..", match[1]);
var repoPath = path.join(userPath, match[2]);
mkdir(userPath);
mkdir(repoPath);
var branchMatch = json.version.match(/^0\.0\.0\-(.*)$/);
if (branchMatch) {
var branchPath = path.join(repoPath, "branches");
mkdir(branchPath);
var versionPath = path.join(branchPath, branchMatch[1]);
var relativePath = path.join("..", "..", "..", path.basename(process.cwd()));
unlink(versionPath);
fs.symlinkSync(relativePath, versionPath);
} else {
var relativePath = path.join("..", "..", path.basename(process.cwd()));
var latestPath = path.join(repoPath, "latest");
var versionPath = path.join(repoPath, json.version);
unlink(latestPath);
fs.symlinkSync(relativePath, latestPath);
unlink(versionPath);
fs.symlinkSync(relativePath, versionPath);
}
function mkdir(p) {
try {
fs.mkdirSync(p);
} catch (e) {}
}
function unlink(p) {
try {
fs.unlinkSync(p);
} catch (e) {}
}PK
|X brain-js-3.0.0/PK
|X - brain-js-3.0.0/lib/PK
|XĹp¸ ¸ ^ brain-js-3.0.0/lib/brain-js.jsPK
|XŽŮ Ů R brain-js-3.0.0/package.jsonPK
|Xu u " d brain-js-3.0.0/npm-shrinkwrap.jsonPK
|X brain-js-3.0.0/scripts/PK
|X çCZ Z ! N brain-js-3.0.0/scripts/install.jsPK ÷ ç