mirror of
https://github.com/GayPizzaSpecifications/voxelotl-engine.git
synced 2025-08-03 13:11:33 +00:00
organise maths helpers
This commit is contained in:
10
Sources/Voxelotl/Math/FloatExtensions.swift
Normal file
10
Sources/Voxelotl/Math/FloatExtensions.swift
Normal file
@ -0,0 +1,10 @@
|
||||
public extension FloatingPoint {
|
||||
@inline(__always) var degrees: Self { self * (180 / Self.pi) }
|
||||
@inline(__always) var radians: Self { self * (Self.pi / 180) }
|
||||
|
||||
@inline(__always) func lerp(_ a: Self, _ b: Self) -> Self { b * self + a * (1 - self) }
|
||||
@inline(__always) func mlerp(_ a: Self, _ b: Self) -> Self { a + (b - a) * self }
|
||||
|
||||
@inline(__always) func clamp(_ a: Self, _ b: Self) -> Self { min(max(self, a), b) }
|
||||
@inline(__always) var saturated: Self { self.clamp(0, 1) }
|
||||
}
|
Reference in New Issue
Block a user