Mercurial > hg > amuse
changeset 118:d574d015f5af
More documentation
darcs-hash:20070727112332-f76cc-397a752c91dc5168910e87fd072a75e272875946.gz
author | David Lewis <d.lewis@gold.ac.uk> |
---|---|
date | Fri, 27 Jul 2007 12:23:32 +0100 |
parents | 0190c6ad759e |
children | f07d4596290b |
files | base/generics.lisp base/methods.lisp |
diffstat | 2 files changed, 24 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/base/generics.lisp Thu Jul 26 17:10:39 2007 +0100 +++ b/base/generics.lisp Fri Jul 27 12:23:32 2007 +0100 @@ -181,38 +181,50 @@ (:documentation "Subtraction for time designators")) (defgeneric time> (object1 object2) - (:documentation "> operator for time designators")) + (:documentation "> operator for moment designators")) (defgeneric time< (object1 object2) - (:documentation "< operator for time designators") + (:documentation "< operator for moment designators") (:method (o1 o2) (time> o2 o1))) (defgeneric time= (object1 object2) - (:documentation "= operator for time designators")) + (:documentation "= operator for moment designators")) (defgeneric time>= (object1 object2) - (:documentation ">= operator for time designators") + (:documentation ">= operator for moment designators") (:method (o1 o2) (or (time> o1 o2) (time= o1 o2)))) (defgeneric time<= (object1 object2) - (:documentation "<= operator for time designators") + (:documentation "<= operator for moment designators") (:method (o1 o2) (or (time< o1 o2) (time= o1 o2)))) (defgeneric time/= (object1 object2) - (:documentation "not = operator for time designators") + (:documentation "not = operator for moment designators") (:method (o1 o2) (not (time= o1 o2)))) ;;; Duration protocol -(defgeneric duration> (object1 object2)) +(defgeneric duration> (object1 object2) + (:documentation "> operator for period designators")) (defgeneric duration< (object1 object2) + (:documentation "< operator for period designators") (:method (o1 o2) (duration> o2 o1))) -(defgeneric duration= (object1 object2)) +(defgeneric duration= (object1 object2) + (:documentation "= operator for period designators")) (defgeneric duration>= (object1 object2) + (:documentation ">= operator for period designators") (:method (o1 o2) (or (duration> o1 o2) (duration= o1 o2)))) (defgeneric duration<= (object1 object2) + (:documentation "<= operator for period designators") (:method (o1 o2) (or (duration< o1 o2) (duration= o1 o2)))) (defgeneric duration/= (object1 object2) + (:documentation "not = operator for period designators") (:method (o1 o2) (not (duration= o1 o2)))) ;; for linear scaling: -(defgeneric duration* (object1 object2)) -(defgeneric duration/ (object1 number)) +(defgeneric duration* (object1 object2) + (:documentation "Multiplication operator for period + designators. Intuitively, this makes sense, but it may cause us + trouble with some implementations in the future.")) +(defgeneric duration/ (object1 number) + (:documentation "Division operator for period designators. This + may turn out not to mean much. Division is probably useful, but + we may need to define what we mean with care.")) ;;; Pitch protocol
--- a/base/methods.lisp Thu Jul 26 17:10:39 2007 +0100 +++ b/base/methods.lisp Fri Jul 27 12:23:32 2007 +0100 @@ -180,7 +180,8 @@ (defmethod time+ ((object1 period) (object2 moment)) ;? "(time+ <period> <moment>) -> <moment> Implemented as a -straightforward summation." +straightforward summation and defined by default as (time+ +<moment> <period>)." (time+ object2 object1)) (defmethod time+ ((object1 period) (object2 period))