Browse Source

Add to-sexp for divisions

Samuel W. Flint 5 years ago
parent
commit
15411e8765
1 changed files with 12 additions and 7 deletions
  1. 12 7
      larcs.org

+ 12 - 7
larcs.org

@@ -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