100 lines
1.8 KiB
Plaintext
100 lines
1.8 KiB
Plaintext
# Comparison operators
|
|
import values;
|
|
|
|
|
|
operator `is`*[T: any](a, b: T): bool {
|
|
#pragma[magic: "Identity", pure]
|
|
}
|
|
|
|
|
|
operator `>`*[T: UnsignedInteger](a, b: T): bool {
|
|
#pragma[magic: "GreaterThan", pure]
|
|
}
|
|
|
|
|
|
operator `<`*[T: UnsignedInteger](a, b: T): bool {
|
|
#pragma[magic: "LessThan", pure]
|
|
}
|
|
|
|
|
|
operator `==`*[T: Number | inf | bool](a, b: T): bool {
|
|
#pragma[magic: "Equal", pure]
|
|
}
|
|
|
|
|
|
operator `!=`*[T: Number | inf](a, b: T): bool {
|
|
#pragma[magic: "NotEqual", pure]
|
|
}
|
|
|
|
|
|
operator `>=`*[T: UnsignedInteger](a, b: T): bool {
|
|
#pragma[magic: "GreaterOrEqual", pure]
|
|
}
|
|
|
|
|
|
operator `<=`*[T: UnsignedInteger](a, b: T): bool {
|
|
#pragma[magic: "LessOrEqual", pure]
|
|
}
|
|
|
|
|
|
operator `>`*[T: SignedInteger](a, b: T): bool {
|
|
#pragma[magic: "SignedGreaterThan", pure]
|
|
}
|
|
|
|
|
|
operator `<`*[T: SignedInteger](a, b: T): bool {
|
|
#pragma[magic: "SignedLessThan", pure]
|
|
}
|
|
|
|
|
|
operator `>=`*[T: SignedInteger](a, b: T): bool {
|
|
#pragma[magic: "SignedGreaterOrEqual", pure]
|
|
}
|
|
|
|
|
|
operator `<=`*[T: SignedInteger](a, b: T): bool {
|
|
#pragma[magic: "SignedLessOrEqual", pure]
|
|
}
|
|
|
|
|
|
operator `>`*(a, b: float64): bool {
|
|
#pragma[magic: "Float64GreaterThan", pure]
|
|
}
|
|
|
|
|
|
operator `<`*(a, b: float64): bool {
|
|
#pragma[magic: "Float64LessThan", pure]
|
|
}
|
|
|
|
|
|
operator `>=`*(a, b: float64): bool {
|
|
#pragma[magic: "Float64GreaterOrEqual", pure]
|
|
}
|
|
|
|
|
|
operator `<=`*(a, b: float64): bool {
|
|
#pragma[magic: "Float64LessOrEqual", pure]
|
|
}
|
|
|
|
|
|
operator `>`*(a, b: float32): bool {
|
|
#pragma[magic: "Float32GreaterThan", pure]
|
|
}
|
|
|
|
|
|
operator `<`*(a, b: float32): bool {
|
|
#pragma[magic: "Float32LessThan", pure]
|
|
}
|
|
|
|
|
|
operator `>=`*(a, b: float32): bool {
|
|
#pragma[magic: "Float32GreaterOrEqual", pure]
|
|
}
|
|
|
|
|
|
operator `<=`*(a, b: float32): bool {
|
|
#pragma[magic: "Float32LessOrEqual", pure]
|
|
}
|
|
|
|
|