# File lib/facets/more/quaternion.rb, line 224 def Quaternion(a=0, b=0,c=0, d=0) if a.kind_of?(Quaternion); a; elsif a.kind_of?(Complex) and b.kind_of?(Complex); Quaternion.new(a.real, a.image, b.real, b.image) elsif a.kind_of?(Complex); Quaternion.new(a.real, a.image) else Quaternion.new(a,b,c,d); end end