close Warning: Can't synchronize with repository "(default)" (The repository directory has changed, you should resynchronize the repository with: trac-admin $ENV repository resync '(default)'). Look in the Trac log for more information.

Changeset 2022 for branches


Ignore:
Timestamp:
2015-06-17T15:34:57-07:00 (9 years ago)
Author:
Marek Rychlik
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/f4grobner/monom.lisp

    r1967 r2022  
    7474  'fixnum)
    7575
    76 (deftype monom (&optional dim)
    77   "Type of monomial."
    78   `(simple-array exponent (,dim)))
     76(defclass monom ()
     77  ((dim       :initarg :dimension)
     78   (exponents :initarg :exponents))
     79  (:default-initargs :dim 0 :exponents nil))
    7980
    8081;; If a monomial is redefined as structure with slot EXPONENTS, the function
     
    8889                                (initial-exponents-supplied-p (length initial-exponents))
    8990                                (t (error "You must provide DIMENSION nor INITIAL-EXPONENTS"))))
    90                      (monom (cond
    91                               ;; when exponents are supplied
    92                               (initial-exponents-supplied-p
    93                                (make-array (list dim) :initial-contents initial-exponents
    94                                            :element-type 'exponent))
    95                               ;; when all exponents are to be identical
    96                               (initial-exponent-supplied-p
    97                                (make-array (list dim) :initial-element initial-exponent
    98                                            :element-type 'exponent))
    99                               ;; otherwise, all exponents are zero
    100                               (t
    101                                (make-array (list dim) :element-type 'exponent :initial-element 0)))))
     91                     (exponents (cond
     92                                  ;; when exponents are supplied
     93                                  (initial-exponents-supplied-p
     94                                   (make-array (list dim) :initial-contents initial-exponents
     95                                               :element-type 'exponent))
     96                                  ;; when all exponents are to be identical
     97                                  (initial-exponent-supplied-p
     98                                   (make-array (list dim) :initial-element initial-exponent
     99                                               :element-type 'exponent))
     100                                  ;; otherwise, all exponents are zero
     101                                  (t
     102                                   (make-array (list dim) :element-type 'exponent :initial-element 0)))))
    102103  "A constructor (factory) of monomials. If DIMENSION is given, a sequence of
    103104DIMENSION elements of type EXPONENT is constructed, where individual
     
    105106Alternatively, all elements may be specified as a list
    106107INITIAL-EXPONENTS."
    107   monom)
     108  (make-instance 'monom :dim dim :exponents exponents))
    108109
    109110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Note: See TracChangeset for help on using the changeset viewer.