(.require
 [library
  [lux (.except)
   ["$" documentation]
   [data
    ["[0]" text (.only \n)
     ["%" \\format (.only format)]]]]]
 [\\library
  ["[0]" /]])

(def .public documentation
  (.List $.Documentation)
  (list ($.module /._
                  "Complex arithmetic.")

        ($.definition /.i)
        ($.definition /.+one)
        ($.definition /.-one)
        ($.definition /.zero)
        ($.definition /.not_a_number?)
        ($.definition /.=)
        ($.definition /.+)
        ($.definition /.-)
        ($.definition /.equivalence)
        ($.definition /.opposite)
        ($.definition /.signum)
        ($.definition /.conjugate)
        ($.definition /.*')
        ($.definition /.*)
        ($.definition /./)
        ($.definition /./')
        ($.definition /.%)
        ($.definition /.cos)
        ($.definition /.cosh)
        ($.definition /.sin)
        ($.definition /.sinh)
        ($.definition /.tan)
        ($.definition /.tanh)
        ($.definition /.abs)
        ($.definition /.exp)
        ($.definition /.log)
        ($.definition /.pow)
        ($.definition /.pow')
        ($.definition /.root_2)
        ($.definition /.reciprocal)
        ($.definition /.acos)
        ($.definition /.asin)
        ($.definition /.atan)
        ($.definition /.argument)
        ($.definition /.roots)
        ($.definition /.approximately?)

        ($.definition /.Complex
          "A complex number.")

        ($.definition /.complex
          "Complex literals."
          [(complex real imaginary)]
          ["The imaginary part can be omitted if it's +0.0."
           (complex real)])
        ))
