human-logic
Version:
34 lines (33 loc) • 1.39 kB
TypeScript
/**
* Polymorphic Functions
* @module
*/
/** @hidden */
import { Category, Categories, UNDEF, FALSE, NEVER, MAYBE, TRUE } from './Category';
/** @hidden */
import { Fuzzy, FUZZY_TRUE, FUZZY_FALSE } from './Fuzzy';
/** @hidden */
import { Logic, LogicValues } from './Logic';
/** Logical NOT */
export declare function not(value: Fuzzy): Fuzzy;
export declare function not(value: Category): Category;
export declare function not(value: Logic): Logic;
/** Logical AND */
export declare function and(a: Fuzzy, b: Fuzzy): Fuzzy;
export declare function and(a: Category, b: Category): Category;
export declare function and(a: Logic, b: Logic): Logic;
/** Logical OR */
export declare function or(a: Fuzzy, b: Fuzzy): Fuzzy;
export declare function or(a: Category, b: Category): Category;
export declare function or(a: Logic, b: Logic): Logic;
/**
* Ensures the all fuzzy values are between `0.0` and `1.0`.
*
* @return For `Fuzzy` value lesser than `0.0` returns `0.0`,
* for `Fuzzy` value greater then `1.0` returns `1.0`, otherwise returns original `Fuzzy` value.
* See {@link Logic} for details on Fuzzy Human Logic values normalization.
*/
export declare function normalize(value: Fuzzy): Fuzzy;
export declare function normalize(value: Logic): Logic;
/** @hidden */
export { Category, Categories, UNDEF, FALSE, NEVER, MAYBE, TRUE, Fuzzy, FUZZY_TRUE, FUZZY_FALSE, Logic, LogicValues };