Michał Kalinowski
12/26/2019, 10:23 AMNumber
operators and now I want make generics Point
that will also overload operators based on Number
, f.e result of Point<Float> + Point<Float>
should be Point<Float>
but recently is Point<in Float>
:<
data class Point<Unit : Number>(val x: Unit, val y: Unit, val z: Unit) {
operator fun plus(increment: Point<Unit>): Point<in Unit> {
return Point(x + increment.x, y + increment.y, z + increment.z)
}
operator fun minus(increment: Point<Unit>): Point<in Unit> {
return Point(x - increment.x, y - increment.y, z - increment.z)
}
operator fun times(increment: Point<Unit>): Point<in Unit> {
return Point(x * increment.x, y * increment.y, z * increment.z)
}
operator fun div(increment: Point<Unit>): Point<in Unit> {
return Point(x / increment.x, y / increment.y, z / increment.z)
}
}
Dico
12/26/2019, 12:24 PMin
from the type declarations and it should work.Michał Kalinowski
12/26/2019, 3:01 PMDico
12/26/2019, 3:51 PMStavFX
12/26/2019, 6:58 PM