vs* ( u v -- w )
Factor documentation > Factor handbook > The language > Numbers > Vector operations > Vector arithmetic
Prev:vs- ( u v -- w )
Next:v. ( u v -- x )


Vocabulary
math.vectors

Inputs and outputs
ua sequence of numbers
va sequence of numbers
wa sequence of numbers


Word description
Multiplies u and v component-wise with saturation.

See also
vs+, vs-

Definition
IN: math.vectors

GENERIC: vs* ( u v -- w )


Methods
USING: alien.c-types elf math math.vectors sequences
specialized-arrays.instances.elf.Elf32_Phdr ;

M: Elf32_Phdr-array vs*
[ * \ Elf32_Phdr c-type-clamp ] 2map ; inline


USING: alien.c-types elf math math.vectors sequences
specialized-arrays.instances.elf.Elf32_Shdr ;

M: Elf32_Shdr-array vs*
[ * \ Elf32_Shdr c-type-clamp ] 2map ; inline


USING: alien.c-types elf math math.vectors sequences
specialized-arrays.instances.elf.Elf32_Sym ;

M: Elf32_Sym-array vs* [ * \ Elf32_Sym c-type-clamp ] 2map
; inline


USING: alien.c-types elf math math.vectors sequences
specialized-arrays.instances.elf.Elf64_Phdr ;

M: Elf64_Phdr-array vs*
[ * \ Elf64_Phdr c-type-clamp ] 2map ; inline


USING: alien.c-types elf math math.vectors sequences
specialized-arrays.instances.elf.Elf64_Shdr ;

M: Elf64_Shdr-array vs*
[ * \ Elf64_Shdr c-type-clamp ] 2map ; inline


USING: alien.c-types elf math math.vectors sequences
specialized-arrays.instances.elf.Elf64_Sym ;

M: Elf64_Sym-array vs* [ * \ Elf64_Sym c-type-clamp ] 2map
; inline


USING: alien.c-types benchmark.nbody-simd math math.vectors
sequences
specialized-arrays.instances.benchmark.nbody-simd.body ;

M: body-array vs* [ * \ body c-type-clamp ] 2map ; inline


USING: alien.c-types gpu.demos.bunny math math.vectors
sequences
specialized-arrays.instances.gpu.demos.bunny.bunny-vertex-struct
;

M: bunny-vertex-struct-array vs*
[ * \ bunny-vertex-struct c-type-clamp ] 2map ; inline


USING: alien.c-types math math.vectors sequences
specialized-arrays.instances.alien.c-types.char ;

M: char-array vs* [ * \ char c-type-clamp ] 2map ; inline


USING: alien.c-types alien.complex math math.vectors sequences
specialized-arrays.instances.alien.complex.complex-double ;

M: complex-double-array vs*
[ * \ complex-double c-type-clamp ] 2map ; inline


USING: alien.c-types alien.complex math math.vectors sequences
specialized-arrays.instances.alien.complex.complex-float ;

M: complex-float-array vs*
[ * \ complex-float c-type-clamp ] 2map ; inline


USING: generic math.vectors sequences.cords ;

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


USING: alien.c-types chipmunk.ffi math math.vectors sequences
specialized-arrays.instances.chipmunk.ffi.cpContact ;

M: cpContact-array vs* [ * \ cpContact c-type-clamp ] 2map
; inline


USING: alien.c-types chipmunk.ffi math math.vectors sequences
specialized-arrays.instances.chipmunk.ffi.cpPolyShapeAxis ;

M: cpPolyShapeAxis-array vs*
[ * \ cpPolyShapeAxis c-type-clamp ] 2map ; inline


USING: alien.c-types chipmunk.ffi math math.vectors sequences
specialized-arrays.instances.chipmunk.ffi.cpVect ;

M: cpVect-array vs* [ * \ cpVect c-type-clamp ] 2map ; inline


USING: alien.c-types math math.vectors math.vectors.simd.cords
sequences
specialized-arrays.instances.math.vectors.simd.cords.double-4 ;

M: double-4-array vs* [ * \ double-4 c-type-clamp ] 2map ;
inline


USING: alien.c-types math math.vectors sequences
specialized-arrays.instances.alien.c-types.double ;

M: double-array vs* [ * \ double c-type-clamp ] 2map ; inline


USING: alien.c-types math math.vectors sequences
specialized-arrays.instances.unix.linux.epoll.epoll-event
unix.linux.epoll ;

M: epoll-event-array vs*
[ * \ epoll-event c-type-clamp ] 2map ; inline


USING: alien.c-types macho math math.vectors sequences
specialized-arrays.instances.macho.fat_arch ;

M: fat_arch-array vs* [ * \ fat_arch c-type-clamp ] 2map ;
inline


USING: alien.c-types math math.vectors math.vectors.simd
sequences
specialized-arrays.instances.math.vectors.simd.float-4 ;

M: float-4-array vs* [ * \ float-4 c-type-clamp ] 2map ; inline


USING: alien.c-types math math.vectors sequences
specialized-arrays.instances.alien.c-types.float ;

M: float-array vs* [ * \ float c-type-clamp ] 2map ; inline


USING: alien.c-types game.loop.benchmark math math.vectors
sequences
specialized-arrays.instances.game.loop.benchmark.game-loop-benchmark
;

M: game-loop-benchmark-array vs*
[ * \ game-loop-benchmark c-type-clamp ] 2map ; inline


USING: alien.c-types math math.floats.half math.vectors
sequences specialized-arrays.instances.math.floats.half.half ;

M: half-array vs* [ * \ half c-type-clamp ] 2map ; inline


USING: alien.c-types math math.vectors sequences
specialized-arrays.instances.alien.c-types.int ;

M: int-array vs* [ * \ int c-type-clamp ] 2map ; inline


USING: alien.c-types libusb math math.vectors sequences
specialized-arrays.instances.libusb.libusb_iso_packet_descriptor
;

M: libusb_iso_packet_descriptor-array vs*
[ * \ libusb_iso_packet_descriptor c-type-clamp ] 2map ;
inline


USING: alien.c-types math math.vectors sequences
specialized-arrays.instances.alien.c-types.long ;

M: long-array vs* [ * \ long c-type-clamp ] 2map ; inline


USING: alien.c-types math math.vectors sequences
specialized-arrays.instances.alien.c-types.longlong ;

M: longlong-array vs* [ * \ longlong c-type-clamp ] 2map ;
inline


USING: alien.c-types macho math math.vectors sequences
specialized-arrays.instances.macho.nlist ;

M: nlist-array vs* [ * \ nlist c-type-clamp ] 2map ; inline


USING: alien.c-types macho math math.vectors sequences
specialized-arrays.instances.macho.nlist_64 ;

M: nlist_64-array vs* [ * \ nlist_64 c-type-clamp ] 2map ;
inline


USING: kernel math math.vectors sequences ;

M: object vs* [ * ] 2map ; inline


USING: alien.c-types fluids math math.vectors sequences
specialized-arrays.instances.fluids.particle_t ;

M: particle_t-array vs*
[ * \ particle_t c-type-clamp ] 2map ; inline


USING: alien.c-types benchmark.struct-arrays math math.vectors
sequences
specialized-arrays.instances.benchmark.struct-arrays.point ;

M: point-array vs* [ * \ point c-type-clamp ] 2map ; inline


USING: alien.c-types macho math math.vectors sequences
specialized-arrays.instances.macho.section ;

M: section-array vs* [ * \ section c-type-clamp ] 2map ; inline


USING: alien.c-types macho math math.vectors sequences
specialized-arrays.instances.macho.section_64 ;

M: section_64-array vs*
[ * \ section_64 c-type-clamp ] 2map ; inline


USING: alien.c-types math math.vectors sequences
specialized-arrays.instances.alien.c-types.short ;

M: short-array vs* [ * \ short c-type-clamp ] 2map ; inline


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

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


USING: alien.c-types math math.vectors sequences
specialized-arrays.instances.alien.c-types.size_t ;

M: size_t-array vs* [ * \ size_t c-type-clamp ] 2map ; inline


USING: alien.c-types math math.vectors ogg.theora sequences
specialized-arrays.instances.ogg.theora.th-quant-ranges ;

M: th-quant-ranges-array vs*
[ * \ th-quant-ranges c-type-clamp ] 2map ; inline


USING: alien.c-types math math.vectors sequences
specialized-arrays.instances.unix.time.timeval unix.time ;

M: timeval-array vs* [ * \ timeval c-type-clamp ] 2map ; inline


USING: alien.c-types math math.vectors math.vectors.simd
sequences
specialized-arrays.instances.math.vectors.simd.uchar-16 ;

M: uchar-16-array vs* [ * \ uchar-16 c-type-clamp ] 2map ;
inline


USING: alien.c-types math math.vectors sequences
specialized-arrays.instances.alien.c-types.uchar ;

M: uchar-array vs* [ * \ uchar c-type-clamp ] 2map ; inline


USING: alien.c-types math math.vectors sequences
specialized-arrays.instances.tools.disassembler.udis.ud_operand
tools.disassembler.udis ;

M: ud_operand-array vs*
[ * \ ud_operand c-type-clamp ] 2map ; inline


USING: alien.c-types math math.vectors math.vectors.simd
sequences specialized-arrays.instances.math.vectors.simd.uint-4
;

M: uint-4-array vs* [ * \ uint-4 c-type-clamp ] 2map ; inline


USING: alien.c-types math math.vectors sequences
specialized-arrays.instances.alien.c-types.uint ;

M: uint-array vs* [ * \ uint c-type-clamp ] 2map ; inline


USING: alien.c-types math math.vectors sequences
specialized-arrays.instances.alien.c-types.uintptr_t ;

M: uintptr_t-array vs* [ * \ uintptr_t c-type-clamp ] 2map
; inline


USING: alien.c-types math math.vectors sequences
specialized-arrays.instances.alien.c-types.ulong ;

M: ulong-array vs* [ * \ ulong c-type-clamp ] 2map ; inline


USING: alien.c-types math math.vectors sequences
specialized-arrays.instances.alien.c-types.ulonglong ;

M: ulonglong-array vs* [ * \ ulonglong c-type-clamp ] 2map
; inline


USING: alien.c-types math math.vectors sequences
specialized-arrays.instances.alien.c-types.ushort ;

M: ushort-array vs* [ * \ ushort c-type-clamp ] 2map ; inline


USING: alien.c-types math math.vectors sequences
specialized-arrays.instances.alien.c-types.void* ;

M: void*-array vs* [ * \ void* c-type-clamp ] 2map ; inline