func sub32Generic(a, b *[Size]byte) {
	for i := 0; i < Size; i += 8 {
		v1 := binary.LittleEndian.Uint64((*b)[i:])
		v2 := binary.LittleEndian.Uint64((*a)[i:])

		v1a := v1 & mask32A
		v1b := v1 & mask32B
		v2a := v2 & mask32A
		v2b := v2 & mask32B
		v1 = (v1a + (mask32B - v2a)) & mask32A
		v2 = (v1b + (mask32A - v2b)) & mask32B

		binary.LittleEndian.PutUint64((*b)[i:], v1|v2)
	}
}
// sub32Generic computes sum of successive 32-byte
// little-endian unsigned integers of a and b and saves them into b.
sub32Generic computes sum of successive 32-byte
little-endian unsigned integers of a and b and saves them into b.
// sub32Generic computes sum of successive 32 - byte // little - endian unsigned integers of a and b and saves them into b .
func sub32Generic(a, b *[Size]byte) {
	for i := 0; i < Size; i += 8 {
		v1 := binary.LittleEndian.Uint64((*b)[i:])
		v2 := binary.LittleEndian.Uint64((*a)[i:])
		v1a := v1 & mask32A
		v1b := v1 & mask32B
		v2a := v2 & mask32A
		v2b := v2 & mask32B
		v1 = (v1a + (mask32B - v2a)) & mask32A
		v2 = (v1b + (mask32A - v2b)) & mask32B
		binary.LittleEndian.PutUint64((*b)[i:], v1|v2)
	}
}
func sub32Generic ( a , b * [ Size ] byte ) { for i := 0 ; i < Size ; i += 8 { v1 := binary . LittleEndian . Uint64 ( ( * b ) [ i : ] ) v2 := binary . LittleEndian . Uint64 ( ( * a ) [ i : ] ) v1a := v1 & mask32A v1b := v1 & mask32B v2a := v2 & mask32A v2b := v2 & mask32B v1 = ( v1a + ( mask32B - v2a ) ) & mask32A v2 = ( v1b + ( mask32A - v2b ) ) & mask32B binary . LittleEndian . PutUint64 ( ( * b ) [ i : ] , v1 | v2 ) } }
sub32Generic computes sum of successive 32-byte
little-endian unsigned integers of a and b and saves them into b.
sub32Generic computes sum of successive 32 - byte little - endian unsigned integers of a and b and saves them into b .