cubecode
Version:
Store data on Rubik's cubes.
38 lines (33 loc) • 815 B
TypeScript
type CornerCache = {
evenPerms: number[];
oddPerms: number[];
getEvenPermIndex: {
[factoriadic: number]: number;
};
getOddPermIndex: {
[factoriadic: number]: number;
};
};
declare function encodeCube({ ep, cp, eo, co, }: {
ep: number[];
cp: number[];
eo: number[];
co: number[];
}, cornerCache?: CornerCache): bigint;
declare function decodeCube(index: bigint, cornerCache?: CornerCache): {
ep: number[];
cp: number[];
eo: number[];
co: number[];
};
declare function generateCornerCache(): {
evenPerms: number[];
oddPerms: number[];
getEvenPermIndex: {
[factoriadic: number]: number;
};
getOddPermIndex: {
[factoriadic: number]: number;
};
};
export { decodeCube, encodeCube, generateCornerCache };