All pastes #253990 Raw Edit

Someone

public text v1 · immutable
#253990 ·published 2006-11-21 10:38 UTC
rendered paste body

   if(isinf(cislo))
   {
      return INFINITY;
   }

   if(cislo <= 0 || isnan(cislo) || isinf(eps) || isnan(eps) || eps <= 0)
   {
      return NAN;
   }
   
   if (cislo == 1)
   {
      return 0;
   }
   
   int poc = 0;
   if (cislo > IZP_E)
   {
      while(cislo > IZP_E){   //deli cislo na 2 casti
         cislo /= IZP_E;      //dalej pocita len zo zvyskom
         poc++;               //pocet nasobkov e v cisle
      }
   }
   else if (cislo <IZP_E)
   {
      while(cislo < IZP_E){   
         cislo *= IZP_E;      
         poc--;               
      }
   }
   
   double p_rada = (cislo - 1)/(cislo + 1); //pomocna premenna
   double sum = 0.0;                        //sucet rozvoja
   double i = 1.0;
   double nove_c=(cislo - 1)/(cislo + 1);   //clen rozvoja
   double citatel = (cislo-1)*(cislo-1);
   double menovatel = (cislo+1)*(cislo+1);

   while (fabs(nove_c) >= eps) {
      i+=2;     
      sum += nove_c;
      p_rada = p_rada* ((citatel)/(menovatel));
      nove_c=p_rada*(1/i);     
   }

return (2*sum)+poc;
}