UnboxedIntegerArray.st
author Stefan Vogel <sv@exept.de>
Fri, 18 Jan 2008 20:40:51 +0100
changeset 1922 be14f1a04953
parent 1574 0c15fa756ca4
child 2039 40972b6171c2
permissions -rw-r--r--
#add:beforeIndex: - make immune against redefinition of #add: using #add:beforeIndex in subclasses (and leading to recursion).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1311
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
     1
"
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
     2
 COPYRIGHT (c) 2003 by eXept Software AG
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
     3
              All Rights Reserved
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
     4
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
     5
 This software is furnished under a license and may be used
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
     6
 only in accordance with the terms of that license and with the
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
     8
 be provided or otherwise made available to, or used by, any
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
     9
 other person.  No title to or ownership of the software is
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
    10
 hereby transferred.
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
    11
"
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
    12
1178
4a62761a9433 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
"{ Package: 'stx:libbasic2' }"
4a62761a9433 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
4a62761a9433 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
ArrayedCollection subclass:#UnboxedIntegerArray
4a62761a9433 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
	instanceVariableNames:''
4a62761a9433 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	classVariableNames:''
4a62761a9433 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	poolDictionaries:''
4a62761a9433 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	category:'Collections-Arrayed'
4a62761a9433 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
!
4a62761a9433 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
1311
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
    22
!UnboxedIntegerArray class methodsFor:'documentation'!
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
    23
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
    24
copyright
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
    25
"
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
    26
 COPYRIGHT (c) 2003 by eXept Software AG
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
    27
              All Rights Reserved
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
    28
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
    29
 This software is furnished under a license and may be used
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
    30
 only in accordance with the terms of that license and with the
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
    31
 inclusion of the above copyright notice.   This software may not
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
    32
 be provided or otherwise made available to, or used by, any
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
    33
 other person.  No title to or ownership of the software is
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
    34
 hereby transferred.
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
    35
"
1574
0c15fa756ca4 comments
Claus Gittinger <cg@exept.de>
parents: 1563
diff changeset
    36
!
0c15fa756ca4 comments
Claus Gittinger <cg@exept.de>
parents: 1563
diff changeset
    37
0c15fa756ca4 comments
Claus Gittinger <cg@exept.de>
parents: 1563
diff changeset
    38
documentation
0c15fa756ca4 comments
Claus Gittinger <cg@exept.de>
parents: 1563
diff changeset
    39
"
0c15fa756ca4 comments
Claus Gittinger <cg@exept.de>
parents: 1563
diff changeset
    40
    An abstract superclass for all unboxed integer classes.
0c15fa756ca4 comments
Claus Gittinger <cg@exept.de>
parents: 1563
diff changeset
    41
    In contrast to normal arrays (which store pointers to their elements),
0c15fa756ca4 comments
Claus Gittinger <cg@exept.de>
parents: 1563
diff changeset
    42
    unboxedIntegerArrays store the values in a dense & compact way. 
0c15fa756ca4 comments
Claus Gittinger <cg@exept.de>
parents: 1563
diff changeset
    43
    Since the representation fits corrsepnding underlying C-language representations,
0c15fa756ca4 comments
Claus Gittinger <cg@exept.de>
parents: 1563
diff changeset
    44
    these are also useful to pass bulk data to c primitive code.
0c15fa756ca4 comments
Claus Gittinger <cg@exept.de>
parents: 1563
diff changeset
    45
0c15fa756ca4 comments
Claus Gittinger <cg@exept.de>
parents: 1563
diff changeset
    46
    [see also:]
0c15fa756ca4 comments
Claus Gittinger <cg@exept.de>
parents: 1563
diff changeset
    47
        ByteArray WordArray BooleanArray FloatArray DoubleArray Array
0c15fa756ca4 comments
Claus Gittinger <cg@exept.de>
parents: 1563
diff changeset
    48
        IntegerArray LongIntegerArray SignedLongIntegerArray
0c15fa756ca4 comments
Claus Gittinger <cg@exept.de>
parents: 1563
diff changeset
    49
0c15fa756ca4 comments
Claus Gittinger <cg@exept.de>
parents: 1563
diff changeset
    50
    [author:]
0c15fa756ca4 comments
Claus Gittinger <cg@exept.de>
parents: 1563
diff changeset
    51
        Claus Gittinger
0c15fa756ca4 comments
Claus Gittinger <cg@exept.de>
parents: 1563
diff changeset
    52
"
1311
e20fa06ce5f8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
    53
! !
1178
4a62761a9433 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
1557
52f4a080f6f0 +isAbstract
Claus Gittinger <cg@exept.de>
parents: 1423
diff changeset
    55
!UnboxedIntegerArray class methodsFor:'queries'!
52f4a080f6f0 +isAbstract
Claus Gittinger <cg@exept.de>
parents: 1423
diff changeset
    56
52f4a080f6f0 +isAbstract
Claus Gittinger <cg@exept.de>
parents: 1423
diff changeset
    57
isAbstract
52f4a080f6f0 +isAbstract
Claus Gittinger <cg@exept.de>
parents: 1423
diff changeset
    58
    ^ self == UnboxedIntegerArray
52f4a080f6f0 +isAbstract
Claus Gittinger <cg@exept.de>
parents: 1423
diff changeset
    59
! !
52f4a080f6f0 +isAbstract
Claus Gittinger <cg@exept.de>
parents: 1423
diff changeset
    60
1423
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    61
!UnboxedIntegerArray methodsFor:'accessing'!
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    62
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    63
at:index
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    64
    "return the indexed instance variable with index, anInteger.
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    65
     Trigger an error if the receiver has no indexed instance variables.
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    66
     This method should NOT be redefined in any subclass (except with great care, for tuning)"
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    67
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    68
%{  /* NOCONTEXT */
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    69
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    70
    REGISTER int nbytes, indx;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    71
    OBJ myClass;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    72
    REGISTER char *pFirst;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    73
    REGISTER int n;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    74
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    75
    /*
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    76
     * notice the missing test for self being a nonNilObject -
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    77
     * this can be done since basicAt: is defined both in UndefinedObject
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    78
     * and SmallInteger
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    79
     */
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    80
    if (__isSmallInteger(index)) {
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    81
        myClass = __qClass(self);
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    82
        indx = __intVal(index) - 1;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    83
        n /* nInstVars */ = __intVal(__ClassInstPtr(myClass)->c_ninstvars);
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    84
        n /* nInstBytes */ = OHDR_SIZE + __OBJS2BYTES__(n /* nInstVars */);
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    85
        nbytes = __qSize(self) - n /* nInstBytes */;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    86
        pFirst = (char *)(__InstPtr(self)) + n /* nInstBytes */;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    87
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    88
        switch ((INT)(__ClassInstPtr(myClass)->c_flags) & __MASKSMALLINT(ARRAYMASK)) {
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    89
            case __MASKSMALLINT(WORDARRAY):
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    90
                /*
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    91
                 * unsigned 16bit ints
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    92
                 */
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    93
                /* Notice: the hard coded shifts are by purpose;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    94
                 * it makes us independent of the short-size of the machine
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    95
                 */
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    96
                if ((unsigned)indx < (nbytes>>1)) {
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    97
                    unsigned short *sp;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    98
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
    99
                    sp = (unsigned short *)(pFirst + (indx<<1));
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   100
                    RETURN ( __MKSMALLINT( (INT)(*sp & 0xFFFF)) );
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   101
                }
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   102
                break;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   103
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   104
            case __MASKSMALLINT(SWORDARRAY):
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   105
                /*
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   106
                 * signed 16bit ints
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   107
                 */
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   108
                /* Notice: the hard coded shifts are by purpose;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   109
                 * it makes us independent of the short-size of the machine
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   110
                 */
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   111
                if ((unsigned)indx < (nbytes>>1)) {
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   112
                    short *ssp;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   113
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   114
                    ssp = (short *)(pFirst + (indx<<1));
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   115
                    RETURN ( __MKSMALLINT( (INT)(*ssp) ));
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   116
                }
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   117
                break;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   118
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   119
            case __MASKSMALLINT(LONGARRAY):
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   120
                /*
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   121
                 * unsigned 32bit ints
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   122
                 */
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   123
                /* Notice: the hard coded shifts are by purpose;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   124
                 * it makes us independent of the int-size of the machine
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   125
                 */
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   126
                if ((unsigned)indx < (nbytes>>2)) {
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   127
                    unsigned int32 ul;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   128
                    unsigned int32 *lp;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   129
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   130
                    lp = (unsigned int32 *)(pFirst + (indx<<2));
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   131
                    ul = *lp;
1563
685e88155bbd alpha64 vs. POINTER_SIZE cleanup
Claus Gittinger <cg@exept.de>
parents: 1557
diff changeset
   132
#if __POINTER_SIZE__ == 8
1423
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   133
                    {
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   134
                        unsigned  INT ull = (unsigned INT)ul;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   135
                        RETURN ( __MKSMALLINT(ull) );
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   136
                    }
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   137
#else
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   138
                    if (ul <= _MAX_INT) {
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   139
                        RETURN ( __MKSMALLINT(ul) );
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   140
                    }
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   141
                    RETURN ( __MKULARGEINT(ul) );
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   142
#endif
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   143
                }
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   144
                break;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   145
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   146
            case __MASKSMALLINT(SLONGARRAY):
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   147
                /*
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   148
                 * signed 32bit ints
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   149
                 */
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   150
                /* Notice: the hard coded shifts are by purpose;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   151
                 * it makes us independent of the int-size of the machine
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   152
                 */
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   153
                if ((unsigned)indx < (nbytes>>2)) {
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   154
                    int32 *slp;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   155
                    int32 l;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   156
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   157
                    slp = (int32 *)(pFirst + (indx<<2));
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   158
                    l = *slp;
1563
685e88155bbd alpha64 vs. POINTER_SIZE cleanup
Claus Gittinger <cg@exept.de>
parents: 1557
diff changeset
   159
#if __POINTER_SIZE__ == 8
1423
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   160
                    {
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   161
                        INT ll = (INT)l;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   162
                        RETURN ( __MKSMALLINT(ll) );
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   163
                    }
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   164
#else
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   165
                    if (__ISVALIDINTEGER(l)) {
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   166
                        RETURN ( __MKSMALLINT(l) );
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   167
                    }
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   168
                    RETURN ( __MKLARGEINT(l) );
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   169
#endif
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   170
                }
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   171
                break;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   172
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   173
            case __MASKSMALLINT(SLONGLONGARRAY):
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   174
                /*
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   175
                 * signed 64bit longlongs
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   176
                 */
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   177
#ifdef __NEED_LONGLONG_ALIGN
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   178
                if ((INT)pFirst & (__LONGLONG_ALIGN-1)) {
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   179
                    int delta = __LONGLONG_ALIGN - ((INT)pFirst & (__LONGLONG_ALIGN-1));
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   180
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   181
                    pFirst += delta;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   182
                    nbytes -= delta;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   183
                }
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   184
#endif
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   185
                /* Notice: the hard coded shifts are by purpose;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   186
                 * it makes us independent of the long/longlong-size of the machine
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   187
                 */
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   188
                if ((unsigned)indx < (nbytes>>3)) {
1563
685e88155bbd alpha64 vs. POINTER_SIZE cleanup
Claus Gittinger <cg@exept.de>
parents: 1557
diff changeset
   189
#if __POINTER_SIZE__ == 8
1423
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   190
                    INT *slp, ll;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   191
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   192
                    slp = (INT *)(pFirst + (indx<<3));
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   193
                    ll = *slp;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   194
                    if (__ISVALIDINTEGER(ll)) {
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   195
                        RETURN ( __MKSMALLINT(ll) );
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   196
                    }
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   197
                    RETURN ( __MKLARGEINT(ll) );
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   198
#else
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   199
                    __int64__ *llp;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   200
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   201
                    llp = (__int64__ *)(pFirst + (indx<<3));
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   202
                    RETURN (__MKINT64(llp));
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   203
#endif
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   204
                }
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   205
                break;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   206
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   207
            case __MASKSMALLINT(LONGLONGARRAY):
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   208
                /*
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   209
                 * unsigned 64bit longlongs
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   210
                 */
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   211
#ifdef __NEED_LONGLONG_ALIGN
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   212
                if ((INT)pFirst & (__LONGLONG_ALIGN-1)) {
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   213
                    int delta = __LONGLONG_ALIGN - ((INT)pFirst & (__LONGLONG_ALIGN-1));
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   214
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   215
                    pFirst += delta;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   216
                    nbytes -= delta;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   217
                }
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   218
#endif
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   219
                /* Notice: the hard coded shifts are by purpose;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   220
                 * it makes us independent of the long/longlong-size of the machine
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   221
                 */
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   222
                if ((unsigned)indx < (nbytes>>3)) {
1563
685e88155bbd alpha64 vs. POINTER_SIZE cleanup
Claus Gittinger <cg@exept.de>
parents: 1557
diff changeset
   223
#if __POINTER_SIZE__ == 8
1423
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   224
                    unsigned INT *ulp, ul;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   225
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   226
                    ulp = (unsigned INT *)(pFirst + (indx<<3));
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   227
                    ul = *ulp;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   228
                    if (ul <= _MAX_INT) {
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   229
                        RETURN ( __MKSMALLINT(ul) );
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   230
                    }
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   231
                    RETURN ( __MKULARGEINT(ul) );
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   232
#else
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   233
                    __uint64__ *llp;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   234
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   235
                    llp = (__uint64__ *)(pFirst + (indx<<3));
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   236
                    RETURN (__MKUINT64(llp));
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   237
#endif
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   238
                }
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   239
                break;
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   240
        }
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   241
    }
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   242
%}.
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   243
    ^ self indexNotIntegerOrOutOfBounds:index
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   244
! !
f192a7708747 Define #at: (like Array, same as Object>>basicAt:) for speed.
Stefan Vogel <sv@exept.de>
parents: 1414
diff changeset
   245
1414
e801d1248f10 printing code shared for 16- and 32bit arrays
Claus Gittinger <cg@exept.de>
parents: 1311
diff changeset
   246
!UnboxedIntegerArray methodsFor:'printing'!
e801d1248f10 printing code shared for 16- and 32bit arrays
Claus Gittinger <cg@exept.de>
parents: 1311
diff changeset
   247
e801d1248f10 printing code shared for 16- and 32bit arrays
Claus Gittinger <cg@exept.de>
parents: 1311
diff changeset
   248
printOn:aStream base:radix showRadix:showRadix
e801d1248f10 printing code shared for 16- and 32bit arrays
Claus Gittinger <cg@exept.de>
parents: 1311
diff changeset
   249
    "append a printed representation to aStream in the given number base."
e801d1248f10 printing code shared for 16- and 32bit arrays
Claus Gittinger <cg@exept.de>
parents: 1311
diff changeset
   250
e801d1248f10 printing code shared for 16- and 32bit arrays
Claus Gittinger <cg@exept.de>
parents: 1311
diff changeset
   251
    (self class == WordArray or:[self class == LongIntegerArray]) 
e801d1248f10 printing code shared for 16- and 32bit arrays
Claus Gittinger <cg@exept.de>
parents: 1311
diff changeset
   252
    ifTrue:[    "/ care for subclasses
e801d1248f10 printing code shared for 16- and 32bit arrays
Claus Gittinger <cg@exept.de>
parents: 1311
diff changeset
   253
        aStream nextPutAll:'#('.
e801d1248f10 printing code shared for 16- and 32bit arrays
Claus Gittinger <cg@exept.de>
parents: 1311
diff changeset
   254
        self 
e801d1248f10 printing code shared for 16- and 32bit arrays
Claus Gittinger <cg@exept.de>
parents: 1311
diff changeset
   255
            do:[:word | word printOn:aStream base:radix showRadix:showRadix]
e801d1248f10 printing code shared for 16- and 32bit arrays
Claus Gittinger <cg@exept.de>
parents: 1311
diff changeset
   256
            separatedBy:[aStream space].
e801d1248f10 printing code shared for 16- and 32bit arrays
Claus Gittinger <cg@exept.de>
parents: 1311
diff changeset
   257
        aStream nextPut:$).
e801d1248f10 printing code shared for 16- and 32bit arrays
Claus Gittinger <cg@exept.de>
parents: 1311
diff changeset
   258
        ^ self
e801d1248f10 printing code shared for 16- and 32bit arrays
Claus Gittinger <cg@exept.de>
parents: 1311
diff changeset
   259
    ].
e801d1248f10 printing code shared for 16- and 32bit arrays
Claus Gittinger <cg@exept.de>
parents: 1311
diff changeset
   260
    ^ self printOn:aStream
e801d1248f10 printing code shared for 16- and 32bit arrays
Claus Gittinger <cg@exept.de>
parents: 1311
diff changeset
   261
! !
e801d1248f10 printing code shared for 16- and 32bit arrays
Claus Gittinger <cg@exept.de>
parents: 1311
diff changeset
   262
1178
4a62761a9433 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
!UnboxedIntegerArray methodsFor:'queries'!
4a62761a9433 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
4a62761a9433 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
defaultElement
4a62761a9433 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
    ^ 0
4a62761a9433 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
! !
4a62761a9433 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
4a62761a9433 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
!UnboxedIntegerArray class methodsFor:'documentation'!
4a62761a9433 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
4a62761a9433 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
version
1574
0c15fa756ca4 comments
Claus Gittinger <cg@exept.de>
parents: 1563
diff changeset
   272
    ^ '$Header: /cvs/stx/stx/libbasic2/UnboxedIntegerArray.st,v 1.7 2005-10-13 12:46:08 cg Exp $'
1178
4a62761a9433 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
! !