vxor ( u v -- w ) (original) (raw)

Vocabulary
math.vectors

Inputs

u a sequence of booleans
v a sequence of booleans

Outputs

w a sequence of booleans

Word description
Takes the logical XOR of each corresponding element of u and v.

Notes
See Componentwise logic with SIMD vectors for notes on dealing with vector boolean inputs and results when using SIMD types.

See also
v<, v<=, v=, v>, v>=, vunordered?, vand, vor, vnot, vany?, vall?, vnone?, v?

Definition

IN: math.vectors

GENERIC: vxor ( u v -- w )

Methods

USING: generic math.vectors sequences.cords ;

M: cord vxor
[ vxor ] [ M\ cord vxor (call-next-method) ] cord-2map ;
inline

USING: kernel math.vectors sequences ;

M: object vxor [ xor ] 2map ; inline

USING: generic kernel math.vectors math.vectors.simd
math.vectors.simd.intrinsics math.vectors.simd.private ;

M: simd-128 vxor
dup simd-rep
[ (simd-vxor) ] [ M\ simd-128 vxor (call-next-method) ]
vv->v-op ; inline