[BACK]Return to r-fd.rr CVS log [TXT][DIR] Up to [local] / OpenXM / src / asir-port / cgi

Diff for /OpenXM/src/asir-port/cgi/r-fd.rr between version 1.3 and 1.4

version 1.3, 2014/07/31 07:00:41 version 1.4, 2014/08/06 07:39:47
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/asir-port/cgi/r-fd.rr,v 1.2 2014/07/31 06:24:11 takayama Exp $ */  /* $OpenXM: OpenXM/src/asir-port/cgi/r-fd.rr,v 1.3 2014/07/31 07:00:41 takayama Exp $ */
 load("tk_fd.rr")$  load("tk_fd.rr")$
 import("tk_r.rr")$  import("tk_r.rr")$
 import("oh_number.rr")$  import("oh_number.rr")$
Line 11  def r_d2rat(Y) {
Line 11  def r_d2rat(Y) {
     S = rtostr(Y);  Y = "eval(("+S+")*exp(0));";      S = rtostr(Y);  Y = "eval(("+S+")*exp(0));";
     /* print(Y); */      /* print(Y); */
     Y = eval_str(Y);      Y = eval_str(Y);
     return oh_number.rats(Y);      /* printf("Y=%a\n",Y); */
       /* return oh_number.rats(Y); */
       return rats2(Y);  /* temporary  */
   }else return Y;    }else return Y;
 }  }
 def r_ahvec(A,B,C,Y) {  def r_ahvec(A,B,C,Y) {
Line 28  def r_ahvec(A,B,C,Y) { 
Line 30  def r_ahvec(A,B,C,Y) { 
   Fans=map(deval,Ans);    Fans=map(deval,Ans);
   Fans = tk_r.asir2r_c(Fans);    Fans = tk_r.asir2r_c(Fans);
   return Fans;    return Fans;
   }
   
   /* temporary */
   def rats2(X) {
     if (X == 0) return 0;
     Sign=1;
     if (X <0) {Sign=-1  ; X = -X;}
     Digit = number_floor(eval(log(X)/log(10)));
     Num = number_floor((X/(10^Digit))*10^20);
     return Sign*(Num/(10^20))*(10^Digit);
   }
   
   def checkrats2() {
     for (I=0; I<10; I++) {
        Sign=(-1)^(random()%2);
        X = eval(exp(0)*(random()/random())*10^(Sign*(random()%300))); /* 308 */
        printf("X=%a\n",X);
        Y = rats2(X);
        printf("Y=%a\n",Y);
        if (number_abs(eval(Y*exp(0))/X-1) > 0.0000001) {
           printf("error: X = %a, Y=%a\n",X,Y);
        }
     }
 }  }
 end$  end$

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>