@@ -1,53 +1,85 @@
package cmn.utilslib.math.matrix;

import cmn.utilslib.math.vector.Vector4f;
import cmn.utilslib.math.tuple.Tuple5f;
import cmn.utilslib.math.vector.api.Vec4fBase;

public class Matrix5f
{
public static final int ROWS = 5;
public static final int COLS = 5;
public static final int ENTS = 25;

public Vector4f m0 = new Vector4f();
public Vector4f m1 = new Vector4f();
public Vector4f m2 = new Vector4f();
public Vector4f m3 = new Vector4f();
public final Tuple5f m0 = new Tuple5f();
public final Tuple5f m1 = new Tuple5f();
public final Tuple5f m2 = new Tuple5f();
public final Tuple5f m3 = new Tuple5f();
public final Tuple5f m4 = new Tuple5f();

public Matrix5f() { initZero(); }
public Matrix5f()
{
initZero();
}

private Matrix5f(Matrix5f m) { set(m); }
public Matrix5f(Matrix5f m)
{
set(m);
}

public Matrix4f set(Matrix4f m)
public Matrix5f set(Matrix5f m)
{

this.m0.set(m.m0);
this.m1.set(m.m1);
this.m2.set(m.m2);
this.m3.set(m.m3);
this.m4.set(m.m4);

return this;
}

public static Matrix4f zero() { return new Matrix4f().initZero(); }
public static Matrix5f zero() { return new Matrix5f().initZero(); }

public Matrix4f initZero()
public Matrix5f initZero()
{
this.m0.setZero();
this.m1.setZero();
this.m2.setZero();
this.m3.setZero();
this.m4.setZero();

return this;
}

public static Matrix4f identity() { return new Matrix4f().initIdendity(); }
public static Matrix5f identity() { return new Matrix5f().initIdendity(); }

public Matrix5f initIdendity()
{
this.m0.set(1, 0, 0, 0, 0);
this.m1.set(0, 1, 0, 0, 0);
this.m2.set(0, 0, 1, 0, 0);
this.m3.set(0, 0, 0, 1, 0);
this.m4.set(0, 0, 0, 0, 1);

return this;
}

public Matrix5f initScale(Vec4fBase v)
{
this.m0.set(v.getX(), 0, 0, 0, 0);
this.m1.set(0, v.getY(), 0, 0, 0);
this.m2.set(0, 0, v.getZ(), 0, 0);
this.m3.set(0, 0, 0, v.getA(), 0);
this.m4.set(0, 0, 0, 0, 1);

return this;
}

public Matrix4f initIdendity()
public Matrix5f initTranslate(Vec4fBase v)
{
this.m0.set(1.0f, 0.0f, 0.0f, 0.0f);
this.m1.set(0.0f, 1.0f, 0.0f, 0.0f);
this.m2.set(0.0f, 0.0f, 1.0f, 0.0f);
this.m3.set(0.0f, 0.0f, 0.0f, 1.0f);
this.m0.set(1, 0, 0, 0, v.getX());
this.m1.set(0, 1, 0, 0, v.getY());
this.m2.set(0, 0, 1, 0, v.getZ());
this.m3.set(0, 0, 0, 1, v.getA());
this.m4.set(0, 0, 0, 0, 1);

return this;
}
@@ -7,67 +7,120 @@
public class Tuple2f implements Tup2f
{

public float[] values = new float[2];
public float[] v = new float[2];

public Tuple2f() { this.values[0] = 0; this.values[1] = 0; }
public Tuple2f()
{
this.v[0] = 0;
this.v[1] = 0;
}

public Tuple2f(Tup2fBase t)
{ this.values[0] = t.get(0); this.values[1] = t.get(1); }
{
this.v[0] = t.get(0);
this.v[1] = t.get(1);
}

public Tuple2f(Tup2dBase t)
{ this.values[0] = (float)t.get(0); this.values[1] = (float)t.get(1); }
{
this.v[0] = (float)t.get(0);
this.v[1] = (float)t.get(1);
}

public Tuple2f(float scalar)
{ this.values[0] = scalar; this.values[1] = scalar; }
{
this.v[0] = scalar;
this.v[1] = scalar;
}

public Tuple2f(double scalar)
{ this.values[0] = (float)scalar; this.values[1] = (float)scalar; }
{
this.v[0] = (float)scalar;
this.v[1] = (float)scalar;
}

public Tuple2f(float a, float b)
{ this.values[0] = a; this.values[1] = b; }
public Tuple2f(float v0, float v1)
{
this.v[0] = v0;
this.v[1] = v1;
}

public Tuple2f(double a, double b)
{ this.values[0] = (float)a; this.values[1] = (float)b; }
public Tuple2f(double v0, double v1)
{
this.v[0] = (float)v0;
this.v[1] = (float)v1;
}

@Override
public float get(int index) { return this.values[index]; }
public float get(int index)
{
return this.v[index];
}

@Override
public Tuple2f clone() { return new Tuple2f(this); }

@Override
public Tuple2f setZero()
{ this.values[0] = 0; this.values[1] = 0; return this; }
{
this.v[0] = 0;
this.v[1] = 0;
return this;
}

@Override
public Tuple2f set(Tup2fBase t)
{ this.values[0] = t.get(0); this.values[1] = t.get(1); return this; }
{
this.v[0] = t.get(0);
this.v[1] = t.get(1);
return this;
}

@Override
public Tuple2f set(Tup2dBase t)
{ this.values[0] = (float)t.get(0); this.values[1] = (float)t.get(1); return this; }
{
this.v[0] = (float)t.get(0);
this.v[1] = (float)t.get(1);
return this;
}

@Override
public Tuple2f set(float scalar)
{ this.values[0] = scalar; this.values[1] = scalar; return this; }
{
this.v[0] = scalar;
this.v[1] = scalar;
return this;
}

@Override
public Tuple2f set(double scalar)
{ this.values[0] = (float)scalar; this.values[1] = (float)scalar; return this; }
{
this.v[0] = (float)scalar;
this.v[1] = (float)scalar;
return this;
}

@Override
public Tuple2f set(float... values)
{ this.values[0] = values[0]; this.values[1] = values[1]; return this; }
public Tuple2f set(float v0, float v1)
{
this.v[0] = v0;
this.v[1] = v1;
return this;
}

@Override
public Tuple2f set(double... values)
{ this.values[0] = (float)values[0]; this.values[1] = (float)values[1]; return this; }
public Tuple2f set(double v0, double v1)
{
this.v[0] = (float)v0;
this.v[1] = (float)v1;
return this;
}

@Override
public Tuple2f set(int index, float value) { this.values[index] = value; return this; }
public Tuple2f set(int index, float value) { this.v[index] = value; return this; }

@Override
public Tuple2f set(int index, double value) { this.values[index] = (float)value; return this; }
public Tuple2f set(int index, double value) { this.v[index] = (float)value; return this; }



@@ -7,57 +7,125 @@
public class Tuple3f implements Tup3f
{

public float[] values = new float[3];
public float[] v = new float[3];

public Tuple3f() { this.values[0] = 0; this.values[1] = 0; this.values[2] = 0; }

public Tuple3f(Tup3fBase t) { this.values[0] = t.get(0); this.values[1] = t.get(1); this.values[2] = t.get(2); }
public Tuple3f()
{
this.v[0] = 0;
this.v[1] = 0;
this.v[2] = 0;
}

public Tuple3f(Tup3dBase t) { this.values[0] = (float)t.get(0); this.values[1] = (float)t.get(1); this.values[2] = (float)t.get(2); }
public Tuple3f(Tup3fBase t)
{
this.v[0] = t.get(0);
this.v[1] = t.get(1);
this.v[2] = t.get(2);
}

public Tuple3f(float scalar) { this.values[0] = scalar; this.values[1] = scalar; this.values[2] = scalar; }
public Tuple3f(Tup3dBase t)
{
this.v[0] = (float)t.get(0);
this.v[1] = (float)t.get(1);
this.v[2] = (float)t.get(2);
}

public Tuple3f(double scalar) { this.values[0] = (float)scalar; this.values[1] = (float)scalar; this.values[2] = (float)scalar; }
public Tuple3f(float scalar)
{
this.v[0] = scalar;
this.v[1] = scalar;
this.v[2] = scalar;
}

public Tuple3f(float a, float b, float c) { this.values[0] = a; this.values[1] = b; this.values[2] = c; }
public Tuple3f(double scalar)
{
this.v[0] = (float)scalar;
this.v[1] = (float)scalar;
this.v[2] = (float)scalar;
}

public Tuple3f(double a, double b, double c) { this.values[0] = (float)a; this.values[1] = (float)b; this.values[2] = (float)c; }
public Tuple3f(float v0, float v1, float v2)
{
this.v[0] = v0;
this.v[1] = v1;
this.v[2] = v2;
}

@Override
public float get(int index)
public Tuple3f(double v0, double v1, double v2)
{
return this.values[index];
this.v[0] = (float)v0;
this.v[1] = (float)v1;
this.v[2] = (float)v2;
}

@Override
public float get(int index) { return this.v[index]; }

@Override
public Tuple3f clone() { return new Tuple3f(this); }


@Override
public Tuple3f setZero() { this.values[0] = 0; this.values[1] = 0; this.values[2] = 0; return this; }
public Tuple3f setZero() { this.v[0] = 0; this.v[1] = 0; this.v[2] = 0; return this; }

@Override
public Tuple3f set(Tup3fBase t) { this.values[0] = t.get(0); this.values[1] = t.get(1); this.values[2] = t.get(2); return this; }
public Tuple3f set(Tup3fBase t)
{
this.v[0] = t.get(0);
this.v[1] = t.get(1);
this.v[2] = t.get(2);
return this;
}

@Override
public Tuple3f set(Tup3dBase t) { this.values[0] = (float)t.get(0); this.values[1] = (float)t.get(1); this.values[2] = (float)t.get(2); return this; }
public Tuple3f set(Tup3dBase t)
{
this.v[0] = (float)t.get(0);
this.v[1] = (float)t.get(1);
this.v[2] = (float)t.get(2);
return this;
}

@Override
public Tuple3f set(float scalar) { this.values[0] = scalar; this.values[1] = scalar; this.values[2] = scalar; return this; }
public Tuple3f set(float scalar)
{
this.v[0] = scalar;
this.v[1] = scalar;
this.v[2] = scalar;
return this;
}

@Override
public Tuple3f set(double scalar) { this.values[0] = (float)scalar; this.values[1] = (float)scalar; this.values[2] = (float) scalar; return this; }
public Tuple3f set(double scalar)
{
this.v[0] = (float)scalar;
this.v[1] = (float)scalar;
this.v[2] = (float)scalar;
return this;
}

@Override
public Tuple3f set(float... values) { this.values[0] = values[0]; this.values[1] = values[1]; this.values[2] = values[2]; return this; }
public Tuple3f set(float v0, float v1, float v2)
{
this.v[0] = v0;
this.v[1] = v1;
this.v[2] = v2;
return this;
}

@Override
public Tuple3f set(double... values) { this.values[0] = (float)values[0]; this.values[1] = (float)values[1]; this.values[2] = (float)values[2]; return this; }
public Tuple3f set(double v0, double v1, double v2)
{
this.v[0] = (float)v0;
this.v[1] = (float)v1;
this.v[2] = (float)v2;
return this;
}

@Override
public Tuple3f set(int index, float value) { this.values[index] = value; return this; }
public Tuple3f set(int index, float value) { this.v[index] = value; return this; }

@Override
public Tuple3f set(int index, double value) { this.values[index] = (float)value; return this; }
public Tuple3f set(int index, double value) { this.v[index] = (float)value; return this; }

}
@@ -6,65 +6,65 @@

public class Tuple4f implements Tup4f
{
public float[] values = new float[4];
public float[] v = new float[4];

public Tuple4f()
{
this.values[0] = 0;
this.values[1] = 0;
this.values[2] = 0;
this.v[0] = 0;
this.v[1] = 0;
this.v[2] = 0;
}

public Tuple4f(Tup4fBase t)
{
this.values[0] = t.get(0);
this.values[1] = t.get(1);
this.values[2] = t.get(2);
this.values[3] = t.get(3);
this.v[0] = t.get(0);
this.v[1] = t.get(1);
this.v[2] = t.get(2);
this.v[3] = t.get(3);
}

public Tuple4f(Tup4dBase t)
{
this.values[0] = (float)t.get(0);
this.values[1] = (float)t.get(1);
this.values[2] = (float)t.get(2);
this.values[3] = (float)t.get(3);
this.v[0] = (float)t.get(0);
this.v[1] = (float)t.get(1);
this.v[2] = (float)t.get(2);
this.v[3] = (float)t.get(3);
}

public Tuple4f(float scalar)
{
this.values[0] = scalar;
this.values[1] = scalar;
this.values[2] = scalar;
this.values[3] = scalar;
this.v[0] = scalar;
this.v[1] = scalar;
this.v[2] = scalar;
this.v[3] = scalar;
}

public Tuple4f(double scalar)
{
this.values[0] = (float)scalar;
this.values[1] = (float)scalar;
this.values[2] = (float)scalar;
this.values[3] = (float)scalar;
this.v[0] = (float)scalar;
this.v[1] = (float)scalar;
this.v[2] = (float)scalar;
this.v[3] = (float)scalar;
}

public Tuple4f(float a, float b, float c, float d)
public Tuple4f(float v0, float v1, float v2, float v3)
{
this.values[0] = a;
this.values[1] = b;
this.values[2] = c;
this.values[3] = d;
this.v[0] = v0;
this.v[1] = v1;
this.v[2] = v2;
this.v[3] = v3;
}

public Tuple4f(double a, double b, double c, double d)
public Tuple4f(double v0, double v1, double v2, double v3)
{
this.values[0] = (float)a;
this.values[1] = (float)b;
this.values[2] = (float)c;
this.values[3] = (float)d;
this.v[0] = (float)v0;
this.v[1] = (float)v1;
this.v[2] = (float)v2;
this.v[3] = (float)v3;
}

@Override
public float get(int index) { return this.values[index]; }
public float get(int index) { return this.v[index]; }

@Override
public Tuple4f clone() { return new Tuple4f(this); }
@@ -73,73 +73,76 @@ public Tuple4f(double a, double b, double c, double d)
@Override
public Tuple4f setZero()
{
this.values[0] = 0;
this.values[1] = 0;
this.values[2] = 0;
this.values[3] = 0;
this.v[0] = 0;
this.v[1] = 0;
this.v[2] = 0;
this.v[3] = 0;
return this;
}

@Override
public Tuple4f set(Tup4fBase t)
{
this.values[0] = t.get(0);
this.values[1] = t.get(1);
this.values[2] = t.get(2);
this.values[3] = t.get(3);
this.v[0] = t.get(0);
this.v[1] = t.get(1);
this.v[2] = t.get(2);
this.v[3] = t.get(3);
return this;
}

@Override
public Tuple4f set(Tup4dBase t)
{
this.values[0] = (float)t.get(0);
this.values[1] = (float)t.get(1);
this.values[2] = (float)t.get(2);
this.values[3] = (float)t.get(3);
this.v[0] = (float)t.get(0);
this.v[1] = (float)t.get(1);
this.v[2] = (float)t.get(2);
this.v[3] = (float)t.get(3);
return this;
}

@Override
public Tuple4f set(float scalar)
{
this.values[0] = scalar;
this.values[1] = scalar;
this.values[2] = scalar;
this.values[3] = scalar;
this.v[0] = scalar;
this.v[1] = scalar;
this.v[2] = scalar;
this.v[3] = scalar;
return this;
}

@Override
public Tuple4f set(double scalar)
{
this.values[0] = (float)scalar;
this.values[1] = (float)scalar;
this.values[2] = (float)scalar;
this.v[0] = (float)scalar;
this.v[1] = (float)scalar;
this.v[2] = (float)scalar;
this.v[3] = (float)scalar;
return this;
}

@Override
public Tuple4f set(float... values)
public Tuple4f set(float v0, float v1, float v2, float v3)
{
this.values[0] = values[0];
this.values[1] = values[1];
this.values[2] = values[2];
this.v[0] = v0;
this.v[1] = v1;
this.v[2] = v2;
this.v[3] = v3;
return this;
}

@Override
public Tuple4f set(double... values)
public Tuple4f set(double v0, double v1, double v2, double v3)
{
this.values[0] = (float)values[0];
this.values[1] = (float)values[1];
this.values[2] = (float)values[2];
this.v[0] = (float)v0;
this.v[1] = (float)v1;
this.v[2] = (float)v2;
this.v[3] = (float)v3;
return this;
}

@Override
public Tuple4f set(int index, float value) { this.values[index] = value; return this; }
public Tuple4f set(int index, float value) { this.v[index] = value; return this; }

@Override
public Tuple4f set(int index, double value) { this.values[index] = (float)value; return this; }
public Tuple4f set(int index, double value) { this.v[index] = (float)value; return this; }
}
@@ -1,8 +1,142 @@
package cmn.utilslib.math.tuple;

import cmn.utilslib.math.tuple.api.Tup5dBase;
import cmn.utilslib.math.tuple.api.Tup5f;
import cmn.utilslib.math.tuple.api.Tup5fBase;

public class Tuple5f implements Tup5f
{
public float[] v = new float[5];

public Tuple5f()
{
this.v[0] = 0;
this.v[1] = 0;
this.v[2] = 0;
this.v[3] = 0;
this.v[4] = 0;
}

public Tuple5f(Tup5fBase t)
{
this.v[0] = t.get(0);
this.v[1] = t.get(1);
this.v[2] = t.get(2);
this.v[3] = t.get(3);
this.v[4] = t.get(4);
}

public Tuple5f(float scalar)
{
this.v[0] = scalar;
this.v[1] = scalar;
this.v[2] = scalar;
this.v[3] = scalar;
this.v[4] = scalar;
}

public Tuple5f(double scalar)
{
this.v[0] = (float)scalar;
this.v[1] = (float)scalar;
this.v[2] = (float)scalar;
this.v[3] = (float)scalar;
this.v[4] = (float)scalar;
}

public Tuple5f(float v0, float v1, float v2, float v3, float v4)
{
this.v[0] = v0;
this.v[1] = v1;
this.v[2] = v2;
this.v[3] = v3;
this.v[4] = v4;
}

public Tuple5f(double v0, double v1, double v2, double v3, double v4)
{
this.v[0] = (float)v0;
this.v[1] = (float)v1;
this.v[2] = (float)v2;
this.v[3] = (float)v3;
this.v[4] = (float)v4;
}

public float get(int index) { return this.v[index]; }

public Tuple5f clone() { return new Tuple5f(this); }

public Tuple5f setZero()
{
this.v[0] = 0;
this.v[1] = 0;
this.v[2] = 0;
this.v[3] = 0;
this.v[4] = 0;
return this;
}

public Tuple5f set(Tup5fBase t)
{
this.v[0] = t.get(0);
this.v[1] = t.get(1);
this.v[2] = t.get(2);
this.v[3] = t.get(3);
this.v[4] = t.get(4);
return this;
}

public Tuple5f set(Tup5dBase t)
{
this.v[0] = (float)t.get(0);
this.v[1] = (float)t.get(1);
this.v[2] = (float)t.get(2);
this.v[3] = (float)t.get(3);
this.v[4] = (float)t.get(4);
return this;
}

public Tuple5f set(float scalar)
{
this.v[0] = scalar;
this.v[1] = scalar;
this.v[2] = scalar;
this.v[3] = scalar;
this.v[4] = scalar;
return this;
}

public Tuple5f set(double scalar)
{
this.v[0] = (float)scalar;
this.v[1] = (float)scalar;
this.v[2] = (float)scalar;
this.v[3] = (float)scalar;
this.v[4] = (float)scalar;
return this;
}

public Tuple5f set(float v0, float v1, float v2, float v3, float v4)
{
this.v[0] = v0;
this.v[1] = v1;
this.v[2] = v2;
this.v[3] = v3;
this.v[4] = v4;
return this;
}

public Tuple5f set(double v0, double v1, double v2, double v3, double v4)
{
this.v[0] = (float)v0;
this.v[1] = (float)v1;
this.v[2] = (float)v2;
this.v[3] = (float)v3;
this.v[4] = (float)v4;
return this;
}

public Tuple5f set(int index, float value) { this.v[index] = value; return this; }

public Tuple5f set(int index, double value) { this.v[index] = (float)value; return this; }
}
@@ -1,8 +1,155 @@
package cmn.utilslib.math.tuple;

import cmn.utilslib.math.tuple.api.Tup6dBase;
import cmn.utilslib.math.tuple.api.Tup6f;
import cmn.utilslib.math.tuple.api.Tup6fBase;

public class Tuple6f implements Tup6f
{
public float[] v = new float[6];

public Tuple6f()
{
this.v[0] = 0;
this.v[1] = 0;
this.v[2] = 0;
this.v[3] = 0;
this.v[4] = 0;
this.v[5] = 0;
}

public Tuple6f(Tup6fBase t)
{
this.v[0] = t.get(0);
this.v[1] = t.get(1);
this.v[2] = t.get(2);
this.v[3] = t.get(3);
this.v[4] = t.get(4);
this.v[5] = t.get(5);
}

public Tuple6f(float scalar)
{
this.v[0] = scalar;
this.v[1] = scalar;
this.v[2] = scalar;
this.v[3] = scalar;
this.v[4] = scalar;
this.v[5] = scalar;
}

public Tuple6f(double scalar)
{
this.v[0] = (float)scalar;
this.v[1] = (float)scalar;
this.v[2] = (float)scalar;
this.v[3] = (float)scalar;
this.v[4] = (float)scalar;
this.v[5] = (float)scalar;
}

public Tuple6f(float v0, float v1, float v2, float v3, float v4, float v5)
{
this.v[0] = v0;
this.v[1] = v1;
this.v[2] = v2;
this.v[3] = v3;
this.v[4] = v4;
this.v[5] = v5;
}

public Tuple6f(double v0, double v1, double v2, double v3, double v4, double v5)
{
this.v[0] = (float)v0;
this.v[1] = (float)v1;
this.v[2] = (float)v2;
this.v[3] = (float)v3;
this.v[4] = (float)v4;
this.v[5] = (float)v5;
}

public float get(int index) { return this.v[index]; }

public Tuple6f clone() { return new Tuple6f(this); }

public Tuple6f setZero()
{
this.v[0] = 0;
this.v[1] = 0;
this.v[2] = 0;
this.v[3] = 0;
this.v[4] = 0;
this.v[5] = 0;
return this;
}

public Tuple6f set(Tup6fBase t)
{
this.v[0] = t.get(0);
this.v[1] = t.get(1);
this.v[2] = t.get(2);
this.v[3] = t.get(3);
this.v[4] = t.get(4);
this.v[5] = t.get(5);
return this;
}

public Tuple6f set(Tup6dBase t)
{
this.v[0] = (float)t.get(0);
this.v[1] = (float)t.get(1);
this.v[2] = (float)t.get(2);
this.v[3] = (float)t.get(3);
this.v[4] = (float)t.get(4);
this.v[5] = (float)t.get(5);
return this;
}

public Tuple6f set(float scalar)
{
this.v[0] = scalar;
this.v[1] = scalar;
this.v[2] = scalar;
this.v[3] = scalar;
this.v[4] = scalar;
this.v[5] = scalar;
return this;
}

public Tuple6f set(double scalar)
{
this.v[0] = (float)scalar;
this.v[1] = (float)scalar;
this.v[2] = (float)scalar;
this.v[3] = (float)scalar;
this.v[4] = (float)scalar;
this.v[5] = (float)scalar;
return this;
}

public Tuple6f set(float v0, float v1, float v2, float v3, float v4, float v5)
{
this.v[0] = v0;
this.v[1] = v1;
this.v[2] = v2;
this.v[3] = v3;
this.v[4] = v4;
this.v[5] = v5;
return this;
}

public Tuple6f set(double v0, double v1, double v2, double v3, double v4, double v5)
{
this.v[0] = (float)v0;
this.v[1] = (float)v1;
this.v[2] = (float)v2;
this.v[3] = (float)v3;
this.v[4] = (float)v4;
this.v[5] = (float)v5;
return this;
}

public Tuple6f set(int index, float v) { this.v[index] = v; return this; }

public Tuple6f set(int index, double v) { this.v[index] = (float)v; return this; }
}
@@ -1,154 +1,168 @@
package cmn.utilslib.math.tuple;

import cmn.utilslib.math.tuple.api.Tup7dBase;
import cmn.utilslib.math.tuple.api.Tup7f;
import cmn.utilslib.math.tuple.api.Tup7fBase;

public class Tuple7f implements Tup7f
{
public float[] values = new float[7];
public float[] v = new float[7];

public Tuple7f()
{
this.values[0] = 0;
this.values[1] = 0;
this.values[2] = 0;
this.values[3] = 0;
this.values[4] = 0;
this.values[5] = 0;
this.values[6] = 0;
this.v[0] = 0;
this.v[1] = 0;
this.v[2] = 0;
this.v[3] = 0;
this.v[4] = 0;
this.v[5] = 0;
this.v[6] = 0;
}

public Tuple7f(Tuple7f t)
public Tuple7f(Tup7fBase t)
{
this.values[0] = t.get(0);
this.values[1] = t.get(1);
this.values[1] = t.get(2);
this.values[1] = t.get(3);
this.values[1] = t.get(4);
this.values[1] = t.get(5);
this.values[1] = t.get(6);
this.v[0] = t.get(0);
this.v[1] = t.get(1);
this.v[2] = t.get(2);
this.v[3] = t.get(3);
this.v[4] = t.get(4);
this.v[5] = t.get(5);
this.v[6] = t.get(6);
}

public Tuple7f(float scalar)
{
this.values[0] = scalar;
this.values[1] = scalar;
this.values[2] = scalar;
this.values[3] = scalar;
this.values[4] = scalar;
this.values[5] = scalar;
this.values[6] = scalar;
this.v[0] = scalar;
this.v[1] = scalar;
this.v[2] = scalar;
this.v[3] = scalar;
this.v[4] = scalar;
this.v[5] = scalar;
this.v[6] = scalar;
}

public Tuple7f(double scalar)
{
this.values[0] = (float)scalar;
this.values[1] = (float)scalar;
this.values[2] = (float)scalar;
this.values[3] = (float)scalar;
this.values[4] = (float)scalar;
this.values[5] = (float)scalar;
this.values[6] = (float)scalar;
this.v[0] = (float)scalar;
this.v[1] = (float)scalar;
this.v[2] = (float)scalar;
this.v[3] = (float)scalar;
this.v[4] = (float)scalar;
this.v[5] = (float)scalar;
this.v[6] = (float)scalar;
}

public Tuple7f(float... values)
public Tuple7f(float v0, float v1, float v2, float v3, float v4, float v5, float v6)
{
this.values[0] = values[0];
this.values[1] = values[1];
this.values[2] = values[1];
this.values[3] = values[1];
this.values[4] = values[1];
this.values[5] = values[1];
this.values[6] = values[1];
}
this.v[0] = v0;
this.v[1] = v1;
this.v[2] = v2;
this.v[3] = v3;
this.v[4] = v4;
this.v[5] = v5;
this.v[6] = v6;
}

public Tuple7f(double... values)
public Tuple7f(double v0, double v1, double v2, double v3, double v4, double v5, double v6)
{
this.values[0] = (float)values[0];
this.values[1] = (float)values[1];
this.values[2] = (float)values[1];
this.values[3] = (float)values[1];
this.values[4] = (float)values[1];
this.values[5] = (float)values[1];
this.values[6] = (float)values[1];
this.v[0] = (float)v0;
this.v[1] = (float)v1;
this.v[2] = (float)v2;
this.v[3] = (float)v3;
this.v[4] = (float)v4;
this.v[5] = (float)v5;
this.v[6] = (float)v6;
}

public float get(int index) { return this.values[index]; }
public float get(int index) { return this.v[index]; }

public Tuple7f clone() { return new Tuple7f(this); }

public Tuple7f setZero()
{
this.values[0] = 0;
this.values[1] = 0;
this.values[2] = 0;
this.values[3] = 0;
this.values[4] = 0;
this.values[5] = 0;
this.values[6] = 0;
this.v[0] = 0;
this.v[1] = 0;
this.v[2] = 0;
this.v[3] = 0;
this.v[4] = 0;
this.v[5] = 0;
this.v[6] = 0;
return this;
}

public Tuple7f set(Tuple7f t)
public Tuple7f set(Tup7fBase t)
{
this.v[0] = t.get(0);
this.v[1] = t.get(1);
this.v[2] = t.get(2);
this.v[3] = t.get(3);
this.v[4] = t.get(4);
this.v[5] = t.get(5);
this.v[6] = t.get(6);
return this;
}

public Tuple7f set(Tup7dBase t)
{
this.values[0] = t.get(0);
this.values[1] = t.get(1);
this.values[2] = t.get(2);
this.values[3] = t.get(3);
this.values[4] = t.get(4);
this.values[5] = t.get(5);
this.values[6] = t.get(6);
this.v[0] = (float)t.get(0);
this.v[1] = (float)t.get(1);
this.v[2] = (float)t.get(2);
this.v[3] = (float)t.get(3);
this.v[4] = (float)t.get(4);
this.v[5] = (float)t.get(5);
this.v[6] = (float)t.get(6);
return this;
}

public Tuple7f set(float scalar)
{
this.values[0] = scalar;
this.values[1] = scalar;
this.values[2] = scalar;
this.values[3] = scalar;
this.values[4] = scalar;
this.values[5] = scalar;
this.values[6] = scalar;
this.v[0] = scalar;
this.v[1] = scalar;
this.v[2] = scalar;
this.v[3] = scalar;
this.v[4] = scalar;
this.v[5] = scalar;
this.v[6] = scalar;
return this;
}

public Tuple7f set(double scalar)
{
this.values[0] = (float)scalar;
this.values[1] = (float)scalar;
this.values[2] = (float)scalar;
this.values[3] = (float)scalar;
this.values[4] = (float)scalar;
this.values[5] = (float)scalar;
this.values[6] = (float)scalar;
this.v[0] = (float)scalar;
this.v[1] = (float)scalar;
this.v[2] = (float)scalar;
this.v[3] = (float)scalar;
this.v[4] = (float)scalar;
this.v[5] = (float)scalar;
this.v[6] = (float)scalar;
return this;
}

public Tuple7f set(float... values)
public Tuple7f set(float v0, float v1, float v2, float v3, float v4, float v5, float v6)
{
this.values[0] = values[0];
this.values[1] = values[1];
this.values[2] = values[2];
this.values[3] = values[3];
this.values[4] = values[4];
this.values[5] = values[5];
this.values[6] = values[6];
this.v[0] = v0;
this.v[1] = v1;
this.v[2] = v2;
this.v[3] = v3;
this.v[4] = v4;
this.v[5] = v5;
this.v[6] = v6;
return this;
}

public Tuple7f set(double... values)
public Tuple7f set(double v0, double v1, double v2, double v3, double v4, double v5, double v6)
{
this.values[0] = (float)values[0];
this.values[1] = (float)values[1];
this.values[2] = (float)values[2];
this.values[3] = (float)values[3];
this.values[4] = (float)values[4];
this.values[5] = (float)values[5];
this.values[6] = (float)values[6];
this.v[0] = (float)v0;
this.v[1] = (float)v1;
this.v[2] = (float)v2;
this.v[3] = (float)v3;
this.v[4] = (float)v4;
this.v[5] = (float)v5;
this.v[6] = (float)v6;
return this;
}

public Tuple7f set(int index, float value) { this.values[index] = value; return this; }
public Tuple7f set(int index, float value) { this.v[index] = value; return this; }

public Tuple7f set(int index, double value) { this.values[index] = (float)value; return this; }
public Tuple7f set(int index, double value) { this.v[index] = (float)value; return this; }
}
@@ -9,8 +9,8 @@ public interface Tup2d extends Tup2dBase
Tup2d set(Tup2dBase t);
Tup2d set(float scalar);
Tup2d set(double scalar);
Tup2d set(float... values);
Tup2d set(double... values);
Tup2d set(float v0, float v1);
Tup2d set(double v0, double v1);

Tup2d set(int index, float value);
Tup2d set(int index, double value);
@@ -8,8 +8,8 @@ public interface Tup2f extends Tup2fBase
Tup2f set(Tup2dBase t);
Tup2f set(float scalar);
Tup2f set(double scalar);
Tup2f set(float... values);
Tup2f set(double... values);
Tup2f set(float v0, float v1);
Tup2f set(double v0, double v1);

Tup2f set(int index, float value);
Tup2f set(int index, double value);
@@ -9,8 +9,8 @@ public interface Tup3d extends Tup3dBase
Tup3d set(Tup3dBase t);
Tup3d set(float scalar);
Tup3d set(double scalar);
Tup3d set(float... values);
Tup3d set(double... values);
Tup3d set(float v0, float v1, float v2);
Tup3d set(double v0, double v1, double v2);

Tup3d set(int index, float value);
Tup3d set(int index, double value);
@@ -9,8 +9,8 @@ public interface Tup3f extends Tup3fBase
Tup3f set(Tup3dBase t);
Tup3f set(float scalar);
Tup3f set(double scalar);
Tup3f set(float... values);
Tup3f set(double... values);
Tup3f set(float v0, float v1, float v2);
Tup3f set(double v0, double v1, double v2);

Tup3f set(int index, float value);
Tup3f set(int index, double value);
@@ -9,8 +9,8 @@ public interface Tup4d extends Tup4dBase
Tup4d set(Tup4dBase t);
Tup4d set(float scalar);
Tup4d set(double scalar);
Tup4d set(float... values);
Tup4d set(double... values);
Tup4d set(float v0, float v1, float v2, float v3);
Tup4d set(double v0, double v1, double v2, double v3);

Tup4d set(int index, float value);
Tup4d set(int index, double value);
@@ -5,7 +5,7 @@
/** Returns the count of Dimensions of the Vector. */
default int getDimensions() { return 4; }

float get(int index);
double get(int index);

Tup4d clone();
}
@@ -9,8 +9,8 @@ public interface Tup4f extends Tup4fBase
Tup4f set(Tup4dBase t);
Tup4f set(float scalar);
Tup4f set(double scalar);
Tup4f set(float... values);
Tup4f set(double... values);
Tup4f set(float v0, float v1, float v2, float v3);
Tup4f set(double v0, double v1, double v2, double v3);

Tup4f set(int index, float value);
Tup4f set(int index, double value);
@@ -9,8 +9,8 @@ public interface Tup5d extends Tup5dBase
Tup5d set(Tup5dBase t);
Tup5d set(float scalar);
Tup5d set(double scalar);
Tup5d set(float... values);
Tup5d set(double... values);
Tup5d set(float v0, float v1, float v2, float v3, float v4);
Tup5d set(double v0, double v1, double v2, double v3, double v4);

Tup5d set(int index, float value);
Tup5d set(int index, double value);
@@ -5,7 +5,7 @@
/** Returns the count of Dimensions of the Vector. */
default int getDimensions() { return 5; }

float get(int index);
double get(int index);

Tup5d clone();
}
@@ -9,8 +9,8 @@ public interface Tup5f extends Tup5fBase
Tup5f set(Tup5dBase t);
Tup5f set(float scalar);
Tup5f set(double scalar);
Tup5f set(float... values);
Tup5f set(double... values);
Tup5f set(float v0, float v1, float v2, float v3, float v4);
Tup5f set(double v0, double v1, double v2, double v3, double v4);

Tup5f set(int index, float value);
Tup5f set(int index, double value);
@@ -9,8 +9,8 @@ public interface Tup6d extends Tup6dBase
Tup6d set(Tup6dBase t);
Tup6d set(float scalar);
Tup6d set(double scalar);
Tup6d set(float... values);
Tup6d set(double... values);
Tup6d set(float v0, float v1, float v2, float v3, float v4, float v5);
Tup6d set(double v0, double v1, double v2, double v3, double v4, double v5);

Tup6d set(int index, float value);
Tup6d set(int index, double value);
@@ -5,7 +5,7 @@
/** Returns the count of Dimensions of the Vector. */
default int getDimensions() { return 6; }

float get(int index);
double get(int index);

Tup6f clone();
}
@@ -5,12 +5,12 @@ public interface Tup6f extends Tup6fBase

Tup6f setZero();

Tup6f set(Tup3fBase t);
Tup6f set(Tup3dBase t);
Tup6f set(Tup6fBase t);
Tup6f set(Tup6dBase t);
Tup6f set(float scalar);
Tup6f set(double scalar);
Tup6f set(float... values);
Tup6f set(double... values);
Tup6f set(float v0, float v1, float v2, float v3, float v4, float v5);
Tup6f set(double v0, double v1, double v2, double v3, double v4, double v5);

Tup6f set(int index, float value);
Tup6f set(int index, double value);
@@ -9,8 +9,8 @@ public interface Tup7d extends Tup7dBase
Tup7d set(Tup7dBase t);
Tup7d set(float scalar);
Tup7d set(double scalar);
Tup7d set(float... values);
Tup7d set(double... values);
Tup7d set(float v0, float v1, float v2, float v3, float v4, float v5, float v6);
Tup7d set(double v0, double v1, double v2, double v3, double v4, double v5, double v6);

Tup7d set(int index, float value);
Tup7d set(int index, double value);
@@ -5,7 +5,7 @@
/** Returns the count of Dimensions of the Vector. */
default int getDimensions() { return 7; }

float get(int index);
double get(int index);

Tup7d clone();
}
@@ -9,8 +9,8 @@ public interface Tup7f extends Tup7fBase
Tup7f set(Tup7dBase t);
Tup7f set(float scalar);
Tup7f set(double scalar);
Tup7f set(float... values);
Tup7f set(double... values);
Tup7f set(float v0, float v1, float v2, float v3, float v4, float v5, float v6);
Tup7f set(double v0, double v1, double v2, double v3, double v4, double v5, double v6);

Tup7f set(int index, float value);
Tup7f set(int index, double value);
@@ -159,12 +159,6 @@ public double get(int index)
/** {@inheritDoc} */
public Vector2d set(double x, double y) { this.x = (float)x; this.y = (float)y; return this; }

/** {@inheritDoc} */
public Vector2d set(float... values) { this.x = values[0]; this.y = values[1]; return this; }

/** {@inheritDoc} */
public Vector2d set(double... values) { this.x = (float)values[0]; this.y = (float)values[1]; return this; }



/** {@inheritDoc} */
@@ -159,12 +159,6 @@ public float get(int index)
/** {@inheritDoc} */
public Vector2f set(double x, double y) { this.x = (float)x; this.y = (float)y; return this; }

/** {@inheritDoc} */
public Vector2f set(float... values) { this.x = values[0]; this.y = values[1]; return this; }

/** {@inheritDoc} */
public Vector2f set(double... values) { this.x = (float)values[0]; this.y = (float)values[1]; return this; }



/** {@inheritDoc} */
@@ -165,11 +165,6 @@ public double get(int index)
/** {@inheritDoc} */
public Vector3d set(double x, double y, double z) { this.x = x; this.y = y; this.z = z; return this; }

/** {@inheritDoc} */
public Vector3d set(float... values) { this.x = values[0]; this.y = values[1]; this.z = values[2]; return this; }

/** {@inheritDoc} */
public Vector3d set(double... values) { this.x = (float)values[0]; this.y = (float)values[1]; this.z = (float)values[2]; return this; }


/** {@inheritDoc} */
@@ -164,12 +164,6 @@ public float get(int index)
/** {@inheritDoc} */
public Vector3f set(double x, double y, double z) { this.x = (float)x; this.y = (float)y; this.z = (float)z; return this; }

/** {@inheritDoc} */
public Vector3f set(float... values) { this.x = values[0]; this.y = values[1]; this.z = values[2]; return this; }

/** {@inheritDoc} */
public Vector3f set(double... values) { this.x = (float)values[0]; this.y = (float)values[1]; this.z = (float)values[2]; return this; }



/** {@inheritDoc} */