public static idVecX operator -(idVecX a) { idVecX m = new idVecX(); m.SetTempSize(a.size); for (int i = 0; i < a.size; i++) m.p[i] = -m.p[i]; return m; }
public static idVecX operator -(idVecX a) { idVecX m = new idVecX(); m.SetTempSize(a.size); for (int i = 0; i < a.size; i++) { m.p[i] = -m.p[i]; } return(m); }
public static idVecX operator *(idVecX a, float b) { idVecX m = new idVecX(); m.SetTempSize(a.size); #if VECX_SIMD SIMDProcessor.Mul16(m.p, p, a, size); #else for (int i = 0; i < a.size; i++) m.p[i] = a.p[i] * b; #endif return m; }
public static idVecX operator -(idVecX a, idVecX b) { Debug.Assert(a.size == b.size); idVecX m = new idVecX(); m.SetTempSize(a.size); #if VECX_SIMD SIMDProcessor.Sub16(m.p, p, a.p, size); #else for (int i = 0; i < a.size; i++) m.p[i] = a.p[i] - b.p[i]; #endif return m; }
public static idVecX operator *(idVecX a, float b) { idVecX m = new idVecX(); m.SetTempSize(a.size); #if VECX_SIMD SIMDProcessor.Mul16(m.p, p, a, size); #else for (int i = 0; i < a.size; i++) { m.p[i] = a.p[i] * b; } #endif return(m); }
public static idVecX operator +(idVecX a, idVecX b) { Debug.Assert(a.size == b.size); idVecX m = new idVecX(); m.SetTempSize(a.size); #if VECX_SIMD SIMDProcessor.Add16(m.p, a.p, b.p, a.size); #else for (int i = 0; i < a.size; i++) { m.p[i] = a.p[i] + b.p[i]; } #endif return(m); }
public idVecX Normalize() { idVecX m = new idVecX(); float sum = 0.0f; m.SetTempSize(size); for (int i = 0; i < size; i++) { sum += p[i] * p[i]; } float invSqrt = idMath.InvSqrt(sum); for (int i = 0; i < size; i++) { m.p[i] = p[i] * invSqrt; } return(m); }
public idVecX Normalize() { idVecX m = new idVecX(); float sum = 0.0f; m.SetTempSize(size); for (int i = 0; i < size; i++) sum += p[i] * p[i]; float invSqrt = idMath.InvSqrt(sum); for (int i = 0; i < size; i++) m.p[i] = p[i] * invSqrt; return m; }