eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'SignedWordArray':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: SignedWordArray


Inheritance:

   Object
   |
   +--Collection
      |
      +--SequenceableCollection
         |
         +--ArrayedCollection
            |
            +--UninterpretedBytes
               |
               +--AbstractNumberVector
                  |
                  +--UnboxedIntegerArray
                     |
                     +--SignedWordArray

Package:
stx:libbasic
Category:
Collections-Arrayed
Version:
rev: 1.3 date: 2019/03/24 11:26:50
user: cg
file: SignedWordArray.st directory: libbasic
module: stx stc-classLibrary: libbasic
Author:
Claus Gittinger

Description:


SignedWordArrays store 16bit signed integers in the range 16r-8000..16r7FFF.
They are much like WordArrays, but the values stored are signed.
In contrast to normal arrays (which store pointers to their elements),
signedWordArrays store the values in a dense & compact way. 
Since the representation fits the underlying C-language systems representation
of signed int16's, this is also useful to pass bulk data to c primitive code.

Therefore, SignedWordArrays can be used to hold bulk data in a more compact way.
    For example:
        Array new:100000 withAll:1
    requires 400k of object memory;

    in contrast,
        SignedWordArray new:100000 withAll:1
    only requires half of it.

[memory requirements:]
    OBJ-HEADER + (size * 2)


[caveat:]
    should probably be renamed to SignedInt16Array


Related information:

    ByteArray
    WordArray
    BooleanArray
    FloatArray
    DoubleArray
    Array
    IntegerArray
    LongIntegerArray
    SignedLongIntegerArray

Class protocol:

queries
o  elementByteSize
for bit-like containers, return the number of bytes stored per element.
Here, 2 is returned

o  maxVal
the maximum value which can be stored in instances of me.
For SignedWordArrays, this is 16r7FFF (largest 16bit signed int)

o  minVal
the minimum value which can be stored in instances of me.
For SignedWordArrays, this is -16r8000 (smallest 16bit signed int)



ST/X 7.2.0.0; WebServer 1.670 at bd0aa1f87cdd.unknown:8081; Mon, 04 Jul 2022 11:23:07 GMT