


import math

def calc(Dose,t_dose,t,T,t1,C1,t2,C2,CminA,CmaxA,t_doseA,Treel):
    print('     params')
    print('C1 après perfusion',C1)
    print('C2 avant perfusion',C2)
    print('t1 après perfusion',t1)
    print('t2 avant perfusion',t2)
    print('T',T)
    print('Dose',Dose)
    print('t',t)
    print('t_dose ',)
    for i in range(1): print()

    t2t1 = t1-t2
    if t2 < t1:
       t2t1 = t2+T-t1
    K = math.log(C1/C2) / t2t1
    dT = t1 - (t_dose+t)
    Cmax = C1 / math.exp(-K*dT)
    Cmin = Cmax * math.exp(-K*(T-t))
    Vd = (Dose / (K*t)) * ((1-math.exp(-K*t))/(Cmax-(Cmin*math.exp(-K*t))))

    print('     parameter result')
    print('elimination constant => ',K)
    print('delta T => ',dT)
    print('Cmax => ', Cmax)
    print('Cmin => ', Cmin)
    print('volume distribution => ', Vd)
    for i in range(1): print()

    print('     adjustment')
    print('Cmin adjusted',CminA)
    print('Cmax adjusted', CmaxA)
    for i in range(1): print()

    Ta = (math.log(CmaxA/CminA)/K) + t_doseA
    num = 1 - math.exp(-K*t_doseA)
    dem = 1 - math.exp(-K*Treel)
    dose_A = Vd * K * t_doseA * CmaxA * ( dem / num )
    CmaxAA = (dose_A * num) / (Vd*K*t*dem)
    CminAA = CmaxAA * math.exp(-K*(Treel-t_doseA))

    print('     ajustment result')
    print('time adjusted => ', Ta)
    print('dose adjusted => ',dose_A)
    print('CmaxAA => ', CmaxAA)
    print('CminAA => ', CminAA)
    for i in range(1): print()

# calc(Dose,t_dose,t,T,t1,c1,t2,c2,CminA,CmaxA,t_doseA,Treel)

# calc(650,   #Dose
#      10,    #t_dose
#      1,     #t
#      24,    #T
#      11.5,  #t1
#      45,    #C1
#      9.91,  #t2
#      1.5,   #C2
#      0.5,   #CminA
#      35,    #CmaxA
#      1,     #t_doseA
#      24)    #Treel

# calc(650,   #Dose
#      10,    #t_dose
#      1,     #t
#      24,    #T
#      11.5,  #t1
#      45,    #C1
#      9.91,  #t2
#      1.5,   #C2
#      0.5,   #CminA
#      35,    #CmaxA
#      1,     #t_doseA
#      24)    #Treel

calc(79,   #Dose
     10,    #t_dose
     1,     #t
     8,    #T
     12,  #t1
     3,    #C1
     9.91,  #t2
     1.5,   #C2
     0.5,   #CminA
     3,    #CmaxA
     1,     #t_doseA
     12)    #Treel