struct FourSquares::Hurwitz

Included Modules

Defined in:

four_squares/hurwitz.cr

Constant Summary

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

Instance Method Summary

Constructor Detail

def self.new(r, i = 0, j = 0, k = 0, doubled = false) #

[View source]

Instance Method Detail

def %(o : Hurwitz) #

[View source]
def *(o : Hurwitz) #

[View source]
def +(o : Hurwitz) #

[View source]
def -(o : Hurwitz) #

[View source]
def //(o : Hurwitz) #

[View source]
def <=>(o : Hurwitz) #
Description copied from module Comparable(FourSquares::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]

[View source]
def abs2 #

[View source]
def i : BigInt #

[View source]
def i=(i : BigInt) #

[View source]
def inspect(io : IO) #
Description copied from struct Struct

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)"

[View source]
def inverse #

[View source]
def j : BigInt #

[View source]
def j=(j : BigInt) #

[View source]
def k : BigInt #

[View source]
def k=(k : BigInt) #

[View source]
def r : BigInt #

[View source]
def r=(r : BigInt) #

[View source]
def to_lipschitz #

[View source]
def to_s(io : IO) #
Description copied from struct Struct

Same as #inspect(io).


[View source]
def to_sorted_abs_tuple #

[View source]