|
@@ -289,7 +289,7 @@ Equality of constants is a bit different, and is checked as follows:
|
|
|
(slot-value expression 'name)))
|
|
|
#+END_SRC
|
|
|
|
|
|
-** WORKING Compound Types [3/7]
|
|
|
+** WORKING Compound Types [4/7]
|
|
|
:PROPERTIES:
|
|
|
:ID: a0d2eb19-8a1e-4dee-9b41-c454a49cacc4
|
|
|
:END:
|
|
@@ -397,7 +397,8 @@ Multiplication is one of the more frequently used expression types, and is, surp
|
|
|
(slot-value expression 'terms))))
|
|
|
#+END_SRC
|
|
|
|
|
|
-*** WORKING Divisions
|
|
|
+*** DONE Divisions
|
|
|
+CLOSED: [2019-01-17 Thu 10:12]
|
|
|
:PROPERTIES:
|
|
|
:ID: bcc56ff0-0a6f-4eb6-8185-2cab3eed99da
|
|
|
:END:
|
|
@@ -416,11 +417,15 @@ Division is similar to ~<multiplication>~, although instead of having ~terms~ it
|
|
|
:initarg :denominator
|
|
|
:type <expression>)))
|
|
|
|
|
|
- (defmethod eqal ((expression-a <division>) (expression-b <division>))
|
|
|
- (and (eqal (div-numerator expression-a)
|
|
|
- (div-numerator expression-b))
|
|
|
- (eqal (div-denominator expression-a)
|
|
|
- (div-denominator expression-b))))
|
|
|
+ (defmethod eqal ((expression-a <division>) (expression-b <division>))
|
|
|
+ (and (eqal (div-numerator expression-a)
|
|
|
+ (div-numerator expression-b))
|
|
|
+ (eqal (div-denominator expression-a)
|
|
|
+ (div-denominator expression-b))))
|
|
|
+
|
|
|
+ (defmethod to-sexp ((expression <division>) &optional resolve-constants-p)
|
|
|
+ `(/ ,(to-sexp (slot-value expression 'numerator) resolve-constants-p)
|
|
|
+ ,(to-sexp (slot-value expression 'denominator) resolve-constants-p)))
|
|
|
#+END_SRC
|
|
|
|
|
|
*** WORKING Exponentials
|