MCPcopy Create free account
hub / github.com/esengine/esengine / isZero

Method isZero

packages/core/src/ECS/Utils/BigIntCompatibility.ts:141–149  ·  view source on GitHub ↗

* 检查掩码是否为零 * @param mask 要检查的掩码 * @returns 如果掩码所有位都为0则返回true

(mask: BitMask64Data)

Source from the content-addressed store, hash-verified

139 * @returns 如果掩码所有位都为0则返回true
140 */
141 public static isZero(mask: BitMask64Data): boolean {
142 const baseIsZero = mask.base[SegmentPart.LOW] === 0 && mask.base[SegmentPart.HIGH] === 0;
143 if(!mask.segments || !baseIsZero){
144 // 不含扩展区域,或基础区域值就不为0,直接短路
145 return baseIsZero;
146 }
147 // 额外检查扩展区域是否都为0
148 return mask.segments.every((seg) => seg[SegmentPart.LOW] === 0 && seg[SegmentPart.HIGH] === 0);
149 }
150
151 /**
152 * 检查两个掩码是否相等

Callers 5

isEmptyMethod · 0.45
getHighestBitIndexMethod · 0.45
getLowestBitIndexMethod · 0.45
Bits.test.tsFile · 0.45

Calls 1

everyMethod · 0.45

Tested by

no test coverage detected