docs: @Override
      public double dot(Vec v)
      {
          if(v instanceof  ShiftedVec)
          {
              ShiftedVec other = (ShiftedVec) v;
              return this.base.dot(other.base) + other.base.sum()*this.shift + this.base.sum()*other.shift + this.length()*this.shift*other.shift;
          }
          return base.dot(v) + v.sum()*shift;
      }