コード例 #1
0
 public static F64 Dot(F64Vec3 a, F64Vec3 b)
 {
     return(F64.FromRaw(Fixed64.Mul(a.RawX, b.RawX) + Fixed64.Mul(a.RawY, b.RawY) + Fixed64.Mul(a.RawZ, b.RawZ)));
 }
コード例 #2
0
 public static F64Vec3 NormalizeFastest(F64Vec3 a)
 {
     F64 ooLen = F64.FromRaw(Fixed64.RSqrtFastest(Fixed64.Mul(a.RawX, a.RawX) + Fixed64.Mul(a.RawY, a.RawY) + Fixed64.Mul(a.RawZ, a.RawZ))); return(ooLen * a);
 }
コード例 #3
0
 public static F64 LengthSqr(F64Vec3 a)
 {
     return(F64.FromRaw(Fixed64.Mul(a.RawX, a.RawX) + Fixed64.Mul(a.RawY, a.RawY) + Fixed64.Mul(a.RawZ, a.RawZ)));
 }
コード例 #4
0
 public static F64Vec2 Normalize(F64Vec2 a)
 {
     F64 ooLen = F64.FromRaw(Fixed64.RSqrt(Fixed64.Mul(a.RawX, a.RawX) + Fixed64.Mul(a.RawY, a.RawY))); return(ooLen * a);
 }
コード例 #5
0
 public static F64 LengthFastest(F64Vec2 a)
 {
     return(F64.FromRaw(Fixed64.SqrtFastest(Fixed64.Mul(a.RawX, a.RawX) + Fixed64.Mul(a.RawY, a.RawY))));
 }
コード例 #6
0
 public static F64 LengthFast(F64Vec4 a)
 {
     return(F64.FromRaw(Fixed64.SqrtFast(Fixed64.Mul(a.RawX, a.RawX) + Fixed64.Mul(a.RawY, a.RawY) + Fixed64.Mul(a.RawZ, a.RawZ) + Fixed64.Mul(a.RawW, a.RawW))));
 }