LoadPackage("if");


IF_Interface(IF_aribas, "gcd", [1000, 360] );


IF_Interface(IF_asir, "fac", [10] );
IF_Interface(IF_asir, "inv", [10,7] );
IF_Interface(IF_asir, "random", [10] );
IF_Interface(IF_asir, "igcd", [1000,360] );


IF_Interface(IF_cocoa, "Abs", [-100] );
IF_Interface(IF_cocoa, "Fact", [10] );
IF_Interface(IF_cocoa, "Bin", [60,10] );
IF_Interface(IF_cocoa, "Inverse", [60] );
IF_Interface(IF_cocoa, "GCD", [1000,360] );

IF_Interface(IF_cocoa, "Fraction", [ZmodnZObj(5,11), ZmodnZObj(6,11)]);
IF_Interface(IF_cocoa, "Inverse", [ZmodnZObj(7,997)]);


# Gap starts slowly

IF_SHALL_GAP_USE_OPENMATH( true );
IF_Interface(IF_gap, "GcdInt", [1000, 360] );
IF_SHALL_GAP_USE_OPENMATH( false );
IF_Interface(IF_gap, "GcdInt", [1000, 360] );


IF_Interface(IF_kash, "Factorial", [10] );
IF_Interface(IF_kash, "NextPrime", [1000] );
IF_Interface(IF_kash, "IntGcd", [1000,360] );


IF_Interface(IF_macaulay, "gcd", [1000,360] );


IF_Interface(IF_maple, "gcd", [1000, 360] );


# mathematica and mupad are not istalled on my pc

IF_Interface(IF_mathematica, "GCD", [1000, 360] );


IF_Interface(IF_mupad, "gcd", [1000, 360] );
IF_Interface(IF_mupad, "combinat::partitions::list", [4]);
IF_Interface(IF_mupad, "combinat::tableaux::list", [[4,2]]);


IF_Interface(IF_pari_gp, "primes", [10]);
IF_Interface(IF_pari_gp, "omega", [360]);
IF_Interface(IF_pari_gp, "gcd", [1000,360] );
IF_Interface(IF_pari_gp, "nextprime", [119] );
IF_Interface(IF_pari_gp, "sin", [8] );
IF_Interface(IF_pari_gp,"factor",[312424]);
IF_Interface(IF_pari_gp, "type", [6/4, "t_FRACN"] );

chars_ok :=Union([32..126],[128..254]);;
for i in chars_ok do
 s1:="";
 Add(s1, CHAR_INT(i));
 s2:=IF_Interface(IF_pari_gp, "Str", [s1] );
 if not s2=s1 then Error(i);fi;
od;


IF_Interface(IF_singular, "gcd", [1000, 360] );
IF_Interface(IF_singular, "random", [100, 3600] );
IF_Interface(IF_singular, "memory", [2] );
IF_Interface(IF_singular, "prime", [100] );


IF_Interface(IF_yacas, "Gcd", [1000, 360] );



