Changeset 5a9e7b in git for kernel/structs.h
- Timestamp:
- Jan 3, 2007, 1:17:12 AM (17 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- 3d11074289ae1a5160b095ecdc1e4d8279ffedc5
- Parents:
- 6dbc9674142dc50c311aab80c025def4c3a3bf08
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/structs.h
r6dbc96 r5a9e7b 4 4 * Computer Algebra System SINGULAR * 5 5 ****************************************/ 6 /* $Id: structs.h,v 1.2 5 2006-12-15 17:16:07 SingularExp $ */6 /* $Id: structs.h,v 1.26 2007-01-03 00:17:12 motsak Exp $ */ 7 7 /* 8 8 * ABSTRACT … … 64 64 typedef long int64; 65 65 #else 66 #error int64 undefined 66 #error int64 undefined 67 67 #endif 68 68 … … 101 101 }; 102 102 103 #ifdef HAVE_PLURAL103 // #ifdef HAVE_PLURAL 104 104 enum nc_type 105 105 { 106 nc_general=0, /* yx=q xy+... */ 106 nc_error = -1, // Something's gone wrong! 107 nc_general = 0, /* yx=q xy+... */ 107 108 nc_skew, /*1*/ /* yx=q xy */ 108 109 nc_comm, /*2*/ /* yx= xy */ 109 110 nc_lie, /*3*/ /* yx=xy+... */ 110 nc_undef /*4*/ /* for internal reasons */ 111 }; 112 #endif 111 nc_undef, /*4*/ /* for internal reasons */ 112 113 nc_exterior /*5*/ // Exterior Algebra(SCA): yx= -xy & (!:) x^2 = 0 114 }; 115 // #endif 113 116 114 117 typedef enum { LT_NONE, LT_NOTFOUND, LT_SINGULAR, LT_ELF, LT_HPUX, LT_MACH_O} lib_types; … … 144 147 typedef struct n_Procs_s n_Procs_s; 145 148 146 #ifdef HAVE_PLURAL149 // #ifdef HAVE_PLURAL 147 150 struct nc_struct; 148 151 typedef struct nc_struct nc_struct; 149 #endif152 // #endif 150 153 151 154 typedef struct _ssubexpr sSubexpr; … … 410 413 }; 411 414 412 #ifdef HAVE_PLURAL 415 // #ifdef HAVE_PLURAL 416 // NC pProcs: 417 typedef poly (*mm_Mult_p_Proc_Ptr)(const poly m, poly p, const ring r); 418 typedef poly (*mm_Mult_pp_Proc_Ptr)(const poly m, const poly p, const ring r); 419 420 typedef ideal (*GB_Proc_Ptr)(const ideal F, const ideal Q, const intvec *w, const intvec *hilb, kStrategy strat); 421 422 typedef poly (*SPoly_Proc_Ptr)(const poly p1, const poly p2, const ring r); 423 typedef poly (*SPolyReduce_Proc_Ptr)(const poly p1, poly p2, const ring r); 424 425 typedef void (*Bucket_Proc_Ptr)(kBucket_pt b, poly p, number *c); 426 427 struct nc_pProcs 428 { 429 public: 430 mm_Mult_p_Proc_Ptr mm_Mult_p; 431 mm_Mult_pp_Proc_Ptr mm_Mult_pp; 432 433 Bucket_Proc_Ptr BucketPolyRed; 434 Bucket_Proc_Ptr BucketPolyRed_Z; 435 436 SPoly_Proc_Ptr SPoly; 437 SPolyReduce_Proc_Ptr ReduceSPoly; 438 439 GB_Proc_Ptr GB; 440 // GlobalGB, // BBA 441 // LocalGB; // MORA 442 }; 443 444 445 struct nc_struct 446 { 447 short ref; 448 nc_type type; 449 ring basering; // the ring C,D,.. live in 450 matrix C; 451 matrix D; 452 matrix *MT; 453 matrix COM; 454 int *MTsize; 455 456 // IsSkewConstantindicates whethere coeffs C_ij are all equal, effective together with nc_type=nc_skew 457 int IsSkewConstant; 458 459 private: 460 // treat variables from iAltVarsStart till iAltVarsEnd as alternating vars. 461 // these variables should have odd degree, though that will not be checked 462 // iAltVarsStart, iAltVarsEnd are only used together with nc_type=nc_exterior 463 // 1 <= iAltVarsStart <= iAltVarsEnd <= r->N 464 unsigned int iFirstAltVar, iLastAltVar; 465 466 public: 467 inline unsigned int& FirstAltVar() { return (iFirstAltVar); }; 468 inline unsigned int& LastAltVar () { return (iLastAltVar ); }; 469 470 inline unsigned int FirstAltVar() const { return (iFirstAltVar); }; 471 inline unsigned int LastAltVar () const { return (iLastAltVar ); }; 472 473 public: 474 nc_pProcs p_Procs; // NC procedures. 475 476 }; 477 // #endif 478 #if 0 413 479 struct nc_struct 414 480 { … … 425 491 }; 426 492 #endif 493 427 494 428 495 struct sip_sring
Note: See TracChangeset
for help on using the changeset viewer.