funny colours (world)

This commit is contained in:
2024-08-30 01:58:52 +10:00
parent c5dd2caf48
commit cc936248e5
5 changed files with 62 additions and 5 deletions

View File

@ -10,4 +10,13 @@ public extension FloatingPoint {
@inline(__always) func smoothStep() -> Self { self * self * (3 - 2 * self) }
@inline(__always) func smootherStep() -> Self { self * self * self * (self * (self * 6 - 15) + 10) }
@inline(__always) func euclidianMod(_ divisor: Self) -> Self { self.floorMod(abs(divisor)) }
@inline(__always) func floorMod(_ divisor: Self) -> Self {
//fmod(fmod(self, divisor) + divisor, divisor)
(self.truncateMod(divisor) + divisor).truncateMod(divisor)
}
@inline(__always) func truncateMod(_ divisor: Self) -> Self {
self.truncatingRemainder(dividingBy: divisor)
}
}

View File

@ -0,0 +1,12 @@
public extension BinaryInteger {
@inline(__always) func euclidianMod(_ divisor: Self) -> Self {
self.floorMod(divisor < 0 ? divisor * -1 : divisor)
}
@inline(__always) func floorMod(_ divisor: Self) -> Self {
//(self % divisor + divisor) % divisor
(self.truncateMod(divisor) + divisor).truncateMod(divisor)
}
@inline(__always) func truncateMod(_ divisor: Self) -> Self {
self.quotientAndRemainder(dividingBy: divisor).remainder
}
}