#!/usr/bin/env python
# -*- encoding: utf-8 -*-
# fonte: http://blog.elcio.com.br/resolvendo-equacoes-do-segundo-grau-com-python/
# import baskara
# help(baskara)
'''
Funções matemáticas para equações do segundo grau.
'''
from math import sqrt
 
def baskara(a,b,c):
  '''
  Função que fornece as raízes de uma equação do segundo grau.
  No caso de não haver raízes, retorna uma tupla vazia.
  Exemplos:
  >>> baskara(1,5,4)
  (-1.0, -4.0)
  >>> baskara(1,4,4)
  (-2.0,)
  >>> baskara(4,4,4)
  ()
  >>> baskara(0,4,2) # se a é zero, temos uma equação do primeiro grau
  (-0.5,)
  '''
  a,b,c=float(a),float(b),float(c)
  if(a==0):return (-c/b,)
  delta=b**2-4*a*c
  if delta<0:return ()
  if delta==0:return (-b/(2*a),)
  return ((-b+sqrt(delta))/(2*a),(-b-sqrt(delta))/(2*a))
 
if __name__=="__main__":
  # Se rodou o arquivo diretamente, sem importar, roda os testes.
  import doctest
  doctest.testmod()