Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Math::Cephes::FractionUser Contributed Perl DocumentaMath::Cephes::Fraction(3)

NAME
	 Math::Cephes::Fraction	- Perl interface to the	cephes math fraction routines

SYNOPSIS
	 use Math::Cephes::Fraction qw(fract);
	 my $f1	= fract(2,3);	       # $f1 = 2/3
	 my $f2	= fract(3,4);	       # $f2 = 3/4
	 my $f3	= $f1->radd($f2);      # $f3 = $f1 + $f2

DESCRIPTION
       This module is a	layer on top of	the basic routines in the cephes math
       library to handle fractions. A fraction object is created via any of
       the following syntaxes:

	 my $f = Math::Cephes::Fraction->new(3,	2);  # $f = 3/2
	 my $g = new Math::Cephes::Fraction(5, 3);   # $g = 5/3
	 my $h = fract(7, 5);			     # $h = 7/5

       the last	one being available by importing :fract. If no arguments are
       specified, as in

	 my $h = fract();

       then the	defaults $z = 0/1 are assumed. The numerator and denominator
       of a fraction are represented respectively by

	  $f->{n}; $f->{d}

       or, as methods,

	 $f->n;	 $f->d;

       and can be set according	to

	 $f->{n} = 4; $f->{d} =	9;

       or, again, as methods,

	$f->n(4)  ; $f->(d) = 9;

       The fraction can	be printed out as

	 print $f->as_string;

       or as a mixed fraction as

	 print $f->as_mixed_string;

       These routines reduce the fraction to its basic form before printing.
       This uses the euclid routine which finds	the greatest common divisor of
       two numbers, as follows:

	($gcd, $m_reduced, $n_reduced) = euclid($m, $n);

       which returns the greatest common divisor of $m and $n, as well as the
       result of reducing $m and $n by $gcd

       A summary of the	basic routines is as follows.

	$x = fract(3, 4);	#  x = 3 / 4
	$y = fract(2, 3);	#  y = 2 / 3
	$z = $x->radd( $y );	#  z = x + y
	$z = $x->rsub( $y );	#  z = x - y
	$z = $x->rmul( $y );	#  z = x * y
	$z = $x->rdiv( $y );	#  z = x / y
	print $z->{n}, ' ', $z->{d};  #	prints numerator and denominator of $z
	print $z->as_string;	     # prints the fraction $z
	print $z->as_mixed_string;   # converts	$z to a	mixed fraction,	then prints it

	$m = 60;
	$n = 144;
	($gcd, $m_reduced, $n_reduced) = euclid($m, $n);

BUGS
       Please report any to Randy Kobes	<randy@theoryx5.uwinnipeg.ca>

SEE ALSO
       For the basic interface to the cephes fraction routines,	see
       Math::Cephes. See also Math::Fraction for a more	extensive interface to
       fraction	routines.

COPYRIGHT
       The C code for the Cephes Math Library is Copyright 1984, 1987, 1989,
       2002 by Stephen L. Moshier, and is available at
       http://www.netlib.org/cephes/.  Direct inquiries	to 30 Frost Street,
       Cambridge, MA 02140.

       The perl	interface is copyright 2000, 2002 by Randy Kobes.  This
       library is free software; you can redistribute it and/or	modify it
       under the same terms as Perl itself.

perl v5.32.1			  2016-05-06	     Math::Cephes::Fraction(3)

NAME | SYNOPSIS | DESCRIPTION | BUGS | SEE ALSO | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Math::Cephes::Fraction&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help