[BACK]Return to p-itv.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / engine

Diff for /OpenXM_contrib2/asir2000/engine/p-itv.c between version 1.1 and 1.2

version 1.1, 2000/12/22 10:03:28 version 1.2, 2002/01/08 04:14:37
Line 1 
Line 1 
 /*  /*
  * $OpenXM: $   * $OpenXM: OpenXM_contrib2/asir2000/engine/p-itv.c,v 1.1 2000/12/22 10:03:28 saito Exp $
 */  */
 #if defined(INTERVAL)  #if defined(INTERVAL)
 #include "ca.h"  #include "ca.h"
Line 51  void istoitv(Num inf, Num sup, Itv *rp)
Line 51  void istoitv(Num inf, Num sup, Itv *rp)
                 i = inf;                  i = inf;
         }          }
         if ( type )          if ( type )
                 NEWItvF((ItvF)c);                  NEWIntervalBigFloat((IntervalBigFloat)c);
         else          else
                 NEWItvP(c);                  NEWItvP(c);
   
Line 82  void additvp(Itv a, Itv b, Itv *c)
Line 82  void additvp(Itv a, Itv b, Itv *c)
                 addnum(0,(Num)a,(Num)b,(Num *)c);                  addnum(0,(Num)a,(Num)b,(Num *)c);
         else if ( (NID(a) == N_IP) && (NID(b) == N_R )          else if ( (NID(a) == N_IP) && (NID(b) == N_R )
                 ||(NID(a) == N_R ) && (NID(b) == N_IP) )                  ||(NID(a) == N_R ) && (NID(b) == N_IP) )
                 additvd((Num)a,(Num)b,(ItvD *)c);                  additvd((Num)a,(Num)b,(IntervalDouble *)c);
         else {          else {
                 itvtois(a,&ai,&as);                  itvtois(a,&ai,&as);
                 itvtois(b,&bi,&bs);                  itvtois(b,&bi,&bs);
Line 105  void subitvp(Itv a, Itv b, Itv *c)
Line 105  void subitvp(Itv a, Itv b, Itv *c)
                 subnum(0,(Num)a,(Num)b,(Num *)c);                  subnum(0,(Num)a,(Num)b,(Num *)c);
         else if ( (NID(a) == N_IP) && (NID(b) == N_R )          else if ( (NID(a) == N_IP) && (NID(b) == N_R )
                 ||(NID(a) == N_R ) && (NID(b) == N_IP) )                  ||(NID(a) == N_R ) && (NID(b) == N_IP) )
                 subitvd((Num)a,(Num)b,(ItvD *)c);                  subitvd((Num)a,(Num)b,(IntervalDouble *)c);
         else {          else {
                 itvtois(a,&ai,&as);                  itvtois(a,&ai,&as);
                 itvtois(b,&bi,&bs);                  itvtois(b,&bi,&bs);
Line 126  void mulitvp(Itv a, Itv b, Itv *c)
Line 126  void mulitvp(Itv a, Itv b, Itv *c)
                 mulnum(0,(Num)a,(Num)b,(Num *)c);                  mulnum(0,(Num)a,(Num)b,(Num *)c);
         else if ( (NID(a) == N_IP) && (NID(b) == N_R )          else if ( (NID(a) == N_IP) && (NID(b) == N_R )
                 ||(NID(a) == N_R ) && (NID(b) == N_IP) )                  ||(NID(a) == N_R ) && (NID(b) == N_IP) )
                 mulitvd((Num)a,(Num)b,(ItvD *)c);                  mulitvd((Num)a,(Num)b,(IntervalDouble *)c);
         else {          else {
                 itvtois(a,&ai,&as);                  itvtois(a,&ai,&as);
                 itvtois(b,&bi,&bs);                  itvtois(b,&bi,&bs);
Line 208  void divitvp(Itv a, Itv b, Itv *c)
Line 208  void divitvp(Itv a, Itv b, Itv *c)
                 divnum(0,(Num)a,(Num)b,(Num *)c);                  divnum(0,(Num)a,(Num)b,(Num *)c);
         else if ( (NID(a) == N_IP) && (NID(b) == N_R )          else if ( (NID(a) == N_IP) && (NID(b) == N_R )
                 ||(NID(a) == N_R ) && (NID(b) == N_IP) )                  ||(NID(a) == N_R ) && (NID(b) == N_IP) )
                 divitvd((Num)a,(Num)b,(ItvD *)c);                  divitvd((Num)a,(Num)b,(IntervalDouble *)c);
         else {          else {
                 itvtois(a,&ai,&as);                  itvtois(a,&ai,&as);
                 itvtois(b,&bi,&bs);                  itvtois(b,&bi,&bs);
Line 351  int cmpitvp(Itv a, Itv b)
Line 351  int cmpitvp(Itv a, Itv b)
         } else {          } else {
                 itvtois(a,&ai,&as);                  itvtois(a,&ai,&as);
                 itvtois(b,&bi,&bs);                  itvtois(b,&bi,&bs);
                 s = compnum(0,ai,bi) ;                  s = compnum(0,ai,bs) ;
                 t = compnum(0,as,bs) ;                  t = compnum(0,bi,as) ;
                 if ( !s && !t ) return 0;                  if ( s > 0 ) return 1;
                 else  return -1;                  else if ( t > 0 ) return -1;
                   else  return 0;
         }          }
 }  }
   

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

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