blob: e1fd3c5d41e52d81c9c49c4ea7a6c362f9448b23 [file] [log] [blame]
import 'dart:typed_data';
class _Vector {
_Vector(int size)
: _offset = 0,
_length = size,
_elements = new Float64List(size);
_Vector.fromVOL(List<double> values, int offset, int length)
: _offset = offset,
_length = length,
_elements = values;
final int _offset;
final int _length;
final List<double> _elements;
double operator [](int i) => _elements[i + _offset];
void operator []=(int i, double value) {
_elements[i + _offset] = value;
}
double operator *(_Vector a) {
double result = 0.0;
for (int i = 0; i < _length; i += 1) result += this[i] * a[i];
return result;
}
}
_Vector v = new _Vector(10);
double x = 0.0;
main(List<String> args) {
Stopwatch timer = new Stopwatch()..start();
for (int i = 0; i < 100000000; i++) {
x = x + v * v;
}
timer.stop();
print("Elapsed ${timer.elapsedMilliseconds}ms, result $x");
}