<commit_before>module.exports = {
	empty: {
		type: 'empty',
		io: {},
	},
	wireI: {
		type: 'wire',
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 1,
		rotatable: true,
	},
	wireL: {
		type: 'wire',
		io: {
			plugs: ['top', 'right'],
		},
		weight: 1,
		rotatable: true,
	},
	wireT: {
		type: 'wire',
		io: {
			plugs: ['right', 'top', 'left'],
		},
		weight: 1,
		rotatable: true,
	},
	wireXdot: {
		type: 'wire',
		io: {
			plugs: ['right', 'top', 'left', 'bottom'],
		},
		weight: 1,
		rotatable: false,
	},
	wireX: {
		type: 'wireX',
		io: {},
		weight: 1,
	},
	'times-2': {
		type: 'calc',
		func: (n) => n * 2,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'times-3': {
		type: 'calc',
		func: (n) => n * 3,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'times-10': {
		type: 'calc',
		func: (n) => n * 10,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'add-3': {
		type: 'calc',
		func: (n) => n + 3,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'plus-1': {
		type: 'calc',
		func: (n) => n + 1,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'plus-2': {
		type: 'calc',
		func: (n) => n + 2,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'minus-1': {
		type: 'calc',
		func: (n) => n - 1,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'div-2': {
		type: 'calc',
		func: (n) => (n - n % 2) / 2,

		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'div-3': {
		type: 'calc',
		func: (n) => (n - n % 3) / 3,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'div-10': {
		type: 'calc',
		func: (n) => (n - n % 10) / 10,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'minus-2': {
		type: 'calc',
		func: (n) => n - 2,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'log10': {
		type: 'calc',
		func: (n) => Math.floor(Math.log10(n) + Number.EPSILON * 5),
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'log2': {
		type: 'calc',
		func: (n) => Math.floor(Math.log2(n) + Number.EPSILON * 5),
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'const-0': {
		type: 'calc',
		func: () => 0,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'const-1': {
		type: 'calc',
		func: () => 1,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'const-2': {
		type: 'calc',
		func: () => 2,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'const-3': {
		type: 'calc',
		func: () => 3,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'const-10': {
		type: 'calc',
		func: () => 10,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	add: {
		type: 'calc2',
		func: (a, b) => a + b,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	sub: {
		type: 'calc2',
		func: (a, b) => a - b,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	mul: {
		type: 'calc2',
		func: (a, b) => a * b,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	div: {
		type: 'calc2',
		func: (a, b) => {
			if (b === 0) {
				return a / b;
			}
			return (a - a % b) / b;
		},
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	mod: {
		type: 'calc2',
		func: (a, b) => a % b,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	pow: {
		type: 'calc2',
		func: (a, b) => parseInt(Math.pow(a, b)),
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	log: {
		type: 'calc2',
		func: (a, b) => Math.floor(Math.log(b) / Math.log(a) + Number.EPSILON * 5),
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	'bitshift-left': {
		type: 'calc2',
		func: (a, b) => a << b,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	'bitshift-right': {
		type: 'calc2',
		func: (a, b) => a >> b,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	'bitwise-and': {
		type: 'calc2',
		func: (a, b) => a & b,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	'bitwise-or': {
		type: 'calc2',
		func: (a, b) => a | b,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	'bitwise-xor': {
		type: 'calc2',
		func: (a, b) => a ^ b,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	equal: {
		type: 'calc2',
		func: (a, b) => a === b ? 1 : 0,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	neq: {
		type: 'calc2',
		// eslint-disable-next-line no-negated-condition
		func: (a, b) => a !== b ? 1 : 0,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	gt: {
		type: 'calc2',
		func: (a, b) => a > b ? 1 : 0,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	geqq: {
		type: 'calc2',
		func: (a, b) => a >= b ? 1 : 0,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	lt: {
		type: 'calc2',
		func: (a, b) => a < b ? 1 : 0,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	leqq: {
		type: 'calc2',
		func: (a, b) => a <= b ? 1 : 0,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	conditional: {
		type: 'calc2',
		func: (a, b, c) => a ? b : c,
		io: {
			in: ['top', 'left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	diode: {
		type: 'calc2',
		func: (a) => a,
		io: {
			in: ['right'],
			out: 'left',
		},
		weight: 3,
		rotatable: true,
	},
	'c-contact': {
		type: 'calc-switch',
		func: (a) => [a ? 1 : 0, 1],
		io: {
			in: ['top'],
			out: ['left', 'right'],
		},
		weight: 3,
	},
	transistor: {
		type: 'calc-switch',
		func: (a, b) => [a ? 1 : 0, b],
		io: {
			in: ['top', 'left'],
			out: ['bottom', 'right'],
		},
		weight: 3,
	},
};
<commit_msg>Unquote log10, log2<commit_after>module.exports = {
	empty: {
		type: 'empty',
		io: {},
	},
	wireI: {
		type: 'wire',
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 1,
		rotatable: true,
	},
	wireL: {
		type: 'wire',
		io: {
			plugs: ['top', 'right'],
		},
		weight: 1,
		rotatable: true,
	},
	wireT: {
		type: 'wire',
		io: {
			plugs: ['right', 'top', 'left'],
		},
		weight: 1,
		rotatable: true,
	},
	wireXdot: {
		type: 'wire',
		io: {
			plugs: ['right', 'top', 'left', 'bottom'],
		},
		weight: 1,
		rotatable: false,
	},
	wireX: {
		type: 'wireX',
		io: {},
		weight: 1,
	},
	'times-2': {
		type: 'calc',
		func: (n) => n * 2,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'times-3': {
		type: 'calc',
		func: (n) => n * 3,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'times-10': {
		type: 'calc',
		func: (n) => n * 10,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'add-3': {
		type: 'calc',
		func: (n) => n + 3,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'plus-1': {
		type: 'calc',
		func: (n) => n + 1,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'plus-2': {
		type: 'calc',
		func: (n) => n + 2,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'minus-1': {
		type: 'calc',
		func: (n) => n - 1,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'div-2': {
		type: 'calc',
		func: (n) => (n - n % 2) / 2,

		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'div-3': {
		type: 'calc',
		func: (n) => (n - n % 3) / 3,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'div-10': {
		type: 'calc',
		func: (n) => (n - n % 10) / 10,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'minus-2': {
		type: 'calc',
		func: (n) => n - 2,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	log10: {
		type: 'calc',
		func: (n) => Math.floor(Math.log10(n) + Number.EPSILON * 5),
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	log2: {
		type: 'calc',
		func: (n) => Math.floor(Math.log2(n) + Number.EPSILON * 5),
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'const-0': {
		type: 'calc',
		func: () => 0,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'const-1': {
		type: 'calc',
		func: () => 1,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'const-2': {
		type: 'calc',
		func: () => 2,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'const-3': {
		type: 'calc',
		func: () => 3,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	'const-10': {
		type: 'calc',
		func: () => 10,
		io: {
			plugs: ['top', 'bottom'],
		},
		weight: 2,
		rotatable: true,
	},
	add: {
		type: 'calc2',
		func: (a, b) => a + b,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	sub: {
		type: 'calc2',
		func: (a, b) => a - b,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	mul: {
		type: 'calc2',
		func: (a, b) => a * b,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	div: {
		type: 'calc2',
		func: (a, b) => {
			if (b === 0) {
				return a / b;
			}
			return (a - a % b) / b;
		},
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	mod: {
		type: 'calc2',
		func: (a, b) => a % b,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	pow: {
		type: 'calc2',
		func: (a, b) => parseInt(Math.pow(a, b)),
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	log: {
		type: 'calc2',
		func: (a, b) => Math.floor(Math.log(b) / Math.log(a) + Number.EPSILON * 5),
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	'bitshift-left': {
		type: 'calc2',
		func: (a, b) => a << b,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	'bitshift-right': {
		type: 'calc2',
		func: (a, b) => a >> b,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	'bitwise-and': {
		type: 'calc2',
		func: (a, b) => a & b,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	'bitwise-or': {
		type: 'calc2',
		func: (a, b) => a | b,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	'bitwise-xor': {
		type: 'calc2',
		func: (a, b) => a ^ b,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	equal: {
		type: 'calc2',
		func: (a, b) => a === b ? 1 : 0,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	neq: {
		type: 'calc2',
		// eslint-disable-next-line no-negated-condition
		func: (a, b) => a !== b ? 1 : 0,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	gt: {
		type: 'calc2',
		func: (a, b) => a > b ? 1 : 0,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	geqq: {
		type: 'calc2',
		func: (a, b) => a >= b ? 1 : 0,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	lt: {
		type: 'calc2',
		func: (a, b) => a < b ? 1 : 0,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	leqq: {
		type: 'calc2',
		func: (a, b) => a <= b ? 1 : 0,
		io: {
			in: ['left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	conditional: {
		type: 'calc2',
		func: (a, b, c) => a ? b : c,
		io: {
			in: ['top', 'left', 'right'],
			out: 'bottom',
		},
		weight: 3,
	},
	diode: {
		type: 'calc2',
		func: (a) => a,
		io: {
			in: ['right'],
			out: 'left',
		},
		weight: 3,
		rotatable: true,
	},
	'c-contact': {
		type: 'calc-switch',
		func: (a) => [a ? 1 : 0, 1],
		io: {
			in: ['top'],
			out: ['left', 'right'],
		},
		weight: 3,
	},
	transistor: {
		type: 'calc-switch',
		func: (a, b) => [a ? 1 : 0, b],
		io: {
			in: ['top', 'left'],
			out: ['bottom', 'right'],
		},
		weight: 3,
	},
};

{'fraction_non_alphanumeric': 0.2712626758259732, 'fraction_numerical': 0.022162250572456656, 'mean_word_length': 2.288249529443399, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 91, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2089344', 'n_tokens_mistral': 6782, 'n_tokens_neox': 5812, 'n_words': 1420}