@lodestar/beacon-node
Version:
A Typescript implementation of the beacon chain
35 lines • 1.25 kB
TypeScript
import { BitArray } from "@chainsafe/ssz";
export declare enum IntersectResult {
Equal = 0,
/** All elements in set B are in set A */
Superset = 1,
/** All elements in set A are in set B */
Subset = 2,
/** Set A and set B do not share any elements */
Exclusive = 3,
/** Set A and set B intersect but are not superset or subset */
Intersect = 4
}
/**
* For each byte check if a includes b,
* | a | b | result |
* | -------- | -------- | ------------- |
* | 00001111 | 00001111 | A equals B |
* | 00001111 | 00000011 | A superset B |
* | 00000011 | 00001111 | A subset B |
* | 11110000 | 00001111 | A exclude B |
* | 11111100 | 00111111 | A intersect B |
*
* For all bytes in BitArray:
* - equals = MAYBE ONLY equals
* - excludes = MUST ONLY equals
* - superset = MUST superset MAYBE equal
* - subset = MUST subset MAYBE equal
* - intersect = any other condition
*/
export declare function intersectUint8Arrays(aUA: Uint8Array, bUA: Uint8Array): IntersectResult;
/**
* Check if first BitArray is equal to or superset of the second
*/
export declare function isSuperSetOrEqual(superSet: BitArray, toCheck: BitArray): boolean;
//# sourceMappingURL=bitArray.d.ts.map