class FatRat is Cool does Rational[Int, Int] {}

A FatRat is a rational number stored with arbitrary size numerator and denominator. Arithmetic operations involving a FatRat and optionally Int or Rat objects return a FatRat, avoiding loss of precision.

Since, unlike Rat, FatRat arithmetics do not fall back Num at some point, there is a risk that repeated arithmetic operations generate pathologically large numerators and denominators.

There are two common ways to generate FatRat objects: through the FatRat.new(Int, Int) constructor, which generates them from numerator and denominator, or by calling the .FatRat method on an Int or Rat object.

Methods§

method raku§

multi method raku(FatRat:D: --> Str:D)

Returns an implementation-specific string that produces an equivalent object when given to EVAL.

say FatRat.new(1, 2).raku; # OUTPUT: «FatRat.new(1, 2)␤»

Typegraph§

Type relations for FatRat
raku-type-graph FatRat FatRat Cool Cool FatRat->Cool Rational Rational FatRat->Rational Mu Mu Any Any Any->Mu Cool->Any Numeric Numeric Real Real Real->Numeric Rational->Real

Expand chart above