Assignment 5 : Structure and Signature

Date: 18.3.2010
Due Date: 2.4.2010

Develop a package using SML for complex arithmatics according to the following signature.

signature Complex =
  sig

    datatype complex = RECT of real * real;
    val make_complex: real * real -> complex
    val real_to_complex: real -> complex
    val real_component   : complex -> real
    val imag_component   : complex -> real
    val conjugate   : complex -> complex
    val magnitude   : complex -> real
    val add         : complex * complex -> complex
    val subtract    : complex * complex -> complex
    val mult        : complex * complex -> complex
    val reciprocal  : complex -> complex
    val divide      : complex * complex -> complex
    val square      : complex -> complex
    val size_equalto     : real * complex * complex -> bool
  end;

Note