private static __mnnt__ Mgs(__mnnt__ m) { //# for (int j = 1; j < n; j++) { //# for (int k = 0; k < j; k++) { m.C__j__ -= (Vec.Dot(m.C__k__, m.C__j__) / Vec.Dot(m.C__k__, m.C__k__)) * m.C__k__; //# } //# } return(m); }
private static __mnnt__ MgsNorm(__mnnt__ m) { m.C0 = m.C0.Normalized; //# for (int j = 1; j < n; j++) { //# for (int k = 0; k < j; k++) { m.C__j__ -= (Vec.Dot(m.C__k__, m.C__j__) / Vec.Dot(m.C__k__, m.C__k__)) * m.C__k__; //# } m.C__j__ = m.C__j__.Normalized; //# } return(m); }
public __type__(__mnnt__ linear) { Debug.Assert(linear.Invertible); Linear = linear; Trans = __vnt__.Zero; }
public __type__(__mnnt__ linear, /*# nfields.ForEach(f => { */ __ftype__ t__f__ /*# }, comma); */) { Debug.Assert(linear.Invertible); Linear = linear; Trans = new __vnt__(/*# nfields.ForEach(f => { */ t__f__ /*# }, comma); */); }
public __type__(__mnnt__ linear, __vnt__ translation) { Debug.Assert(linear.Invertible); Linear = linear; Trans = translation; }
public __type__(__type__ affine) { Linear = affine.Linear; Trans = affine.Trans; }