/ et approx
Publié : ven. oct. 11, 2013 4:54 pm
Salut j'ai des soucis en cython avec / et les flottants:
un truc du genre: giac(7).approx(100) /3 se trompe au 12ieme chiffre
apres inspection si par exemple j'utilise les fonctions C++ suivantes:
gen giacmul(gen & a, gen & b, const context * context_ptr){
return a*b;
}
gen giacdiv(gen & a, gen & b, const context * context_ptr){
cout<<" a:"<<a<<" b :"<<b<<" a/b: "<<a/b<<endl;
return a/b;
}
je recupere:
alors que:
idem
est bien en 50 chiffres corrects.
(de plus, pas de probleme avec ^(-1) au lieu de diviser mais j'aimerai autant eviter ca).
pourtant de mon cote j'ai l'impression d'avoir fait la meme chose pour * et / dans giacpy.
est ce que je dois m'y prendre autrement ou bien reste t'il un petit bout de code en 12 chiffres quelque part dans giac?
Fred
un truc du genre: giac(7).approx(100) /3 se trompe au 12ieme chiffre
apres inspection si par exemple j'utilise les fonctions C++ suivantes:
gen giacmul(gen & a, gen & b, const context * context_ptr){
return a*b;
}
gen giacdiv(gen & a, gen & b, const context * context_ptr){
cout<<" a:"<<a<<" b :"<<b<<" a/b: "<<a/b<<endl;
return a/b;
}
je recupere:
Code : Tout sélectionner
>>> giac(7).approx(50)/3
a:7.0000000000000000000000000000000000000000000000000
b :3
a/b: 2.3333333333333250436680827988311648368835449218750
Code : Tout sélectionner
>>> giac(7).approx(50)*'1/3'
2.3333333333333333333333333333333333333333333333333
Code : Tout sélectionner
>>> giac(7).approx(50)/giac(3).approx(50)
(de plus, pas de probleme avec ^(-1) au lieu de diviser mais j'aimerai autant eviter ca).
pourtant de mon cote j'ai l'impression d'avoir fait la meme chose pour * et / dans giacpy.
est ce que je dois m'y prendre autrement ou bien reste t'il un petit bout de code en 12 chiffres quelque part dans giac?
Fred