Mathc initiation/Fichiers h : x 16d
Installer ce fichier dans votre répertoire de travail.
zop.h utilitaire |
---|
/* ---------------------------------- */
/* Save as : zop.h */
/* ---------------------------------- */
fraction add_f(
fraction f1,
fraction f2)
{
f1 = mini_f(f1);
f2 = mini_f(f2);
f1.n = (f1.n)*(f2.d) + (f2.n)*(f1.d);
f1.d = (f1.d)*(f2.d);
return(mini_f(f1));
}
/* ------------------------------------ */
fraction sub_f(
fraction f1,
fraction f2)
{
f1 = mini_f(f1);
f2 = mini_f(f2);
f1.n = (f1.n)*(f2.d) - (f2.n)*(f1.d);
f1.d = (f1.d)*(f2.d);
return(mini_f(f1));
}
/* ------------------------------------ */
fraction mul_f(
fraction f1,
fraction f2)
{
f1 = mini_f(f1);
f2 = mini_f(f2);
f1.n = (f1.n)*(f2.n);
f1.d = (f1.d)*(f2.d);
return(mini_f(f1));
}
/* ------------------------------------ */
fraction div_f(
fraction f1,
fraction f2)
{
if (!f2.n)
{
printf("\n div_f() error - 0 no inverse");
printf("\n Press return to continue");
getchar();
exit(1);
}
f1 = mini_f(f1);
f2 = mini_f(f2);
f1.n = (f1.n)*(f2.d);
f1.d = (f1.d)*(f2.n);
return(mini_f(f1));
}
/* ------------------------------------ */
fraction inv_f(
fraction f)
{
double T;
f = mini_f(f);
if (!f.n)
{
printf("\n inv_f() error - 0 no inverse");
printf("\n Press return to continue");
getchar();
exit(1);
}
T = f.n;
f.n = f.d;
f.d = T;
return(mini_f(f));
}
/* ------------------------------------ */
fraction mns_f(
fraction f1)
{
f1.n = -1*(f1.n);
return(mini_f(f1));
}
/* ------------------------------------ */
fraction abs_f(
fraction f1)
{
f1.n = fabs(f1.n);
return(mini_f(f1));
}
/* ------------------------------------ */
fraction pow_f(
fraction f,
fraction E)
{
f = mini_f(f);
E = mini_f(E);
if(E.d==1)
{
f.n = pow(f.n,E.n);
f.d = pow(f.d,E.n);
}
return(mini_f(f));
}
/* ---------------------------------- */
/* ---------------------------------- */
Ce fichier contient les fonctions pour faire les opérations de base sur les fractions.