# -*- coding:utf-8 -*-

__nom_fichier__ = "fraction_irreductible"
__author__ = "tinet1"
__date__ = "mars 2018"

"""
Exercice récapitulatif

Fractions

classe FractionIrreductible

"""

from fraction import Fraction
from utilitaire import *

class FractionIrreductible(Fraction):
    
    def __init__(self, numerateur = 0, denominateur = 1):
        
        Fraction.__init__(self, numerateur, denominateur)
        
        self.set_irreductible()
        
    def set_irreductible(self):
        
        pgcd = pgcd_euclide(self.num_, self.den_)
        
        self.num_ //= pgcd
        self.den_ //= pgcd
        
    def __add__(self, other):
        
        somme = Fraction.__add__(self, other)
        
        return FractionIrreductible(somme.num_, somme.den_)
    
    def __mul__(self, other):
        
        produit = Fraction.__mul__(self, other)
        
        return FractionIrreductible(produit.num_, produit.den_)
    
# Programme principal
if __name__ == "__main__":
    
    dem = FractionIrreductible(18,36)
    tiers = FractionIrreductible(16, 12)
    
    print(dem, tiers)
    
    print(dem + tiers)
    print(tiers *dem)