ts-trueskill
Version:
Port of python trueskill package in TypeScript
51 lines (50 loc) • 1.95 kB
TypeScript
import { SkillGaussian } from './mathematics.js';
import type { Rating } from './rating.js';
export declare class Variable extends SkillGaussian {
messages: Record<string, SkillGaussian>;
setVal(val: Variable | SkillGaussian): number;
delta(other: Variable | SkillGaussian): number;
updateMessage(factor: LikelihoodFactor | SumFactor | PriorFactor, pi?: number, tau?: number, message?: SkillGaussian): number;
updateValue(factor: TruncateFactor | PriorFactor, pi?: number, tau?: number, value?: SkillGaussian): number;
toString(): string;
}
export declare class Factor {
vars: Variable[];
readonly uuid: string;
constructor(vars: Variable[]);
down(): number;
up(): number;
get v(): Variable;
toString(): string;
}
export declare class PriorFactor extends Factor {
readonly val: Rating;
readonly dynamic: number;
constructor(v: Variable, val: Rating, dynamic?: number);
down(): number;
}
export declare class LikelihoodFactor extends Factor {
readonly mean: Variable;
readonly value: Variable;
readonly variance: number;
constructor(mean: Variable, value: Variable, variance: number);
calcA(v: SkillGaussian): number;
down(): number;
up(): number;
}
export declare class SumFactor extends Factor {
readonly sum: Variable;
readonly terms: Variable[];
readonly coeffs: number[];
constructor(sum: Variable, terms: Variable[], coeffs: number[]);
down(): number;
up(index?: number): number;
update(v: Variable, vals: Variable[], msgs: SkillGaussian[], coeffs: number[]): number;
}
export declare class TruncateFactor extends Factor {
readonly vFunc: (a: number, b: number) => number;
readonly wFunc: (a: number, b: number) => number;
readonly drawMargin: number;
constructor(v: Variable, vFunc: (a: number, b: number) => number, wFunc: (a: number, b: number) => number, drawMargin: number);
up(): number;
}