UNPKG

gnablib

Version:

A lean, zero dependency library to provide a useful base for your project.

2 lines 990 B
/*! Copyright 2023-2025 the gnablib contributors MPL-1.1 */ export class U32{static lRot(t,r){return t<<(r&=31)|t>>>32-r}static rRot(t,r){return t>>>(r&=31)|t<<32-r}static fromBytesLE(t,r=0){return t[r]|t[r+1]<<8|t[r+2]<<16|t[r+3]<<24}static fromBytesBE(t,r=0){return t[r+3]|t[r+2]<<8|t[r+1]<<16|t[r]<<24}static intoBytesLE(t,r){r.write(Uint8Array.of(t,t>>>8,t>>>16,t>>>24))}static intoBytesBE(t,r){r.write(Uint8Array.of(t>>>24,t>>>16,t>>>8,t))}static sameSign(t,r){return(t^r)>=0}static average(t,r){return(t|r)-((t^r)>>>1)}static ctEq(t,r){return!(t^r)}static ctLte(t,r){return 1==((65535&t)-(65535&r)-1>>>31&(t>>>16&65535)-(r>>>16&65535)-1>>>31)}static ctGte(t,r){return 1==((65535&r)-(65535&t)-1>>>31&(r>>>16&65535)-(t>>>16&65535)-1>>>31)}static ctGt(t,r){return!((65535&t)-(65535&r)-1>>>31&(t>>>16&65535)-(r>>>16&65535)-1>>>31)}static ctLt(t,r){return!((65535&r)-(65535&t)-1>>>31&(r>>>16&65535)-(t>>>16&65535)-1>>>31)}static ctSelect(t,r,e){const c=(0|e)-1;return~c&t|c&r}}U32.size8=4;