public static global::glm.Mat2 invert(global::glm.Mat2 src, global::glm.Mat2 dest) { double det = ((src._00 * src._11) - (src._10 * src._01)); if ((global::System.Math.Abs(((double)(det))) < global::glm.GLM.EPSILON)) { throw global::haxe.lang.HaxeException.wrap("determinant is too small"); } double invdet = (1.0 / det); global::glm.Mat2 _s = src; if ((src == dest)) { global::glm.Mat2 dest1 = new global::glm.Mat2(default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>)); dest1._00 = src._00; dest1._10 = src._10; dest1._01 = src._01; dest1._11 = src._11; _s = dest1; } dest._00 = (_s._11 * invdet); dest._10 = (-(_s._10) * invdet); dest._01 = (-(_s._01) * invdet); dest._11 = (_s._00 * invdet); return(dest); }
public static global::glm.Mat2 copy(global::glm.Mat2 src, global::glm.Mat2 dest) { dest._00 = src._00; dest._10 = src._10; dest._01 = src._01; dest._11 = src._11; return(dest); }
public static global::glm.Vec2 multVec(global::glm.Mat2 m, global::glm.Vec2 v, global::glm.Vec2 dest) { double x = v.x; double y = v.y; dest.x = ((m._00 * x) + (m._10 * y)); dest.y = ((m._01 * x) + (m._11 * y)); return(dest); }
public static global::glm.Mat2 transpose(global::glm.Mat2 src, global::glm.Mat2 dest) { double src_r1c0 = src._01; dest._00 = src._00; dest._01 = src._10; dest._10 = src_r1c0; dest._11 = src._11; return(dest); }
public static global::glm.Mat2 identity(global::glm.Mat2 dest) { unchecked { dest._00 = ((double)(1)); dest._10 = ((double)(0)); dest._01 = ((double)(0)); dest._11 = ((double)(1)); return(dest); } }
public static global::glm.Vec2 multVecOp(global::glm.Mat2 m, global::glm.Vec2 v) { global::glm.Vec2 dest = new global::glm.Vec2(default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>)); double x = v.x; double y = v.y; dest.x = ((m._00 * x) + (m._10 * y)); dest.y = ((m._01 * x) + (m._11 * y)); return(dest); }
public static void __hx_ctor_glm_Mat2(global::glm.Mat2 __hx_this, global::haxe.lang.Null <double> _r0c0, global::haxe.lang.Null <double> _r0c1, global::haxe.lang.Null <double> _r1c0, global::haxe.lang.Null <double> _r1c1) { double __temp__r1c111 = ((!(_r1c1.hasValue)) ? (((double)(0))) : ((_r1c1).@value)); double __temp__r1c010 = ((!(_r1c0.hasValue)) ? (((double)(0))) : ((_r1c0).@value)); double __temp__r0c19 = ((!(_r0c1.hasValue)) ? (((double)(0))) : ((_r0c1).@value)); double __temp__r0c08 = ((!(_r0c0.hasValue)) ? (((double)(0))) : ((_r0c0).@value)); __hx_this._00 = __temp__r0c08; __hx_this._01 = __temp__r1c010; __hx_this._10 = __temp__r0c19; __hx_this._11 = __temp__r1c111; }
public static global::glm.Mat2 multMatOp(global::glm.Mat2 a, global::glm.Mat2 b) { global::glm.Mat2 dest = new global::glm.Mat2(default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>)); global::glm.Mat2 _a = null; global::glm.Mat2 _b = null; if ((dest == a)) { global::glm.Mat2 dest1 = new global::glm.Mat2(default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>)); dest1._00 = a._00; dest1._10 = a._10; dest1._01 = a._01; dest1._11 = a._11; _a = dest1; _b = b; } else if ((dest == b)) { _a = a; global::glm.Mat2 dest2 = new global::glm.Mat2(default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>)); dest2._00 = b._00; dest2._10 = b._10; dest2._01 = b._01; dest2._11 = b._11; _b = dest2; } else { _a = a; _b = b; } dest._00 = ((_a._00 * _b._00) + (_a._10 * _b._01)); dest._10 = ((_a._00 * _b._10) + (_a._10 * _b._11)); dest._01 = ((_a._01 * _b._00) + (_a._11 * _b._01)); dest._11 = ((_a._01 * _b._10) + (_a._11 * _b._11)); return(dest); }
public static double determinant(global::glm.Mat2 src) { return((src._00 * src._11) - (src._10 * src._01)); }
public bool @equals(global::glm.Mat2 b) { return(!((((((global::System.Math.Abs(((double)((this._00 - b._00)))) >= global::glm.GLM.EPSILON) || (global::System.Math.Abs(((double)((this._10 - b._10)))) >= global::glm.GLM.EPSILON)) || (global::System.Math.Abs(((double)((this._01 - b._01)))) >= global::glm.GLM.EPSILON)) || (global::System.Math.Abs(((double)((this._11 - b._11)))) >= global::glm.GLM.EPSILON))))); }