ushort-8


Vocabulary
math.vectors.simd

Definition
IN: math.vectors.simd

TUPLE: ushort-8 < simd-128 ; final


Methods
USING: classes kernel math.vectors.simd math.vectors.simd.cords
sequences.cords ;

M: ushort-8 cord-append
2dup [ ushort-8 instance? ] both?
[ ushort-16 boa ] [ generic-cord boa ] if ; inline


USING: kernel math.vectors.simd sequences ;

M: ushort-8 length drop 8 ; inline


USING: classes kernel math.vectors.simd sequences ;

M: ushort-8 like
drop dup \ ushort-8 instance? [ >ushort-8 ] unless ; inline


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

M: ushort-8 new-underlying drop \ ushort-8 boa ; inline


USING: cpu.architecture generic kernel math.vectors.simd
math.vectors.simd.intrinsics math.vectors.simd.private
sequences.private ;

M: ushort-8 nth-unsafe
swap \ ushort-8-rep
[ (simd-select) ]
[ M\ ushort-8 nth-unsafe (call-next-method) ] vx->x-op ;
inline


USING: kernel math.vectors.simd prettyprint.custom ;

M: ushort-8 pprint-delims drop \ ushort-8{ \ } ;


USING: accessors alien.c-types kernel math.vectors.simd
math.vectors.simd.private sequences.private ;

M: ushort-8 set-nth-unsafe
[ ushort boolean>element ] 2dip
underlying>> ushort set-alien-element ; inline


USING: alien.c-types kernel math.vectors.simd ;

M: ushort-8 simd-element-type drop ushort ; inline


USING: cpu.architecture kernel math.vectors.simd ;

M: ushort-8 simd-rep drop ushort-8-rep ; inline


USING: kernel math.vectors.simd ;

M: ushort-8 simd-with drop ushort-8-with ; inline


USING: cpu.architecture generic math.vectors math.vectors.simd
math.vectors.simd.intrinsics math.vectors.simd.private ;

M: ushort-8 v*hs+
ushort-8-rep
[ (simd-v*hs+) ] [ M\ ushort-8 v*hs+ (call-next-method) ]
vv->v-op uint-4-cast ; inline