Index: src/libcfa/rational
===================================================================
--- src/libcfa/rational	(revision bb82c03bc8335801bc35bfe955fe778079574ec8)
+++ src/libcfa/rational	(revision ce34152c0e0bef9e757a48daa57360165dee1df7)
@@ -12,7 +12,8 @@
 // Created On       : Wed Apr  6 17:56:25 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May  4 14:11:45 2016
-// Update Count     : 16
+// Last Modified On : Mon May  1 08:25:06 2017
+// Update Count     : 33
 //
+
 #ifndef RATIONAL_H
 #define RATIONAL_H
@@ -21,6 +22,7 @@
 
 // implementation
+typedef long int RationalImpl;
 struct Rational {
-	long int numerator, denominator;					// invariant: denominator > 0
+	RationalImpl numerator, denominator;					// invariant: denominator > 0
 }; // Rational
 
@@ -31,12 +33,14 @@
 // constructors
 void ?{}( Rational * r );
-void ?{}( Rational * r, long int n );
-void ?{}( Rational * r, long int n, long int d );
+void ?{}( Rational * r, RationalImpl n );
+void ?{}( Rational * r, RationalImpl n, RationalImpl d );
 
-// getter/setter for numerator/denominator
-long int numerator( Rational r );
-long int numerator( Rational r, long int n );
-long int denominator( Rational r );
-long int denominator( Rational r, long int d );
+// getter for numerator/denominator
+RationalImpl numerator( Rational r );
+RationalImpl denominator( Rational r );
+[ RationalImpl, RationalImpl ] ?=?( * [ RationalImpl, RationalImpl ] dest, Rational src );
+// setter for numerator/denominator
+RationalImpl numerator( Rational r, RationalImpl n );
+RationalImpl denominator( Rational r, RationalImpl d );
 
 // comparison
@@ -57,5 +61,5 @@
 // conversion
 double widen( Rational r );
-Rational narrow( double f, long int md );
+Rational narrow( double f, RationalImpl md );
 
 // I/O
