Mercurial > hg > amuse
comparison generics.lisp @ 11:9f05ce23e71e
More default methods
darcs-hash:20061129122229-f76cc-078113c430c4ae9f6c01056c6e7e6ecd078e7409.gz
author | David Lewis <d.lewis@gold.ac.uk> |
---|---|
date | Wed, 29 Nov 2006 12:22:29 +0000 |
parents | 356ee92313be |
children | f6c08ad94c8a |
comparison
equal
deleted
inserted
replaced
10:356ee92313be | 11:9f05ce23e71e |
---|---|
32 | 32 |
33 (defgeneric time+ (object1 object2)) | 33 (defgeneric time+ (object1 object2)) |
34 (defgeneric time- (object1 object2)) | 34 (defgeneric time- (object1 object2)) |
35 | 35 |
36 (defgeneric time> (object1 object2)) | 36 (defgeneric time> (object1 object2)) |
37 (defgeneric time< (object1 object2)) | 37 (defgeneric time< (object1 object2) |
38 (:method (o1 o2) (time> o2 o1))) | |
38 (defgeneric time= (object1 object2)) | 39 (defgeneric time= (object1 object2)) |
39 (defgeneric time>= (object1 object2) | 40 (defgeneric time>= (object1 object2) |
40 (:method (o1 o2) (or (time> o1 o2) (time= o1 o2)))) | 41 (:method (o1 o2) (or (time> o1 o2) (time= o1 o2)))) |
41 (defgeneric time<= (object1 object2) | 42 (defgeneric time<= (object1 object2) |
42 (:method (o1 o2) (or (time< o1 o2) (time= o1 o2)))) | 43 (:method (o1 o2) (or (time< o1 o2) (time= o1 o2)))) |
45 | 46 |
46 | 47 |
47 ;;; Duration protocol | 48 ;;; Duration protocol |
48 | 49 |
49 (defgeneric duration> (object1 object2)) | 50 (defgeneric duration> (object1 object2)) |
50 (defgeneric duration< (object1 object2)) | 51 (defgeneric duration< (object1 object2) |
52 (:method (o1 o2) (duration> o2 o1))) | |
51 (defgeneric duration= (object1 object2)) | 53 (defgeneric duration= (object1 object2)) |
52 (defgeneric duration>= (object1 object2) | 54 (defgeneric duration>= (object1 object2) |
53 (:method (o1 o2) (or (duration> o1 o2) (duration= o1 o2)))) | 55 (:method (o1 o2) (or (duration> o1 o2) (duration= o1 o2)))) |
54 (defgeneric duration<= (object1 object2) | 56 (defgeneric duration<= (object1 object2) |
55 (:method (o1 o2) (or (duration< o1 o2) (duration= o1 o2)))) | 57 (:method (o1 o2) (or (duration< o1 o2) (duration= o1 o2)))) |
71 | 73 |
72 (defgeneric pitch+ (object1 object2)) | 74 (defgeneric pitch+ (object1 object2)) |
73 (defgeneric pitch- (object1 object2)) | 75 (defgeneric pitch- (object1 object2)) |
74 | 76 |
75 (defgeneric pitch> (object1 object2)) | 77 (defgeneric pitch> (object1 object2)) |
76 (defgeneric pitch< (object1 object2)) | 78 (defgeneric pitch< (object1 object2) |
79 (:method (o1 o2) (pitch> o2 o1))) | |
77 (defgeneric pitch= (object1 object2)) | 80 (defgeneric pitch= (object1 object2)) |
78 (defgeneric pitch>= (object1 object2) | 81 (defgeneric pitch>= (object1 object2) |
79 (:method (o1 o2) (or (pitch> o1 o2) (pitch= o1 o2)))) | 82 (:method (o1 o2) (or (pitch> o1 o2) (pitch= o1 o2)))) |
80 (defgeneric pitch<= (object1 object2) | 83 (defgeneric pitch<= (object1 object2) |
81 (:method (o1 o2) (or (pitch< o1 o2) (pitch= o1 o2)))) | 84 (:method (o1 o2) (or (pitch< o1 o2) (pitch= o1 o2)))) |
83 (:method (o1 o2) (not (pitch= o1 o2)))) | 86 (:method (o1 o2) (not (pitch= o1 o2)))) |
84 | 87 |
85 ;;; Interval protocol (emphasise _pitch_ not _time_ interval?) | 88 ;;; Interval protocol (emphasise _pitch_ not _time_ interval?) |
86 | 89 |
87 (defgeneric interval> (object1 object2)) | 90 (defgeneric interval> (object1 object2)) |
88 (defgeneric interval< (object1 object2)) | 91 (defgeneric interval< (object1 object2) |
92 (:method (o1 o2) (interval> o2 o1))) | |
89 (defgeneric interval= (object1 object2)) | 93 (defgeneric interval= (object1 object2)) |
90 (defgeneric interval>= (object1 object2) | 94 (defgeneric interval>= (object1 object2) |
91 (:method (o1 o2) (or (interval> o1 o2) (interval= o1 o2)))) | 95 (:method (o1 o2) (or (interval> o1 o2) (interval= o1 o2)))) |
92 (defgeneric interval<= (object1 object2) | 96 (defgeneric interval<= (object1 object2) |
93 (:method (o1 o2) (or (interval< o1 o2) (interval= o1 o2)))) | 97 (:method (o1 o2) (or (interval< o1 o2) (interval= o1 o2)))) |