Int
Inherits Comparable < Comparable < Comparable < Number < Comparable < Steppable < Comparable < Value < Object
Ruby gets 2 + expr from Integer#coerce. Crystal has no such protocol, so every
reversed operator has to be spelled out - one per Crystal type which can be cast
into the sort on the other side.
Instance methods
!=(other : Z3::BitvecExpr)
Source!=(other : Z3::IntExpr)
Source!=(other : Z3::RealExpr)
Source!=(other : Z3::FloatExpr)
Source&(other : Z3::BitvecExpr)
Source*(other : Z3::BitvecExpr)
Source*(other : Z3::IntExpr)
Source*(other : Z3::RealExpr)
Source+(other : Z3::BitvecExpr)
A Bitvec literal takes its size from the expression it's paired with, and the comparisons are all sign-dependent, so they're #signed_lt and friends only
+(other : Z3::IntExpr)
Source+(other : Z3::RealExpr)
Source-(other : Z3::BitvecExpr)
Source-(other : Z3::IntExpr)
Source-(other : Z3::RealExpr)
Source/(other : Z3::IntExpr)
Source/(other : Z3::RealExpr)
Source<(other : Z3::IntExpr)
Source<(other : Z3::RealExpr)
Source<(other : Z3::FloatExpr)
Source<=(other : Z3::IntExpr)
Source<=(other : Z3::RealExpr)
Source<=(other : Z3::FloatExpr)
Source==(other : Z3::BitvecExpr)
Source==(other : Z3::IntExpr)
Source==(other : Z3::RealExpr)
Source==(other : Z3::FloatExpr)
A Float literal takes its sort from the expression it's paired with. There's no
arithmetic here because Float arithmetic needs a rounding mode, so it's spelled
expr.add(1.5, mode) and never 1.5 + expr.
>(other : Z3::IntExpr)
Source>(other : Z3::RealExpr)
Source>(other : Z3::FloatExpr)
Source>=(other : Z3::IntExpr)
Source>=(other : Z3::RealExpr)
Source>=(other : Z3::FloatExpr)
Source^(other : Z3::BitvecExpr)
Source|(other : Z3::BitvecExpr)
Source