[BACK]Return to strobj.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / builtin

Diff for /OpenXM_contrib2/asir2000/builtin/strobj.c between version 1.116 and 1.117

version 1.116, 2006/08/19 05:35:07 version 1.117, 2006/08/27 22:17:27
Line 45 
Line 45 
  * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,   * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
  * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.   * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
  *   *
  * $OpenXM: OpenXM_contrib2/asir2000/builtin/strobj.c,v 1.115 2006/08/09 05:05:28 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/builtin/strobj.c,v 1.116 2006/08/19 05:35:07 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
Line 108  void Pnbp_tm(), Pnbp_tt(), Pnbp_tc(), Pnbp_trest();
Line 108  void Pnbp_tm(), Pnbp_tt(), Pnbp_tc(), Pnbp_trest();
 void Pnbm_deg();  void Pnbm_deg();
 void Pnbm_hp_rest();  void Pnbm_hp_rest();
 void Pnbm_hxky(), Pnbm_xky_rest();  void Pnbm_hxky(), Pnbm_xky_rest();
 void Pnbm_hv(), Pnbm_tv(), Pnbm_rest();  void Pnbm_hv(), Pnbm_tv(), Pnbm_rest(),Pnbm_trest();
   
 void Pquote_to_funargs(),Pfunargs_to_quote(),Pget_function_name();  void Pquote_to_funargs(),Pfunargs_to_quote(),Pget_function_name();
 void Pqt_match(),Pget_quote_id();  void Pqt_match(),Pget_quote_id();
Line 194  struct ftab str_tab[] = {
Line 194  struct ftab str_tab[] = {
         {"nbm_hv", Pnbm_hv,1},          {"nbm_hv", Pnbm_hv,1},
         {"nbm_tv", Pnbm_tv,1},          {"nbm_tv", Pnbm_tv,1},
         {"nbm_rest", Pnbm_rest,1},          {"nbm_rest", Pnbm_rest,1},
           {"nbm_trest", Pnbm_trest,1},
   
         {"qt_to_nary",Pqt_to_nary,1},          {"qt_to_nary",Pqt_to_nary,1},
         {"qt_to_bin",Pqt_to_bin,2},          {"qt_to_bin",Pqt_to_bin,2},
Line 2606  void Pnbm_hv(NODE arg, NBP *rp)
Line 2607  void Pnbm_hv(NODE arg, NBP *rp)
                 separate_nbm((NBM)BDY(BDY(p)),0,rp,0);                  separate_nbm((NBM)BDY(BDY(p)),0,rp,0);
 }  }
   
   void Pnbm_rest(NODE arg, NBP *rp)
   {
           NBP p;
   
           p = (NBP)ARG0(arg);
           if ( !p )
                   *rp = 0;
           else
                   separate_nbm((NBM)BDY(BDY(p)),0,0,rp);
   }
   
 void Pnbm_tv(NODE arg, NBP *rp)  void Pnbm_tv(NODE arg, NBP *rp)
 {  {
         NBP p;          NBP p;
         NBM m,t;  
         int d;  
   
         p = (NBP)ARG0(arg);          p = (NBP)ARG0(arg);
         if ( !p )          if ( !p )
                 *rp = 0;                  *rp = 0;
         else {          else
                 m = (NBM)BDY(BDY(p));                  separate_tail_nbm((NBM)BDY(BDY(p)),0,0,rp);
                 d = m->d;  
                 if ( !d ) error("nbm_tv : invalid argument");  
                 NEWNBM(t); NEWNBMBDY(t,1); t->d = 1; t->c = (P)ONE;  
                 if ( NBM_GET(m->b,d-1) ) NBM_SET(t->b,0);  
                 else NBM_CLR(t->b,0);  
                 *rp = (NBP)nbmtonbp(t);  
         }  
 }  }
   
 void Pnbm_rest(NODE arg, NBP *rp)  void Pnbm_trest(NODE arg, NBP *rp)
 {  {
         NBP p;          NBP p;
   
Line 2634  void Pnbm_rest(NODE arg, NBP *rp)
Line 2637  void Pnbm_rest(NODE arg, NBP *rp)
         if ( !p )          if ( !p )
                 *rp = 0;                  *rp = 0;
         else          else
                 separate_nbm((NBM)BDY(BDY(p)),0,0,rp);                  separate_tail_nbm((NBM)BDY(BDY(p)),0,rp,0);
 }  }
   
 NBP fnode_to_nbp(FNODE f)  NBP fnode_to_nbp(FNODE f)

Legend:
Removed from v.1.116  
changed lines
  Added in v.1.117

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