X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flinal%2Fvector.h;h=6dfe6ca0167fb3e1d57e65217003e3d700f6a3b3;hb=65b26478a62b8d715ec415164fff25fafcb35fc1;hp=9ef46fde412f22804535065d6dd59c10b11963e2;hpb=643aa7b2317f88463f66da11e595ebe0f6c9621d;p=libs%2Fmath.git diff --git a/source/linal/vector.h b/source/linal/vector.h index 9ef46fd..6dfe6ca 100644 --- a/source/linal/vector.h +++ b/source/linal/vector.h @@ -81,10 +81,9 @@ public: Vector(T, T, T, T); template Vector(const Vector &); - template - Vector(const Vector &, U); - template - explicit Vector(const Vector &); + + template + Vector slice(unsigned) const; Vector &operator*=(T); Vector &operator/=(T); @@ -145,20 +144,44 @@ inline Vector::Vector(const Vector &v) } template -template -inline Vector::Vector(const Vector &v, U s) +inline Vector compose(const Vector &v, T s) { - for(unsigned i=0; i r; + for(unsigned i=0; i -template -inline Vector::Vector(const Vector &v) +inline Vector compose(T s, const Vector &v) { + Vector r; for(unsigned i=0; i +inline Vector compose(const Vector &v1, const Vector &v2) +{ + Vector r; + for(unsigned i=0; i +template +inline Vector Vector::slice(unsigned j) const +{ + Vector r; + for(unsigned i=0; i