UNPKG

javascript-fuzzylogic

Version:

A library that allows for manipulation of fuzzy sets in JavaScript

42 lines (41 loc) 1.49 kB
export declare enum MembershipFunctionType { Triangular = "Triangular", Trapezoidal = "Trapezoidal", Gaussian = "Gaussian", Sigmoidal = "Sigmoidal" } export interface TriangularMembershipFunctionParams { left: number; center: number; right: number; } export interface TrapezoidalMembershipFunctionParams { bottomLeft: number; topLeft: number; topRight: number; bottomRight: number; } export interface GaussianMembershipFunctionParams { center: number; standardDeviation: number; } export interface SigmoidalMembershipFunctionParams { center: number; slope: number; } export interface BaseMembershipFunctionParameters { minValue: number; maxValue: number; step: number; } export declare type GenericMembershipFunctionParameters = TriangularMembershipFunctionParams | TrapezoidalMembershipFunctionParams | GaussianMembershipFunctionParams | SigmoidalMembershipFunctionParams; export declare type MembershipFunctionParameters = { [MembershipFunctionType.Triangular]: TriangularMembershipFunctionParams; [MembershipFunctionType.Trapezoidal]: TrapezoidalMembershipFunctionParams; [MembershipFunctionType.Gaussian]: GaussianMembershipFunctionParams; [MembershipFunctionType.Sigmoidal]: SigmoidalMembershipFunctionParams; }; export interface MembershipFunction<T extends keyof MembershipFunctionParameters> { type: T; parameters: MembershipFunctionParameters[T] & BaseMembershipFunctionParameters; }