Files
hak/src/Magnitude.hak

21 lines
661 B
Plaintext
Raw Normal View History

2024-10-21 23:56:58 +09:00
class Magnitude: Object {
##fun < (oprnd) { self subclassResponsibility: #< }
fun < (oprnd) { return (self:subclassResponsibility #<) }
fun > (oprnd) { return (oprnd < self) }
fun <= (oprnd) { return ((oprnd < self):not) }
fun >= (oprnd) { return ((self < oprnd):not) }
}
class(#limited) Number: Magnitude {
fun + (oprnd) { return (+ self oprnd) }
fun - (oprnd) { return (- self oprnd) }
fun * (oprnd) { return (* self oprnd) }
fun / (oprnd) { return (/ self oprnd) }
##fun > (oprnd) { return (> self oprnd) }
##fun < (oprnd) { return (< self oprnd) }
##fun >= (oprnd) { return (>= self oprnd) }
##fun <= (oprnd) { return (<= self oprnd) }
}