element-size ( seq -- n ) (original) (raw)

Generic word contract
Outputs the number of bytes used for each element of the sequence.

Notes
If a sequence class implements element-size and >c-ptr, then instances of this sequence, as well as slices of this sequence, can be used as binary objects.

USING: alien alien.c-types kernel raylib
specialized-arrays.instances.raylib.BoneInfo ;

M: BoneInfo-array element-size drop \ BoneInfo heap-size ;
inline

USING: alien alien.c-types elf kernel
specialized-arrays.instances.elf.Elf32_Phdr ;

M: Elf32_Phdr-array element-size drop \ Elf32_Phdr heap-size
; inline

USING: alien alien.c-types elf kernel
specialized-arrays.instances.elf.Elf32_Shdr ;

M: Elf32_Shdr-array element-size drop \ Elf32_Shdr heap-size
; inline

USING: alien alien.c-types elf kernel
specialized-arrays.instances.elf.Elf32_Sym ;

M: Elf32_Sym-array element-size drop \ Elf32_Sym heap-size ;
inline

USING: alien alien.c-types elf kernel
specialized-arrays.instances.elf.Elf64_Phdr ;

M: Elf64_Phdr-array element-size drop \ Elf64_Phdr heap-size
; inline

USING: alien alien.c-types elf kernel
specialized-arrays.instances.elf.Elf64_Shdr ;

M: Elf64_Shdr-array element-size drop \ Elf64_Shdr heap-size
; inline

USING: alien alien.c-types elf kernel
specialized-arrays.instances.elf.Elf64_Sym ;

M: Elf64_Sym-array element-size drop \ Elf64_Sym heap-size ;
inline

USING: alien alien.c-types kernel raylib
specialized-arrays.instances.raylib.Material ;

M: Material-array element-size drop \ Material heap-size ;
inline

USING: alien alien.c-types kernel raylib
specialized-arrays.instances.raylib.MaterialMap ;

M: MaterialMap-array element-size
drop \ MaterialMap heap-size ; inline

USING: alien alien.c-types kernel raylib
specialized-arrays.instances.raylib.Matrix ;

M: Matrix-array element-size drop \ Matrix heap-size ; inline

USING: alien alien.c-types kernel raylib
specialized-arrays.instances.raylib.Mesh ;

M: Mesh-array element-size drop \ Mesh heap-size ; inline

USING: alien alien.c-types kernel raylib
specialized-arrays.instances.raylib.Vector2 ;

M: Vector2-array element-size drop \ Vector2 heap-size ; inline

USING: alien alien.c-types kernel raylib
specialized-arrays.instances.raylib.Vector3 ;

M: Vector3-array element-size drop \ Vector3 heap-size ; inline

USING: alien alien.c-types benchmark.nbody-simd kernel
specialized-arrays.instances.benchmark.nbody-simd.body ;

M: body-array element-size drop \ body heap-size ; inline

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

M: bunny-vertex-struct-array element-size
drop \ bunny-vertex-struct heap-size ; inline

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

M: bunny-vertex-struct-vector element-size
drop \ bunny-vertex-struct heap-size ; inline

USING: alien byte-arrays kernel ;

M: byte-array element-size drop 1 ; inline

USING: alien byte-vectors kernel ;

M: byte-vector element-size drop 1 ; inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.c-string ;

M: c-string-array element-size drop \ c-string heap-size ;
inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.char ;

M: char-array element-size drop \ char heap-size ; inline

USING: alien alien.c-types alien.complex kernel
specialized-arrays.instances.alien.complex.complex-double ;

M: complex-double-array element-size
drop \ complex-double heap-size ; inline

USING: alien alien.c-types alien.complex kernel
specialized-arrays.instances.alien.complex.complex-float ;

M: complex-float-array element-size
drop \ complex-float heap-size ; inline

USING: alien alien.c-types chipmunk.ffi kernel
specialized-arrays.instances.chipmunk.ffi.cpContact ;

M: cpContact-array element-size drop \ cpContact heap-size ;
inline

USING: alien alien.c-types chipmunk.ffi kernel
specialized-arrays.instances.chipmunk.ffi.cpPolyShapeAxis ;

M: cpPolyShapeAxis-array element-size
drop \ cpPolyShapeAxis heap-size ; inline

USING: alien alien.c-types chipmunk.ffi kernel
specialized-arrays.instances.chipmunk.ffi.cpVect ;

M: cpVect-array element-size drop \ cpVect heap-size ; inline

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

M: double-4-array element-size drop \ double-4 heap-size ;
inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.double ;

M: double-array element-size drop \ double heap-size ; inline

USING: alien kernel ;

M: f element-size drop 1 ; inline

USING: alien alien.c-types kernel macho
specialized-arrays.instances.macho.fat_arch ;

M: fat_arch-array element-size drop \ fat_arch heap-size ;
inline

USING: alien alien.c-types fftw.ffi kernel
specialized-arrays.instances.fftw.ffi.fftw_complex ;

M: fftw_complex-array element-size
drop \ fftw_complex heap-size ; inline

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

M: float-4-array element-size drop \ float-4 heap-size ; inline

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

M: float-4-vector element-size drop \ float-4 heap-size ; inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.float ;

M: float-array element-size drop \ float heap-size ; inline

USING: alien alien.c-types game.loop.benchmark kernel
specialized-arrays.instances.game.loop.benchmark.game-loop-benchmark
;

M: game-loop-benchmark-array element-size
drop \ game-loop-benchmark heap-size ; inline

USING: alien alien.c-types game.loop.benchmark kernel
specialized-vectors.instances.game.loop.benchmark.game-loop-benchmark
;

M: game-loop-benchmark-vector element-size
drop \ game-loop-benchmark heap-size ; inline

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

M: half-array element-size drop \ half heap-size ; inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.int ;

M: int-array element-size drop \ int heap-size ; inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.int32_t ;

M: int32_t-array element-size drop \ int32_t heap-size ; inline

USING: alien alien.c-types io.files.acls.macos.ffi kernel
specialized-arrays.instances.io.files.acls.macos.ffi.kauth_ace ;

M: kauth_ace-array element-size drop \ kauth_ace heap-size ;
inline

USING: alien alien.c-types kernel
specialized-arrays.instances.unix.kqueue.kevent unix.kqueue ;

M: kevent-array element-size drop \ kevent heap-size ; inline

USING: alien alien.c-types kernel libusb
specialized-arrays.instances.libusb.libusb_iso_packet_descriptor
;

M: libusb_iso_packet_descriptor-array element-size
drop \ libusb_iso_packet_descriptor heap-size ; inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.long ;

M: long-array element-size drop \ long heap-size ; inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.longlong ;

M: longlong-array element-size drop \ longlong heap-size ;
inline

USING: alien alien.c-types kernel macho
specialized-arrays.instances.macho.nlist ;

M: nlist-array element-size drop \ nlist heap-size ; inline

USING: alien alien.c-types kernel macho
specialized-arrays.instances.macho.nlist_64 ;

M: nlist_64-array element-size drop \ nlist_64 heap-size ;
inline

USING: alien alien.c-types kernel papier.map
specialized-arrays.instances.papier.map.papier-vertex-struct ;

M: papier-vertex-struct-array element-size
drop \ papier-vertex-struct heap-size ; inline

USING: alien alien.c-types fluids kernel
specialized-arrays.instances.fluids.particle_t ;

M: particle_t-array element-size drop \ particle_t heap-size
; inline

USING: alien alien.c-types benchmark.struct-arrays kernel
specialized-arrays.instances.benchmark.struct-arrays.point ;

M: point-array element-size drop \ point heap-size ; inline

USING: alien alien.c-types kernel rlgl
specialized-arrays.instances.rlgl.rlDrawCall ;

M: rlDrawCall-array element-size drop \ rlDrawCall heap-size
; inline

USING: alien alien.c-types kernel rlgl
specialized-arrays.instances.rlgl.rlVertexBuffer ;

M: rlVertexBuffer-array element-size
drop \ rlVertexBuffer heap-size ; inline

USING: alien alien.c-types kernel macho
specialized-arrays.instances.macho.section ;

M: section-array element-size drop \ section heap-size ; inline

USING: alien alien.c-types kernel macho
specialized-arrays.instances.macho.section_64 ;

M: section_64-array element-size drop \ section_64 heap-size
; inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.short ;

M: short-array element-size drop \ short heap-size ; inline

USING: alien alien.c-types kernel
specialized-vectors.instances.alien.c-types.short ;

M: short-vector element-size drop \ short heap-size ; inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.size_t ;

M: size_t-array element-size drop \ size_t heap-size ; inline

USING: accessors alien sequences ;

M: slice element-size seq>> element-size ; inline

USING: alien alien.c-types kernel
specialized-arrays.instances.unix.statfs.macos.statfs64
unix.statfs.macos ;

M: statfs64-array element-size drop \ statfs64 heap-size ;
inline

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

M: th-quant-ranges-array element-size
drop \ th-quant-ranges heap-size ; inline

USING: alien alien.c-types kernel
specialized-arrays.instances.unix.time.timeval unix.time ;

M: timeval-array element-size drop \ timeval heap-size ; inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.u16 ;

M: u16-array element-size drop \ u16 heap-size ; inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.u32 ;

M: u32-array element-size drop \ u32 heap-size ; inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.u64 ;

M: u64-array element-size drop \ u64 heap-size ; inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.u8 ;

M: u8-array element-size drop \ u8 heap-size ; inline

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

M: uchar-16-array element-size drop \ uchar-16 heap-size ;
inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.uchar ;

M: uchar-array element-size drop \ uchar heap-size ; inline

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

M: uint-4-array element-size drop \ uint-4 heap-size ; inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.uint ;

M: uint-array element-size drop \ uint heap-size ; inline

USING: alien alien.c-types kernel
specialized-vectors.instances.alien.c-types.uint ;

M: uint-vector element-size drop \ uint heap-size ; inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.uint16_t ;

M: uint16_t-array element-size drop \ uint16_t heap-size ;
inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.uint32_t ;

M: uint32_t-array element-size drop \ uint32_t heap-size ;
inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.uint64_t ;

M: uint64_t-array element-size drop \ uint64_t heap-size ;
inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.uint8_t ;

M: uint8_t-array element-size drop \ uint8_t heap-size ; inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.uintptr_t ;

M: uintptr_t-array element-size drop \ uintptr_t heap-size ;
inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.ulong ;

M: ulong-array element-size drop \ ulong heap-size ; inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.ulonglong ;

M: ulonglong-array element-size drop \ ulonglong heap-size ;
inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.ushort ;

M: ushort-array element-size drop \ ushort heap-size ; inline

USING: alien alien.c-types kernel
specialized-vectors.instances.alien.c-types.ushort ;

M: ushort-vector element-size drop \ ushort heap-size ; inline

USING: alien alien.c-types kernel
specialized-arrays.instances.alien.c-types.void* ;

M: void*-array element-size drop \ void* heap-size ; inline