*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Mon, 28 Dec 2015 22:53:57 +0100
changeset 19003 6ac2cb393fd7
parent 18999 52150e74c109
child 19004 5975d94941ac
child 19005 49909c52b8ed
*** empty log message ***
FloatArray.st
--- a/FloatArray.st	Wed Dec 23 10:52:10 2015 +0100
+++ b/FloatArray.st	Mon Dec 28 22:53:57 2015 +0100
@@ -42,17 +42,17 @@
 "
     FloatArrays store floats (and nothing else).
     They have been added to support heavy duty number crunching and
-    data exchange with openGL frameworks and other mass data libraries. 
+    data exchange with openGL frameworks and other mass data libraries.
     See documentation in DoubleArray for more information.
 
     [memory requirements:]
-        OBJ-HEADER + (size * float-size)
+	OBJ-HEADER + (size * float-size)
 
     [See also:]
-        DoubleArray Array
+	DoubleArray Array
 
     [author:]
-        Claus Gittinger
+	Claus Gittinger
 "
 ! !
 
@@ -142,38 +142,38 @@
 replaceFrom:start to:stop with:aCollection startingAt:replStart
 %{
     if ((__ClassInstPtr(__qClass(self))->c_ninstvars == __mkSmallInteger(0))
-         && __isFloats(aCollection)
-         && (__ClassInstPtr(__qClass(aCollection))->c_ninstvars == __mkSmallInteger(0))
-         && __bothSmallInteger(start, stop)
-         && __isSmallInteger(replStart)
+	 && __isFloats(aCollection)
+	 && (__ClassInstPtr(__qClass(aCollection))->c_ninstvars == __mkSmallInteger(0))
+	 && __bothSmallInteger(start, stop)
+	 && __isSmallInteger(replStart)
     ) {
-        INT __start = __intVal(start) - 1;
-        INT __stop = __intVal(stop) - 1 ;
-        INT __replStart = __intVal(replStart) - 1 ;
+	INT __start = __intVal(start) - 1;
+	INT __stop = __intVal(stop) - 1 ;
+	INT __replStart = __intVal(replStart) - 1 ;
 
-        if (__stop >= __start) {
-            INT __sz = __floatArraySize(self);
-            INT __otherSz = __floatArraySize(aCollection);
-            INT __replStop = __replStart + (__stop-__start);
+	if (__stop >= __start) {
+	    INT __sz = __floatArraySize(self);
+	    INT __otherSz = __floatArraySize(aCollection);
+	    INT __replStop = __replStart + (__stop-__start);
 
-            if (((unsigned INT)__start < __sz)
-             && ((unsigned INT)__stop < __sz)
-             && ((unsigned INT)__replStart < __otherSz)
-             && ((unsigned INT)__replStop < __otherSz)) {
-                INT __n = __stop - __start + 1;
+	    if (((unsigned INT)__start < __sz)
+	     && ((unsigned INT)__stop < __sz)
+	     && ((unsigned INT)__replStart < __otherSz)
+	     && ((unsigned INT)__replStop < __otherSz)) {
+		INT __n = __stop - __start + 1;
 
-                if (aCollection == self) {
-                    memmove(&(__FloatArrayInstPtr(self)->f_element[__start]), 
-                            &(__FloatArrayInstPtr(aCollection)->f_element[__replStart]),
-                            sizeof(float) * __n);
-                } else {
-                    memcpy(&(__FloatArrayInstPtr(self)->f_element[__start]), 
-                           &(__FloatArrayInstPtr(aCollection)->f_element[__replStart]),
-                           sizeof(float) * __n);
-                }
-                RETURN(self);
-            }
-        }
+		if (aCollection == self) {
+		    memmove(&(__FloatArrayInstPtr(self)->f_element[__start]),
+			    &(__FloatArrayInstPtr(aCollection)->f_element[__replStart]),
+			    sizeof(float) * __n);
+		} else {
+		    memcpy(&(__FloatArrayInstPtr(self)->f_element[__start]),
+			   &(__FloatArrayInstPtr(aCollection)->f_element[__replStart]),
+			   sizeof(float) * __n);
+		}
+		RETURN(self);
+	    }
+	}
     }
 %}.
     ^ super replaceFrom:start to:stop with:aCollection startingAt:replStart
@@ -194,27 +194,27 @@
 
 %{
     if (__ClassInstPtr(__qClass(self))->c_ninstvars == __mkSmallInteger(0)) {
-        INT _sz = __floatArraySize(self);
-        INT i;
-        float *_p = __FloatArrayInstPtr(self)->f_element;
-        float prev_p;
+	INT _sz = __floatArraySize(self);
+	INT i;
+	float *_p = __FloatArrayInstPtr(self)->f_element;
+	float prev_p;
 
-        if (_sz > 0) {
-            /* how about inline-mmx-asm for this ... */
-            prev_p = _p[0];
-            for (i=1; i<_sz; i++) {
-                float next_p = _p[i];
+	if (_sz > 0) {
+	    /* how about inline-mmx-asm for this ... */
+	    prev_p = _p[0];
+	    for (i=1; i<_sz; i++) {
+		float next_p = _p[i];
 
-                if (prev_p < 0) {
-                    _p[i-1] = -prev_p;
-                }
-                prev_p = next_p;
-            }
-            if (prev_p < 0) {
-                _p[i-1] = -prev_p;
-            }
-        }
-        RETURN (self);
+		if (prev_p < 0) {
+		    _p[i-1] = -prev_p;
+		}
+		prev_p = next_p;
+	    }
+	    if (prev_p < 0) {
+		_p[i-1] = -prev_p;
+	    }
+	}
+	RETURN (self);
     }
 %}.
     super primAbs
@@ -238,29 +238,29 @@
     if ((__ClassInstPtr(__qClass(self))->c_ninstvars == __mkSmallInteger(0))
      && __isFloats(floatArray)
      && (__ClassInstPtr(__qClass(floatArray))->c_ninstvars == __mkSmallInteger(0))) {
-        INT _sz1 = __floatArraySize(self);
-        INT _sz2 = __floatArraySize(floatArray);
-        INT i;
-        float *_p1 = __FloatArrayInstPtr(self)->f_element;
-        float *_p2 = __FloatArrayInstPtr(floatArray)->f_element;
+	INT _sz1 = __floatArraySize(self);
+	INT _sz2 = __floatArraySize(floatArray);
+	INT i;
+	float *_p1 = __FloatArrayInstPtr(self)->f_element;
+	float *_p2 = __FloatArrayInstPtr(floatArray)->f_element;
 
-        if (_sz1 > 0) {
-            if (_sz2 >= _sz1) {
-                /* how about inline-mmx-asm for this ... */
-                float prev_p1 = _p1[0];
-                float prev_p2 = _p2[0];
+	if (_sz1 > 0) {
+	    if (_sz2 >= _sz1) {
+		/* how about inline-mmx-asm for this ... */
+		float prev_p1 = _p1[0];
+		float prev_p2 = _p2[0];
 
-                for (i=1; i<_sz1; i++) {
-                    float next_p1 = _p1[i];
-                    float next_p2 = _p2[i];
-                    _p1[i-1] = prev_p1 + prev_p2;
-                    prev_p1 = next_p1;
-                    prev_p2 = next_p2;
-                }
-                _p1[i-1] = prev_p1 + prev_p2;
-            }
-        }
-        RETURN (self);
+		for (i=1; i<_sz1; i++) {
+		    float next_p1 = _p1[i];
+		    float next_p2 = _p2[i];
+		    _p1[i-1] = prev_p1 + prev_p2;
+		    prev_p1 = next_p1;
+		    prev_p2 = next_p2;
+		}
+		_p1[i-1] = prev_p1 + prev_p2;
+	    }
+	}
+	RETURN (self);
     }
 %}.
     super primAddArray:floatArray
@@ -280,32 +280,32 @@
 
 %{
     if (__ClassInstPtr(__qClass(self))->c_ninstvars == __mkSmallInteger(0)) {
-        INT _sz1 = __floatArraySize(self);
-        INT i;
-        float *_p1 = __FloatArrayInstPtr(self)->f_element;
-        float v;
-        float prev_p1;
+	INT _sz1 = __floatArraySize(self);
+	INT i;
+	float *_p1 = __FloatArrayInstPtr(self)->f_element;
+	float v;
+	float prev_p1;
 
-        if (_sz1 > 0) {
-            if (__isFloat(aScalar)) {
-                v = (float)(__floatVal(aScalar));
-            } else  if (__isShortFloat(aScalar)) {
-                v = __shortFloatVal(aScalar);
-            } else if (__isSmallInteger(aScalar)) {
-                v = (float)(__intVal(aScalar));
-            } else
-                goto badArg;
+	if (_sz1 > 0) {
+	    if (__isFloat(aScalar)) {
+		v = (float)(__floatVal(aScalar));
+	    } else  if (__isShortFloat(aScalar)) {
+		v = __shortFloatVal(aScalar);
+	    } else if (__isSmallInteger(aScalar)) {
+		v = (float)(__intVal(aScalar));
+	    } else
+		goto badArg;
 
-            /* how about inline-mmx-asm for this ... */
-            prev_p1 = _p1[0];
-            for (i=1; i<_sz1; i++) {
-                float next_p1 = _p1[i];
-                _p1[i-1] = prev_p1 + v;
-                prev_p1 = next_p1;
-            }
-            _p1[i-1] = prev_p1 + v;
-        }
-        RETURN (self);
+	    /* how about inline-mmx-asm for this ... */
+	    prev_p1 = _p1[0];
+	    for (i=1; i<_sz1; i++) {
+		float next_p1 = _p1[i];
+		_p1[i-1] = prev_p1 + v;
+		prev_p1 = next_p1;
+	    }
+	    _p1[i-1] = prev_p1 + v;
+	}
+	RETURN (self);
     }
     badArg: ;
 %}.
@@ -332,29 +332,29 @@
     if ((__ClassInstPtr(__qClass(self))->c_ninstvars == __mkSmallInteger(0))
      && __isFloats(floatArray)
      && (__ClassInstPtr(__qClass(floatArray))->c_ninstvars == __mkSmallInteger(0))) {
-        INT _sz1 = __floatArraySize(self);
-        INT _sz2 = __floatArraySize(floatArray);
-        INT i;
-        float *_p1 = __FloatArrayInstPtr(self)->f_element;
-        float *_p2 = __FloatArrayInstPtr(floatArray)->f_element;
+	INT _sz1 = __floatArraySize(self);
+	INT _sz2 = __floatArraySize(floatArray);
+	INT i;
+	float *_p1 = __FloatArrayInstPtr(self)->f_element;
+	float *_p2 = __FloatArrayInstPtr(floatArray)->f_element;
 
-        if (_sz1 > 0) {
-            if (_sz2 >= _sz1) {
-                /* how about inline-mmx-asm for this ... */
-                float prev_p1 = _p1[0];
-                float prev_p2 = _p2[0];
+	if (_sz1 > 0) {
+	    if (_sz2 >= _sz1) {
+		/* how about inline-mmx-asm for this ... */
+		float prev_p1 = _p1[0];
+		float prev_p2 = _p2[0];
 
-                for (i=1; i<_sz1; i++) {
-                    float next_p1 = _p1[i];
-                    float next_p2 = _p2[i];
-                    _p1[i-1] = prev_p1 / prev_p2;
-                    prev_p1 = next_p1;
-                    prev_p2 = next_p2;
-                }
-                _p1[i-1] = prev_p1 / prev_p2;
-            }
-        }
-        RETURN (self);
+		for (i=1; i<_sz1; i++) {
+		    float next_p1 = _p1[i];
+		    float next_p2 = _p2[i];
+		    _p1[i-1] = prev_p1 / prev_p2;
+		    prev_p1 = next_p1;
+		    prev_p2 = next_p2;
+		}
+		_p1[i-1] = prev_p1 / prev_p2;
+	    }
+	}
+	RETURN (self);
     }
 %}.
     super primDivArray: floatArray
@@ -376,32 +376,32 @@
 
 %{
     if (__ClassInstPtr(__qClass(self))->c_ninstvars == __mkSmallInteger(0)) {
-        INT _sz1 = __floatArraySize(self);
-        INT i;
-        float *_p1 = __FloatArrayInstPtr(self)->f_element;
-        float v;
-        float prev_p1;
+	INT _sz1 = __floatArraySize(self);
+	INT i;
+	float *_p1 = __FloatArrayInstPtr(self)->f_element;
+	float v;
+	float prev_p1;
 
-        if (_sz1 > 0) {
-            if (__isFloat(aScalar)) {
-                v = (float)(__floatVal(aScalar));
-            } else  if (__isShortFloat(aScalar)) {
-                v = __shortFloatVal(aScalar);
-            } else if (__isSmallInteger(aScalar)) {
-                v = (float)(__intVal(aScalar));
-            } else
-                goto badArg;
+	if (_sz1 > 0) {
+	    if (__isFloat(aScalar)) {
+		v = (float)(__floatVal(aScalar));
+	    } else  if (__isShortFloat(aScalar)) {
+		v = __shortFloatVal(aScalar);
+	    } else if (__isSmallInteger(aScalar)) {
+		v = (float)(__intVal(aScalar));
+	    } else
+		goto badArg;
 
-            /* how about inline-mmx-asm for this ... */
-            prev_p1 = _p1[0];
-            for (i=1; i<_sz1; i++) {
-                float next_p1 = _p1[i];
-                _p1[i-1] = prev_p1 / v;
-                prev_p1 = next_p1;
-            }
-            _p1[i-1] = prev_p1 / v;
-        }
-        RETURN (self);
+	    /* how about inline-mmx-asm for this ... */
+	    prev_p1 = _p1[0];
+	    for (i=1; i<_sz1; i++) {
+		float next_p1 = _p1[i];
+		_p1[i-1] = prev_p1 / v;
+		prev_p1 = next_p1;
+	    }
+	    _p1[i-1] = prev_p1 / v;
+	}
+	RETURN (self);
     }
     badArg: ;
 %}.
@@ -430,28 +430,28 @@
     if ((__ClassInstPtr(__qClass(self))->c_ninstvars == __mkSmallInteger(0))
      && __isFloats(floatArray)
      && (__ClassInstPtr(__qClass(floatArray))->c_ninstvars == __mkSmallInteger(0))) {
-        INT _sz1 = __floatArraySize(self);
-        INT _sz2 = __floatArraySize(floatArray);
-        INT i;
-        float *_p1 = __FloatArrayInstPtr(self)->f_element;
-        float *_p2 = __FloatArrayInstPtr(floatArray)->f_element;
+	INT _sz1 = __floatArraySize(self);
+	INT _sz2 = __floatArraySize(floatArray);
+	INT i;
+	float *_p1 = __FloatArrayInstPtr(self)->f_element;
+	float *_p2 = __FloatArrayInstPtr(floatArray)->f_element;
 
-        if (_sz1 > 0) {
-            if (_sz2 >= _sz1) {
-                float prev_p1 = _p1[0];
-                float prev_p2 = _p2[0];
+	if (_sz1 > 0) {
+	    if (_sz2 >= _sz1) {
+		float prev_p1 = _p1[0];
+		float prev_p2 = _p2[0];
 
-                for (i=1; i<_sz1; i++) {
-                    float next_p1 = _p1[i];
-                    float next_p2 = _p2[i];
-                    _p1[i-1] = prev_p1 * prev_p2;
-                    prev_p1 = next_p1;
-                    prev_p2 = next_p2;
-                }
-                _p1[i-1] = prev_p1 * prev_p2;
-            }
-        }
-        RETURN (self);
+		for (i=1; i<_sz1; i++) {
+		    float next_p1 = _p1[i];
+		    float next_p2 = _p2[i];
+		    _p1[i-1] = prev_p1 * prev_p2;
+		    prev_p1 = next_p1;
+		    prev_p2 = next_p2;
+		}
+		_p1[i-1] = prev_p1 * prev_p2;
+	    }
+	}
+	RETURN (self);
     }
 %}.
     super primMulArray: floatArray
@@ -471,32 +471,32 @@
 
 %{
     if (__ClassInstPtr(__qClass(self))->c_ninstvars == __mkSmallInteger(0)) {
-        INT _sz1 = __floatArraySize(self);
-        INT i;
-        float *_p1 = __FloatArrayInstPtr(self)->f_element;
-        float v;
-        float prev_p1;
+	INT _sz1 = __floatArraySize(self);
+	INT i;
+	float *_p1 = __FloatArrayInstPtr(self)->f_element;
+	float v;
+	float prev_p1;
 
-        if (_sz1 > 0) {
-            if (__isFloat(aScalar)) {
-                v = (float)(__floatVal(aScalar));
-            } else  if (__isShortFloat(aScalar)) {
-                v = __shortFloatVal(aScalar);
-            } else if (__isSmallInteger(aScalar)) {
-                v = (float)(__intVal(aScalar));
-            } else
-                goto badArg;
+	if (_sz1 > 0) {
+	    if (__isFloat(aScalar)) {
+		v = (float)(__floatVal(aScalar));
+	    } else  if (__isShortFloat(aScalar)) {
+		v = __shortFloatVal(aScalar);
+	    } else if (__isSmallInteger(aScalar)) {
+		v = (float)(__intVal(aScalar));
+	    } else
+		goto badArg;
 
-            /* how about inline-mmx-asm for this ... */
-            prev_p1 = _p1[0];
-            for (i=1; i<_sz1; i++) {
-                float next_p1 = _p1[i];
-                _p1[i-1] = prev_p1 * v;
-                prev_p1 = next_p1;
-            }
-            _p1[i-1] = prev_p1 * v;
-        }
-        RETURN (self);
+	    /* how about inline-mmx-asm for this ... */
+	    prev_p1 = _p1[0];
+	    for (i=1; i<_sz1; i++) {
+		float next_p1 = _p1[i];
+		_p1[i-1] = prev_p1 * v;
+		prev_p1 = next_p1;
+	    }
+	    _p1[i-1] = prev_p1 * v;
+	}
+	RETURN (self);
     }
     badArg: ;
 %}.
@@ -520,23 +520,23 @@
 
 %{
     if (__ClassInstPtr(__qClass(self))->c_ninstvars == __mkSmallInteger(0)) {
-        INT _sz = __floatArraySize(self);
-        INT i;
-        float *_p = __FloatArrayInstPtr(self)->f_element;
-        float prev_p;
+	INT _sz = __floatArraySize(self);
+	INT i;
+	float *_p = __FloatArrayInstPtr(self)->f_element;
+	float prev_p;
 
-        if (_sz > 0) {
-            /* how about inline-mmx-asm for this ... */
-            prev_p = _p[0];
-            for (i=1; i<_sz; i++) {
-                float next_p = _p[i];
+	if (_sz > 0) {
+	    /* how about inline-mmx-asm for this ... */
+	    prev_p = _p[0];
+	    for (i=1; i<_sz; i++) {
+		float next_p = _p[i];
 
-                _p[i-1] = -prev_p;
-                prev_p = next_p;
-            }
-            _p[i-1] = -prev_p;
-        }
-        RETURN (self);
+		_p[i-1] = -prev_p;
+		prev_p = next_p;
+	    }
+	    _p[i-1] = -prev_p;
+	}
+	RETURN (self);
     }
 %}.
     super primNegated
@@ -560,28 +560,28 @@
     if ((__ClassInstPtr(__qClass(self))->c_ninstvars == __mkSmallInteger(0))
      && __isFloats(floatArray)
      && (__ClassInstPtr(__qClass(floatArray))->c_ninstvars == __mkSmallInteger(0))) {
-        INT _sz1 = __floatArraySize(self);
-        INT _sz2 = __floatArraySize(floatArray);
-        INT i;
-        float *_p1 = __FloatArrayInstPtr(self)->f_element;
-        float *_p2 = __FloatArrayInstPtr(floatArray)->f_element;
+	INT _sz1 = __floatArraySize(self);
+	INT _sz2 = __floatArraySize(floatArray);
+	INT i;
+	float *_p1 = __FloatArrayInstPtr(self)->f_element;
+	float *_p2 = __FloatArrayInstPtr(floatArray)->f_element;
 
-        if (_sz1 > 0) {
-            if (_sz2 >= _sz1) {
-                float prev_p1 = _p1[0];
-                float prev_p2 = _p2[0];
+	if (_sz1 > 0) {
+	    if (_sz2 >= _sz1) {
+		float prev_p1 = _p1[0];
+		float prev_p2 = _p2[0];
 
-                for (i=1; i<_sz1; i++) {
-                    float next_p1 = _p1[i];
-                    float next_p2 = _p2[i];
-                    _p1[i-1] = prev_p1 - prev_p2;
-                    prev_p1 = next_p1;
-                    prev_p2 = next_p2;
-                }
-                _p1[i-1] = prev_p1 - prev_p2;
-            }
-        }
-        RETURN (self);
+		for (i=1; i<_sz1; i++) {
+		    float next_p1 = _p1[i];
+		    float next_p2 = _p2[i];
+		    _p1[i-1] = prev_p1 - prev_p2;
+		    prev_p1 = next_p1;
+		    prev_p2 = next_p2;
+		}
+		_p1[i-1] = prev_p1 - prev_p2;
+	    }
+	}
+	RETURN (self);
     }
 %}.
     super primSubtractArray: floatArray
@@ -603,32 +603,32 @@
 
 %{
     if (__ClassInstPtr(__qClass(self))->c_ninstvars == __mkSmallInteger(0)) {
-        INT _sz1 = __floatArraySize(self);
-        INT i;
-        float *_p1 = __FloatArrayInstPtr(self)->f_element;
-        float v;
-        float prev_p1;
+	INT _sz1 = __floatArraySize(self);
+	INT i;
+	float *_p1 = __FloatArrayInstPtr(self)->f_element;
+	float v;
+	float prev_p1;
 
-        if (_sz1 > 0) {
-            if (__isFloat(aScalar)) {
-                v = (float)(__floatVal(aScalar));
-            } else  if (__isShortFloat(aScalar)) {
-                v = __shortFloatVal(aScalar);
-            } else if (__isSmallInteger(aScalar)) {
-                v = (float)(__intVal(aScalar));
-            } else
-                goto badArg;
+	if (_sz1 > 0) {
+	    if (__isFloat(aScalar)) {
+		v = (float)(__floatVal(aScalar));
+	    } else  if (__isShortFloat(aScalar)) {
+		v = __shortFloatVal(aScalar);
+	    } else if (__isSmallInteger(aScalar)) {
+		v = (float)(__intVal(aScalar));
+	    } else
+		goto badArg;
 
-            /* how about inline-mmx-asm for this... ? */
-            prev_p1 = _p1[0];
-            for (i=1; i<_sz1; i++) {
-                float next_p1 = _p1[i];
-                _p1[i-1] = prev_p1 - v;
-                prev_p1 = next_p1;
-            }
-            _p1[i-1] = prev_p1 - v;
-        }
-        RETURN (self);
+	    /* how about inline-mmx-asm for this... ? */
+	    prev_p1 = _p1[0];
+	    for (i=1; i<_sz1; i++) {
+		float next_p1 = _p1[i];
+		_p1[i-1] = prev_p1 - v;
+		prev_p1 = next_p1;
+	    }
+	    _p1[i-1] = prev_p1 - v;
+	}
+	RETURN (self);
     }
     badArg: ;
 %}.
@@ -707,7 +707,7 @@
 !
 
 min
-    "return the largest element;
+    "return the smallest element;
      redefined for speed"
 %{
     if (__ClassInstPtr(__qClass(self))->c_ninstvars == __mkSmallInteger(0)) {
@@ -853,22 +853,22 @@
     if (__isFloats(aFloatVector)
     && (__ClassInstPtr(__qClass(self))->c_ninstvars == __mkSmallInteger(0))
     && (__ClassInstPtr(__qClass(aFloatVector))->c_ninstvars == __mkSmallInteger(0))) {
-        INT __mySize = __floatArraySize(self);
-        INT __otherSize = __floatArraySize(aFloatVector);
-        float __result = 0.0;
+	INT __mySize = __floatArraySize(self);
+	INT __otherSize = __floatArraySize(aFloatVector);
+	float __result = 0.0;
 
-        if (__mySize == __otherSize) {
-            if (__mySize > 0) {
-                float *__p1 = __FloatArrayInstPtr(self)->f_element;
-                float *__p2 = __FloatArrayInstPtr(aFloatVector)->f_element;
-                INT __i;
-                /* how about inline-mmx-asm for this ... */
-                for (__i=0; __i<__mySize; __i++) {
-                    __result += (__p1[__i] * __p2[__i]);
-                }
-            }
-            RETURN (__MKFLOAT(__result));
-        }
+	if (__mySize == __otherSize) {
+	    if (__mySize > 0) {
+		float *__p1 = __FloatArrayInstPtr(self)->f_element;
+		float *__p2 = __FloatArrayInstPtr(aFloatVector)->f_element;
+		INT __i;
+		/* how about inline-mmx-asm for this ... */
+		for (__i=0; __i<__mySize; __i++) {
+		    __result += (__p1[__i] * __p2[__i]);
+		}
+	    }
+	    RETURN (__MKFLOAT(__result));
+	}
     }
 %}.
     ^ super dot:aFloatVector
@@ -877,18 +877,18 @@
      |v|
 
      v := #(2.0 2.0 1.0) asFloatArray.
-     v dot:v.      
+     v dot:v.
     "
     "
      |v1 v2|
 
      v1 := FloatArray new:10000 withAll:2.
-     v2 := FloatArray new:10000 withAll:3. 
+     v2 := FloatArray new:10000 withAll:3.
      Time millisecondsToRun:[
-        10000 timesRepeat:[
-          v1 dot:v2.       
-        ]          
-     ]          
+	10000 timesRepeat:[
+	  v1 dot:v2.
+	]
+     ]
     "
 
     "Created: / 29-05-2007 / 13:13:39 / cg"
@@ -903,4 +903,3 @@
 version_CVS
     ^ '$Header$'
 ! !
-