Browse Source

Copy exponentials

Samuel W. Flint 5 years ago
parent
commit
09ac66a6da
1 changed files with 9 additions and 0 deletions
  1. 9 0
      larcs.org

+ 9 - 0
larcs.org

@@ -495,6 +495,11 @@ There are two primary forms of exponential -- the natural (~exp~) and the genera
     `(expt ,(to-sexp (base expression) resolve-constants-p)
            ,(to-sexp (slot-value expression 'exponent) resolve-constants-p)))
 
+  (defmethod copy-expression ((expression <expt>))
+    (make-instance '<expt>
+                   :base (copy-expression (slot-value expression 'base))
+                   :exponent (copy-expression (slot-value expression 'exponent))))
+
   @export
   (defclass <exp> (<expt>)
     ((exponent :reader exponent
@@ -508,6 +513,10 @@ There are two primary forms of exponential -- the natural (~exp~) and the genera
 
   (defmethod to-sexp ((expression <exp>) &optional resolve-constants-p)
     `(exp (to-sexp (slot-value expression 'exponent) resolve-constants-p)))
+
+  (defmethod copy-expression ((expression <exp>))
+    (make-instance '<exp>
+                   :exponent (copy-expression (slot-value expression 'exponent))))
 #+END_SRC
 
 *** WORKING Logarithmics