# File lib/facets/more/quaternion.rb, line 511 def tan vec=self.vector; v=vec.abs; if v==0; return Quaternion(Math::tan(@re)); end u = vec/v; e=Math::exp(v); er=1/e; c=e+er; s=e-er co=Math::cos(@re); si=Math::sin(@re); (si*c+u*co*s)/(co*c-u*si*s) end