Class DBigFraction

Inherits from:
Object
Conforms to:
DComparable, DParsable, DSimpleArithmetic, DTextable
Declared in:
DBigFraction.h

Class Hierarchy

    Object
      |
      +---DBigFraction

Class Description

The big fraction class implements a number of methods for working with arbitrary large fraction numbers, also called rational numbers. The class uses the excellent gmp library for the actual calculations.

Example:
#include <stdio.h>
#include "ofc/DBigFraction.h"

int main(int argc, char *argv[])
{
  DBigFraction *fra1 = [DBigFraction alloc];
  DBigFraction *fra2 = [DBigFraction new  ];
  DBigFraction *fra3 = [DBigFraction new  ];
  DText        *str;

  [fra1 init :"6/4" :10];           // Init fraction with 6/4 (base 10)

  [fra2 fraction :8 :10];           // Set fraction with 8/10

  [fra2 mul :fra1];                 // fra2 = fra2 * fra1

  [fra3 sub :fra2 :fra1];           // fra3 = fra2 - fra1

  printf("Fraction (as double):%f\n", [fra3 get]);  // Get fraction as double

  str = [fra3 get :10];             // Get fraction as string, base 10
  printf("Fraction (as string):%s\n", [str cstring]);

  if ([fra1 compare :fra2] == 0)    // Compare numbers
    printf("Fraction1 is equal to fraction2\n");
  else if ([fra1 compare :fra2] < 0)
    printf("Fraction1 is smaller than fraction2\n");
  else
    printf("Fraction1 is greater than fraction2\n");

  [str  free];                      // Cleanup
  [fra3 free];
  [fra2 free];
  [fra1 free];

  return 0;
}
Last modified:
19-Jul-2008 (DBigFraction.h)

Instance Variables

private void *_value
the big fraction value

Method Index


generated 06-Sep-2008 by ObjcDoc 3.0.0