Object | +---DFraction
The fraction class implements a number of methods for working with fractions.
#include <stdio.h> #include "ofc/DFraction.h" int main(int argc, char *argv[]) { DFraction *fr1 = [DFraction alloc]; DFraction *fr2 = [DFraction new ]; DFraction *fr3 = [DFraction new ]; DText *str; [fr1 init :3 :4]; // Init with fraction 3/4 str = [fr1 toText]; printf("Fraction1 %0d/%0d or \"%s\".\n", [fr1 numerator], [fr1 denominator], [str cstring]); [str free]; [fr2 set :4 :8]; // Set to 1/2 str = [fr2 toText]; printf("Fraction2 %0d/%0d or \"%s\".\n", [fr2 numerator], [fr2 denominator], [str cstring]); [str free]; [fr2 mul :fr1]; // Fraction2 = Fraction2 * Fraction1 [fr3 sub :fr2 :fr1]; // Fraction3 = Fraction2 - Fraction1 str = [fr3 toText]; printf("Fraction3 as double %f or as string \"%s\".\n", [fr3 toDouble], [str cstring]); [str free]; if ([fr1 compare :fr3] == 0) printf("Fraction1 is equal to fraction3.\n"); else if ([fr1 compare :fr3] < 0) printf("Fraction1 is smaller than fraction3.\n"); else printf("Fraction1 is greater than fraction3.\n"); [fr1 free]; // Cleanup [fr2 free]; [fr3 free]; return 0; }