Bien qu'en ColdFusion, il existe une fonction «Sqr» permettant de calculer la racine carré, il peut quand même être amusant d'effectuer se genre de calcul nous même. Pour remédier à se problème, il suffit de créer une fonction ressemblant à ceci :
- <CFSCRIPT>
- function SquareRoot(X) {
- var A = 0;
- var B = 0;
- var M = 0;
- var XN = 0;
- if(X EQ 0.0) {
- return 0.0;
- } else {
- M=1.0;
- XN=X;
- while(XN GTE 2.0) {
- XN=0.25*XN;
- M=2.0*M;
- }
- while(XN LT 0.5) {
- XN=4.0*XN;
- M=0.5*M;
- }
- A=XN;
- B=1.0-XN;
- do {
- A=A*(1.0+0.5*B);
- B=0.25*(3.0+B)*B*B;
- } while(B GTE 1.0E-15);
- return A*M;
- }
- }
-
- R=2.0;
- while(R LTE 1000.0) {
- WriteOutput("Sqrt(" & R & ")=" & SquareRoot(R) & "<BR>");
- R=R*R;
- }
- </CFSCRIPT>
on obtiendra le résultat suivant:
Sqrt(2)= 1.41421Sqrt(4)= 2.0000
Sqrt(16)= 4.0000
Sqrt(256)= 16.0000
Voir également
Dernière mise à jour : Lundi, le 29 décembre 2014