Section courante

A propos

Section administrative du site

Vue par description   Vue par prototype   Vue par code source

Bien que la manière dont un éditeur codera ses fonctions en interne est très relative (par soucis de performances, compatibilité matériels, efficacité,...), il est parfois nécessairement d'en obtenir une approximation afin de bien comprendre la logique de fonctionnement. Voici le code source théorique de certaines fonctions de ColdFusion :

  1. <CFSCRIPT>
  2. function Abs(a) {
  3.    if(a LT 0) a=-a;
  4.    return a;
  5. }  
  6.  
  7. function Exp(x) {
  8.  var i = 1;
  9.  var inverse = false;
  10.  var n = 0;
  11.  var dl = 1;
  12.  if(x LT 0) {
  13.   inverse = true;
  14.   x = -x;
  15.  }
  16.  while(x GTE 2) {  
  17.      x = x / 2;  
  18.      n = n + 1;  
  19.  }
  20.  x = x / 16;
  21.  n = n + 4;
  22.  q = x;
  23.  while (q GT 1.0E-15) {
  24.     dl = dl + q;
  25.     i = i + 1;
  26.     q = q*x/i;
  27.  }
  28.  for(i=1;i LTE n; i = i + 1) dl=dl*dl;
  29.  if(inverse) dl = 1/dl;
  30.  return dl;
  31. }
  32.  
  33.  
  34. function Sqr(X) {
  35.   var A = 0;
  36.   var B = 0;
  37.   var M = 0;
  38.   var XN = 0;  
  39.   if(X EQ 0.0) {
  40.      return 0.0;  
  41.   } else {
  42.      M=1.0;  
  43.      XN=X;  
  44.      while(XN GTE 2.0) {
  45.         XN=0.25*XN;  
  46.         M=2.0*M;  
  47.      }
  48.      while(XN LT 0.5) {
  49.         XN=4.0*XN;  
  50.         M=0.5*M;  
  51.      }
  52.      A=XN;  
  53.      B=1.0-XN;  
  54.      do {  
  55.         A=A*(1.0+0.5*B);  
  56.         B=0.25*(3.0+B)*B*B;  
  57.      } while(B GTE 1.0E-15);  
  58.      return A*M;  
  59.   }
  60. }  
  61. </CFSCRIPT>


Dernière mise à jour : Dimanche, le 28 décembre 2014