class
	APPLICATION

create
	make

feature {NONE}

	make
		local
			z: COMPLEX_NUMBER
		do
			z := Zero
			check
				definition: attached two.complex_product (i)
			then
			end
		end

feature -- Access

	zero: INTEGER_NUMBER_IMPL
			-- The natural number 0
		once
		ensure
			class
			value: Result.value = 0
		end

	one: INTEGER_NUMBER_IMPL
			-- The natural number 1
		once
			Result := 1
		ensure
			class
			value: Result.value = 1
		end

	two: INTEGER_NUMBER_IMPL
			-- The integer number 2
		once
			Result := 2
		ensure
			class
			value: Result.value = 2
		end

	i,
	imaginary_unit: COMPLEX_NUMBER_IMPL
			-- The imaginary unit, i.e. the complex number 0 + 1i.
		once
			create Result.make (Zero, One)
		ensure
			class
			real: Result.a.value = 0
			imaginary: Result.b.value = 1
		end

end
