Continued fraction/Arithmetic/Construct from rational number: Difference between revisions

Content added Content deleted
Line 3,423: Line 3,423:
then (CF = lazy_list(delay((func) = nil)))
then (CF = lazy_list(delay((func) = nil)))
else (CF = lazy_list(delay(Cons)),
else (CF = lazy_list(delay(Cons)),
((func) = CF1 :-
((func) = Cell :-
(Cell = cons(Quotient, r2cf(Denominator, Remainder)),
(
%% What follows is division with truncation towards zero.
CF1 = cons(Quotient, r2cf(Denominator, Remainder)),
divide_with_rem(Numerator, Denominator,
%% What follows is division with truncation towards
%% zero.
Quotient, Remainder))) = Cons)).
divide_with_rem(Numerator, Denominator,
Quotient, Remainder)
)) = Cons)).


%%%-------------------------------------------------------------------
%%%-------------------------------------------------------------------
Line 3,532: Line 3,529:


{{out}}
{{out}}
<pre>$ mmc continued_fraction_from_rational_lazy.m && ./continued_fraction_from_rational_lazy
<pre>$ mmc --use-subdirs continued_fraction_from_rational_lazy.m && ./continued_fraction_from_rational_lazy
1/2 => [0;2]
1/2 => [0;2]
3 => [3]
3 => [3]