package speiger.src.coreengine.math.vector.doubles; import java.nio.DoubleBuffer; import speiger.src.coreengine.math.vector.Vec; import speiger.src.coreengine.math.vector.bytes.Vecb; import speiger.src.coreengine.math.vector.floats.Vecf; import speiger.src.coreengine.math.vector.ints.Veci; import speiger.src.coreengine.math.vector.longs.Vecl; import speiger.src.coreengine.math.vector.shorts.Vecs; public interface Vecd extends Vec { public Vecd set(double value); public Vecd add(double value); public Vecd sub(double value); public Vecd multiply(double value); public Vecd devide(double value); public Vecd clamp(double min, double max); public Vecd clamp(double min, double max, int filter); public double lengthSquared(); public default double length(){return Math.sqrt(lengthSquared());} public Vecd store(DoubleBuffer buffer); public Vecd load(DoubleBuffer buffer); public double[] asArray(); public Vecb asByte(); public Vecs asShort(); public Veci asInt(); public Vecl asLong(); public Vecf asFloat(); }