diff --git a/src/main/java/edu/jhu/prim/vector/LongDoubleDenseVector.java b/src/main/java/edu/jhu/prim/vector/LongDoubleDenseVector.java
index <HASH>..<HASH> 100644
--- a/src/main/java/edu/jhu/prim/vector/LongDoubleDenseVector.java
+++ b/src/main/java/edu/jhu/prim/vector/LongDoubleDenseVector.java
@@ -112,9 +112,7 @@ public class LongDoubleDenseVector implements LongDoubleVector {
 
     @Override
     public double dot(LongDoubleVector y) {
-        if (y instanceof LongDoubleSortedVector || y instanceof LongDoubleHashVector) {
-            return y.dot(this);
-        } else if (y instanceof LongDoubleDenseVector){
+        if (y instanceof LongDoubleDenseVector){
             LongDoubleDenseVector other = (LongDoubleDenseVector) y;
             int max = Math.min(idxAfterLast, other.idxAfterLast);
             double dot = 0;
@@ -123,11 +121,7 @@ public class LongDoubleDenseVector implements LongDoubleVector {
             }
             return dot;
         } else {
-            double dot = 0;
-            for (int i=0; i<idxAfterLast; i++) {
-                dot += elements[i] * y.get(i);
-            }
-            return dot;
+            return y.dot(this);
         }
     }
Switching dense vectors to call their sparse vector's implementation of dot.