diff --git a/Math/Math/Vector.swift b/Math/Math/Vector.swift index 9fbabf9..069a675 100644 --- a/Math/Math/Vector.swift +++ b/Math/Math/Vector.swift @@ -107,18 +107,8 @@ public struct Vector3: Vector { data[2] = value } } - - // MARK: Operators - - public func cross(rhs: Vector3) -> Vector3 { - return Vector3(x: data[1] * rhs.data[2] - data[2] * rhs.data[1], - y: data[2] * rhs.data[0] - data[0] * rhs.data[2], - z: data[0] * rhs.data[1] - data[1] * rhs.data[0]) - } } -//------------------------------------------------------------------------------ - public struct Vector4: Vector { private var data: [Float] @@ -180,6 +170,14 @@ extension Vector { } } +extension Vector3 { + public func cross(rhs: Vector3) -> Vector3 { + return Vector3(x: data[1] * rhs.data[2] - data[2] * rhs.data[1], + y: data[2] * rhs.data[0] - data[0] * rhs.data[2], + z: data[0] * rhs.data[1] - data[1] * rhs.data[0]) + } +} + public prefix func -(v: T) -> T { var out = v for i in 0..