Here is a bug fix and some spelling changes for the complex number tutorial

code. I have also written a complete complex number package based on this
tutorial; I will submit this as a contribution soon. Is there a particular
format for contributed tar files? I have a C source file, two SQL files, and a
Makefile.

Thomas Lockhart
This commit is contained in:
Bruce Momjian 1996-12-28 02:22:12 +00:00
parent cb6cb7745d
commit 221d7296aa
2 changed files with 10 additions and 9 deletions

View File

@ -113,9 +113,9 @@ int4
complex_abs_cmp(Complex *a, Complex *b)
{
double amag = Mag(a), bmag = Mag(b);
if (a < b)
if (amag < bmag)
return -1;
else if (a > b)
else if (amag > bmag)
return 1;
else
return 0;

View File

@ -2,12 +2,12 @@
--
-- complex.sql-
-- This file shows how to create a new user-defined type and how to
-- use them.
-- use this new type.
--
--
-- Copyright (c) 1994, Regents of the University of California
--
-- $Id: complex.source,v 1.1.1.1 1996/07/09 06:22:34 scrappy Exp $
-- $Id: complex.source,v 1.2 1996/12/28 02:22:07 momjian Exp $
--
---------------------------------------------------------------------------
@ -105,7 +105,7 @@ SELECT a + '(1.0,1.0)'::complex AS aa,
-----------------------------
-- Creating aggregate functions
-- you can also define aggregate functions. The syntax is some what
-- you can also define aggregate functions. The syntax is somewhat
-- cryptic but the idea is to express the aggregate in terms of state
-- transition functions.
-----------------------------
@ -122,8 +122,8 @@ SELECT complex_sum(a) FROM test_complex;
-------------------------------------------------------------------------------
-- ATTENTION! ATTENTION! ATTENTION! --
-- YOU MAY SKIP THE SECTION BELOW ON INTERFACING WITH INDICIES. YOU DON'T --
-- NEED THE FOLLOWING IF YOU DON'T USE INDICIES WITH NEW DATA TYPES. --
-- YOU MAY SKIP THE SECTION BELOW ON INTERFACING WITH INDICES. YOU DON'T --
-- NEED THE FOLLOWING IF YOU DON'T USE INDICES WITH NEW DATA TYPES. --
-------------------------------------------------------------------------------
SELECT 'READ ABOVE!' AS STOP;
@ -239,7 +239,8 @@ INSERT INTO pg_amproc (amid, amopclaid, amproc, amprocnum)
and proname = 'complex_abs_cmp';
-- now, we can define a btree index on complex types. First, let's populate
-- the table (THIS DOESN'T ACTUALLY WORK. YOU NEED MANY MORE TUPLES.)
-- the table. Note that postgres needs many more tuples to start using the
-- btree index during selects.
INSERT INTO test_complex VALUES ('(56.0,-22.5)', '(-43.2,-0.07)')
INSERT INTO test_complex VALUES ('(-91.9,33.6)', '(8.6,3.0)');
@ -248,4 +249,4 @@ CREATE INDEX test_cplx_ind ON test_complex
SELECT * from test_complex where a = '(56.0,-22.5)';
SELECT * from test_complex where a < '(56.0,-22.5)';
SELECT * from test_complex where a > '(56.0,-22.5)';
SELECT * from test_complex where a > '(56.0,-22.5)';