62 lines
1.9 KiB
Swift
Executable File
62 lines
1.9 KiB
Swift
Executable File
//
|
|
// Swiftfin is subject to the terms of the Mozilla Public
|
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
// file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
|
//
|
|
// Copyright (c) 2022 Jellyfin & Jellyfin Contributors
|
|
//
|
|
|
|
import Foundation
|
|
|
|
func + (lhs: (Float, Float, Float), rhs: (Float, Float, Float)) -> (Float, Float, Float) {
|
|
return (lhs.0 + rhs.0, lhs.1 + rhs.1, lhs.2 + rhs.2)
|
|
}
|
|
|
|
func - (lhs: (Float, Float, Float), rhs: (Float, Float, Float)) -> (Float, Float, Float) {
|
|
return (lhs.0 - rhs.0, lhs.1 - rhs.1, lhs.2 - rhs.2)
|
|
}
|
|
|
|
func * (lhs: (Float, Float, Float), rhs: (Float, Float, Float)) -> (Float, Float, Float) {
|
|
return (lhs.0 * rhs.0, lhs.1 * rhs.1, lhs.2 * rhs.2)
|
|
}
|
|
|
|
func * (lhs: (Float, Float, Float), rhs: Float) -> (Float, Float, Float) {
|
|
return (lhs.0 * rhs, lhs.1 * rhs, lhs.2 * rhs)
|
|
}
|
|
|
|
func * (lhs: Float, rhs: (Float, Float, Float)) -> (Float, Float, Float) {
|
|
return (lhs * rhs.0, lhs * rhs.1, lhs * rhs.2)
|
|
}
|
|
|
|
func / (lhs: (Float, Float, Float), rhs: (Float, Float, Float)) -> (Float, Float, Float) {
|
|
return (lhs.0 / rhs.0, lhs.1 / rhs.1, lhs.2 / rhs.2)
|
|
}
|
|
|
|
func / (lhs: (Float, Float, Float), rhs: Float) -> (Float, Float, Float) {
|
|
return (lhs.0 / rhs, lhs.1 / rhs, lhs.2 / rhs)
|
|
}
|
|
|
|
func += (lhs: inout (Float, Float, Float), rhs: (Float, Float, Float)) {
|
|
lhs = lhs + rhs
|
|
}
|
|
|
|
func -= (lhs: inout (Float, Float, Float), rhs: (Float, Float, Float)) {
|
|
lhs = lhs - rhs
|
|
}
|
|
|
|
func *= (lhs: inout (Float, Float, Float), rhs: Float) {
|
|
lhs = lhs * rhs
|
|
}
|
|
|
|
func /= (lhs: inout (Float, Float, Float), rhs: Float) {
|
|
lhs = lhs / rhs
|
|
}
|
|
|
|
func min(_ a: (Float, Float, Float), _ b: (Float, Float, Float)) -> (Float, Float, Float) {
|
|
return (min(a.0, b.0), min(a.1, b.1), min(a.2, b.2))
|
|
}
|
|
|
|
func max(_ a: (Float, Float, Float), _ b: (Float, Float, Float)) -> (Float, Float, Float) {
|
|
return (max(a.0, b.0), max(a.1, b.1), max(a.2, b.2))
|
|
}
|