diff base/methods.lisp @ 73:c9b0739d8dd6

A few small changes, mostly for speed darcs-hash:20070710100856-f76cc-7977785c9dbc9e1edf86ebdbfe6e82b9176d7372.gz
author David Lewis <d.lewis@gold.ac.uk>
date Tue, 10 Jul 2007 11:08:56 +0100
parents 8b31d54c95be
children 4e1538df0d10
line wrap: on
line diff
--- a/base/methods.lisp	Wed Jul 04 15:20:05 2007 +0100
+++ b/base/methods.lisp	Tue Jul 10 11:08:56 2007 +0100
@@ -24,6 +24,11 @@
 (defmethod (setf timepoint) ((value real) (moment-designator moment))
   (setf (%moment-time moment-designator) value))
 
+(defmethod cut-off ((anchored-period-designator anchored-period))
+  (make-instance 'moment
+		 :time (+ (%moment-time anchored-period-designator)
+			  (%period-interval anchored-period-designator))))
+
 (defmethod beat-units-per-bar ((time-signature basic-time-signature))
   (%basic-time-signature-numerator time-signature))
 
@@ -116,6 +121,9 @@
 (defmethod time> ((object1 moment) (object2 moment))
   (> (timepoint object1) (timepoint object2)))
 
+(defmethod time< ((object1 moment) (object2 moment))
+  (< (timepoint object1) (timepoint object2)))
+
 (defmethod time= ((object1 moment) (object2 moment))
   (= (timepoint object1) (timepoint object2)))