# 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