2.0.8 • Published 3 years ago

@colibri-engine/boolean v2.0.8

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

npm.io

Boolean library

npm.io npm.io npm.io npm.io

Presentation

The engine is based on incremental computation algorithms. When a calculation is submitted to the engine, all the computed values are memorized. So, if you change some variable and query an evaluation, the engine is able to compute the result very fast because it recomputes only what has changed.

Libraries

The API provides several libraries that each comes with dozens of operators.

Imports

Typescript

import {/* required operators */} from '@colibri-engine/boolean';

Javascript

const {/* required operators */} = require('@colibri-engine/boolean');

Operators

boolean

boolean(value) ➜ xboolean

boolean() ➜ xboolean

The boolean operator allows you to create a boolean expression which evals to the given value. If no value is provided the expression is a variable of the model

import {boolean} from "@colibri-engine/boolean";

const x0 = boolean(true);
x0.affect(false);

const x1 = boolean();
x1.affect(false);

True

True() ➜ xboolean

The True operator allows to create a boolean expression which evals to true

import {True} from "@colibri-engine/boolean";

const x = True();
x.affect(false);

False

False() ➜ xboolean

The False operator allows to create a boolean expression which evals to false

import {False} from "@colibri-engine/boolean";

const x = False();
x.affect(true);

isTrue

isTrue(xboolean) ➜ yboolean

xboolean.isTrue() ➜ yboolean

The isTrue operator allows to create a boolean expression which evals to true if the given boolean expression evals to true

import {boolean, isTrue} from "@colibri-engine/boolean";

const x = boolean();  
const y = isTrue(x) | x.isTrue();

const value = y.eval();

isFalse

isFalse(xboolean) ➜ yboolean

xboolean.isFalse() ➜ yboolean

The isFalse operator allows to create a boolean expression which evals to true if the given boolean expression evals to false

import {boolean, isFalse} from "@colibri-engine/boolean";

const x = boolean();  
const y = isFalse(x) | x.isFalse();

const value = y.eval();

not

not(xboolean) ➜ yboolean

xboolean.not() ➜ yboolean

The not operator allows to create a boolean expression which evals to true if the given boolean expression evals to false

import {boolean, not} from "@colibri-engine/boolean";

const x = boolean();  
const y = not(x) | x.not();

const value = y.eval();

implies

implies(xboolean, yboolean) ➜ zboolean

xboolean.implies(yboolean) ➜ zboolean

The implies operator allows to create a boolean expression which evals to true if the given boolean expressions match the implies truth table

import {boolean, implies} from "@colibri-engine/boolean";

const x = boolean();  
const y = boolean();  
const z = implies(x, y) | x.implies(y);

const value = z.eval();

equals

equals(xboolean, yboolean) ➜ zboolean

xboolean.equals(yboolean) ➜ zboolean

The equals operator allows you to create a boolean expression which evals to true if the given expressions evals to the same boolean value

import {boolean, equals} from "@colibri-engine/boolean";

const x = boolean();  
const y = boolean();  
const z = equals(x, y) | x.equals(y);

const value = z.eval();

and

and(x0boolean, x1boolean, ..., xnboolean) ➜ yboolean

xboolean.and(x0boolean, x1boolean, ..., xnboolean) ➜ yboolean

The and operator allows to create a boolean expression which evals to true if the given boolean expressions match the AND truth table

import {boolean, and} from "@colibri-engine/boolean";

const x0 = boolean();  
const x1 = boolean();  
// ...  
const xn = boolean();

const y = and(x0, x1, ..., xn) | x0.and(x1, ..., xn);

const value = y.eval();

or

or(x0boolean, x1boolean, ..., xnboolean) ➜ yboolean

xboolean.or(x0boolean, x1boolean, ..., xnboolean) ➜ yboolean

The or operator allows to create a boolean expression which evals to true if the given boolean expressions match the OR truth table

import {boolean, or} from "@colibri-engine/boolean";

const x0 = boolean();  
const x1 = boolean();  
// ...  
const xn = boolean();

const y = or(x0, x1, ..., xn) | x0.or(x1, ..., xn);

const value = y.eval();

xand

or(x0boolean, x1boolean, ..., xnboolean) ➜ yboolean

xboolean.or(x0boolean, x1boolean, ..., xnboolean) ➜ yboolean

The xand operator allows to create a boolean expression which evals to true if the given boolean expressions match the XAND truth table

import {boolean, xand} from "@colibri-engine/boolean";

const x0 = boolean();  
const x1 = boolean();  
// ...  
const xn = boolean();

const y = xand(x0, x1, ..., xn) | x0.xand(x1, ..., xn);

const value = y.eval();

xor

xor(x0boolean, x1boolean, ..., xnboolean) ➜ yboolean

xboolean.xor(x0boolean, x1boolean, ..., xnboolean) ➜ yboolean

The xor operator allows to create a boolean expression which evals to true if the given boolean expressions match the XOR truth table

import {boolean, xor} from "@colibri-engine/boolean";

const x0 = boolean();  
const x1 = boolean();  
// ...  
const xn = boolean();

const y = xor(x0, x1, ..., xn) | x0.xor(x1, ..., xn);

const value = y.eval();

nand

nand(x0boolean, x1boolean, ..., xnboolean) ➜ yboolean

xboolean.nand(x0boolean, x1boolean, ..., xnboolean) ➜ yboolean

The nand operator allows to create a boolean expression which evals to true if the given boolean expressions match the NAND truth table

import {boolean, nand} from "@colibri-engine/boolean";

const x0 = boolean();  
const x1 = boolean();  
// ...  
const xn = boolean();

const y = nand(x0, x1, ..., xn) | x0.nand(x1, ..., xn);

const value = y.eval();

nor

nor(x0boolean, x1boolean, ..., xnboolean) ➜ yboolean

xboolean.nor(x0boolean, x1boolean, ..., xnboolean) ➜ yboolean

The nor operator allows to create a boolean expression which evals to true if the given boolean expressions match the NOR truth table

import {boolean, nor} from "@colibri-engine/boolean";

const x0 = boolean();  
const x1 = boolean();  
// ...  
const xn = boolean();

const y = nor(x0, x1, ..., xn) | x0.nor(x1, ..., xn);

const value = y.eval();

xnand

xnand(x0boolean, x1boolean, ..., xnboolean) ➜ yboolean

xboolean.xnand(x0boolean, x1boolean, ..., xnboolean) ➜ yboolean

The xnand operator allows to create a boolean expression which evals to true if the given boolean expressions match the XNAND truth table

import {boolean, xnand} from "@colibri-engine/boolean";

const x0 = boolean();  
const x1 = boolean();  
// ...  
const xn = boolean();

const y = xnand(x0, x1, ..., xn) `|` x0.xnand(x1, ..., xn);

const value = y.eval();

xnor

xnor(x0boolean, x1boolean, ..., xnboolean) ➜ yboolean

xboolean.xnor(x0boolean, x1boolean, ..., xnboolean) ➜ yboolean

The xnor operator allows to create a boolean expression which evals to true if the given boolean expressions match the XNOR truth table

import {boolean, xnor} from "@colibri-engine/boolean";

const x0 = boolean();  
const x1 = boolean();  
// ...  
const xn = boolean();

const y = xnor(x0, x1, ..., xn) | x0.xnor(x1, ..., xn);

const value = y.eval();

npm.io

2.0.8

3 years ago

2.0.7

3 years ago

2.0.6

3 years ago

2.0.5

3 years ago

2.0.4

3 years ago

2.0.3

3 years ago

2.0.2

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago