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

Diff for /OpenXM_contrib2/asir2000/builtin/dp.c between version 1.50 and 1.51

version 1.50, 2004/04/15 08:27:42 version 1.51, 2004/04/30 08:25:38
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/dp.c,v 1.49 2004/04/15 08:14:13 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/builtin/dp.c,v 1.50 2004/04/15 08:27:42 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "base.h"  #include "base.h"
Line 426  NODE arg;
Line 426  NODE arg;
 Obj *rp;  Obj *rp;
 {  {
         struct order_spec *spec;          struct order_spec *spec;
           LIST v;
           struct oLIST f;
           Num homo;
           int modular;
   
           f.id = O_LIST; f.body = 0;
         if ( !arg )          if ( !arg )
                 *rp = dp_current_spec->obj;                  *rp = dp_current_spec->obj;
         else if ( !create_order_spec(0,(Obj)ARG0(arg),&spec) )  
                 error("dp_ord : invalid order specification");  
         else {          else {
                   if ( ARG0(arg) && OID(ARG0(arg)) == O_OPTLIST )
                           parse_gr_option(&f,BDY((OPTLIST)ARG0(arg)),&v,&homo,&modular,&spec);
                   else if ( !create_order_spec(0,(Obj)ARG0(arg),&spec) )
                           error("dp_ord : invalid order specification");
                 initd(spec); *rp = spec->obj;                  initd(spec); *rp = spec->obj;
         }          }
 }  }
Line 1468  void parse_gr_option(LIST f,NODE opt,LIST *v,Num *homo
Line 1475  void parse_gr_option(LIST f,NODE opt,LIST *v,Num *homo
                         /* variable list; ignore */                          /* variable list; ignore */
                 } else if ( !strcmp(key,"order") ) {                  } else if ( !strcmp(key,"order") ) {
                         /* order spec */                          /* order spec */
                           if ( !vl )
                                   error("parse_gr_option : variables must be specified");
                         create_order_spec(vl,value,ord);                          create_order_spec(vl,value,ord);
                         ord_is_set = 1;                          ord_is_set = 1;
                 } else if ( !strcmp(key,"block") ) {                  } else if ( !strcmp(key,"block") ) {
                         create_order_spec(0,value,ord);                          create_order_spec(0,value,ord);
                           ord_is_set = 1;
                 } else if ( !strcmp(key,"matrix") ) {                  } else if ( !strcmp(key,"matrix") ) {
                         create_order_spec(0,value,ord);                          create_order_spec(0,value,ord);
                           ord_is_set = 1;
                 } else if ( !strcmp(key,"sugarweight") ) {                  } else if ( !strcmp(key,"sugarweight") ) {
                         /* weight */                          /* weight */
                         Pdp_set_weight(NEXT(p),&dmy);                          Pdp_set_weight(NEXT(p),&dmy);
                         ord_is_set = 1;  
                 } else if ( !strcmp(key,"homo") ) {                  } else if ( !strcmp(key,"homo") ) {
                         *homo = (Num)value;                          *homo = (Num)value;
                         homo_is_set = 1;                          homo_is_set = 1;

Legend:
Removed from v.1.50  
changed lines
  Added in v.1.51

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