This is a C-language extension that implements a user-defined type (UDT) for complex numbers.
This extension defines a new composite type, complex, that consists of two float8 values representing the real and imaginary components of the complex number.
You can use the type complex as any other type. A value can be initialized with a single value (intepreted as the real component of the complex number) or a pair of values (interpreted as the real and imaginary components of a complex number.)
Several operators and functions have been defined that work with this type.
'-' (negation) Returns the negation of a complex number.
'~' (complex conjugate) Returns the complex conjugate of a complex number.
'+' (addition) Returns the addition of a complex number with another complex number or a real number.
'-' (subtraction) Returns the subtraction of a complex number or a real number from another complex number or real number.
'*' (multiplication) Returns the product of complex number with another complex number or a real number.
'/' (division) Returns the division of complex number with a real number.
magnitude(x) Returns the magnitude of a complex number. This is identical to the square root of the product of a complex number with its complex conjugate.
norm(x) Returns the complex number that is normalized to the unit circle. This means that x = magnitude(x) * norm(x) and magnitude(norm(x)) = 1. This method will return null if x = 0.
Returns the real component of the complex number.
Returns the imaginary component of the complex number.
The most recent version of this project can be found at http://github.com/beargiles/pg_complex.
[Bear Giles email@example.com]
Copyright and License
Copyright (c) 2015 Bear Giles firstname.lastname@example.org.