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


Vocabulary
math.vectors

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


Word description
Subtracts v from u 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