FourSquares::Hurwitz
Inherits Comparable < Struct < Value < Object
Constants
D = (0..15).map do |i| new(i & 1, (i & 2) // 2, (i & 4) // 4, (i & 8) // 8) end << (new(1, 1, 1, 1, true))
Constructors
new(r, i = 0, j = 0, k = 0, doubled = false)
SourceInstance methods
%(o : Hurwitz)
Source*(o : Hurwitz)
Source+(o : Hurwitz)
Source-(o : Hurwitz)
Source//(o : Hurwitz)
Source<=>(o : Hurwitz)
The comparison operator. Returns 0 if the two objects are equal,
a negative number if this object is considered less than other,
a positive number if this object is considered greater than other,
or nil if the two objects are not comparable.
Subclasses define this method to provide class-specific ordering.
The comparison operator is usually used to sort values:
# Sort in a descending way:
[3, 1, 2].sort { |x, y| y <=> x } # => [3, 2, 1]
# Sort in an ascending way:
[3, 1, 2].sort { |x, y| x <=> y } # => [1, 2, 3]
abs2
Sourcei=(i : BigInt)
Sourceinspect(io : IO)
Appends this struct's name and instance variables names and values to the given IO.
struct Point
def initialize(@x : Int32, @y : Int32)
end
end
p1 = Point.new 1, 2
p1.to_s # "Point(@x=1, @y=2)"
p1.inspect # "Point(@x=1, @y=2)"
inverse
Sourcej=(j : BigInt)
Sourcek=(k : BigInt)
Sourcer=(r : BigInt)
Sourceto_lipschitz
Sourceto_sorted_abs_tuple
Source