# 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] }