diff options
author | Bruce Momjian <bruce@momjian.us> | 1997-09-07 05:04:48 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1997-09-07 05:04:48 +0000 |
commit | 1ccd423235a48739d6f7a4d7889705b5f9ecc69b (patch) | |
tree | 8001c4e839dfad8f29ceda7f8c5f5dbb8759b564 /src/tutorial/C-code/complex.c | |
parent | 8fecd4febf8357f3cc20383ed29ced484877d5ac (diff) | |
download | postgresql-1ccd423235a48739d6f7a4d7889705b5f9ecc69b.tar.gz postgresql-1ccd423235a48739d6f7a4d7889705b5f9ecc69b.zip |
Massive commit to run PGINDENT on all *.c and *.h files.
Diffstat (limited to 'src/tutorial/C-code/complex.c')
-rw-r--r-- | src/tutorial/C-code/complex.c | 175 |
1 files changed, 95 insertions, 80 deletions
diff --git a/src/tutorial/C-code/complex.c b/src/tutorial/C-code/complex.c index 8c83665c803..1041ff5ff71 100644 --- a/src/tutorial/C-code/complex.c +++ b/src/tutorial/C-code/complex.c @@ -12,79 +12,82 @@ #include "utils/palloc.h" #include "utils/mcxt.h" -typedef struct Complex { - double x; - double y; -} Complex; +typedef struct Complex +{ + double x; + double y; +} Complex; /* These prototypes declare the requirements that Postgres places on these user written functions. */ -Complex * complex_in(char *str); -char * complex_out(Complex *complex); -Complex * complex_add(Complex *a, Complex *b); -bool complex_abs_lt(Complex *a, Complex *b); -bool complex_abs_le(Complex *a, Complex *b); -bool complex_abs_eq(Complex *a, Complex *b); -bool complex_abs_ge(Complex *a, Complex *b); -bool complex_abs_gt(Complex *a, Complex *b); -int4 complex_abs_cmp(Complex *a, Complex *b); +Complex *complex_in(char *str); +char *complex_out(Complex * complex); +Complex *complex_add(Complex * a, Complex * b); +bool complex_abs_lt(Complex * a, Complex * b); +bool complex_abs_le(Complex * a, Complex * b); +bool complex_abs_eq(Complex * a, Complex * b); +bool complex_abs_ge(Complex * a, Complex * b); +bool complex_abs_gt(Complex * a, Complex * b); +int4 complex_abs_cmp(Complex * a, Complex * b); /***************************************************************************** * Input/Output functions *****************************************************************************/ -Complex * +Complex * complex_in(char *str) { - double x, y; - Complex *result; - - if (sscanf(str, " ( %lf , %lf )", &x, &y) != 2) { - elog(WARN, "complex_in: error in parsing \"%s\"", str); - return NULL; - } - result = (Complex *)palloc(sizeof(Complex)); - result->x = x; - result->y = y; - return (result); + double x, + y; + Complex *result; + + if (sscanf(str, " ( %lf , %lf )", &x, &y) != 2) + { + elog(WARN, "complex_in: error in parsing \"%s\"", str); + return NULL; + } + result = (Complex *) palloc(sizeof(Complex)); + result->x = x; + result->y = y; + return (result); } /* * You might have noticed a slight inconsistency between the following * declaration and the SQL definition: - * CREATE FUNCTION complex_out(opaque) RETURNS opaque ... + * CREATE FUNCTION complex_out(opaque) RETURNS opaque ... * The reason is that the argument pass into complex_out is really just a * pointer. POSTGRES thinks all output functions are: - * char *out_func(char *); + * char *out_func(char *); */ -char * -complex_out(Complex *complex) +char * +complex_out(Complex * complex) { - char *result; + char *result; - if (complex == NULL) - return(NULL); + if (complex == NULL) + return (NULL); - result = (char *) palloc(60); - sprintf(result, "(%g,%g)", complex->x, complex->y); - return(result); + result = (char *) palloc(60); + sprintf(result, "(%g,%g)", complex->x, complex->y); + return (result); } /***************************************************************************** * New Operators *****************************************************************************/ -Complex * -complex_add(Complex *a, Complex *b) +Complex * +complex_add(Complex * a, Complex * b) { - Complex *result; - - result = (Complex *)palloc(sizeof(Complex)); - result->x = a->x + b->x; - result->y = a->y + b->y; - return (result); + Complex *result; + + result = (Complex *) palloc(sizeof(Complex)); + result->x = a->x + b->x; + result->y = a->y + b->y; + return (result); } @@ -95,50 +98,62 @@ complex_add(Complex *a, Complex *b) #define Mag(c) ((c)->x*(c)->x + (c)->y*(c)->y) bool -complex_abs_lt(Complex *a, Complex *b) +complex_abs_lt(Complex * a, Complex * b) { - double amag = Mag(a), bmag = Mag(b); - return (amag<bmag); + double amag = Mag(a), + bmag = Mag(b); + + return (amag < bmag); } bool -complex_abs_le(Complex *a, Complex *b) +complex_abs_le(Complex * a, Complex * b) { - double amag = Mag(a), bmag = Mag(b); - return (amag<=bmag); + double amag = Mag(a), + bmag = Mag(b); + + return (amag <= bmag); } bool -complex_abs_eq(Complex *a, Complex *b) +complex_abs_eq(Complex * a, Complex * b) { - double amag = Mag(a), bmag = Mag(b); - return (amag==bmag); + double amag = Mag(a), + bmag = Mag(b); + + return (amag == bmag); } bool -complex_abs_ge(Complex *a, Complex *b) +complex_abs_ge(Complex * a, Complex * b) { - double amag = Mag(a), bmag = Mag(b); - return (amag>=bmag); + double amag = Mag(a), + bmag = Mag(b); + + return (amag >= bmag); } bool -complex_abs_gt(Complex *a, Complex *b) +complex_abs_gt(Complex * a, Complex * b) { - double amag = Mag(a), bmag = Mag(b); - return (amag>bmag); + double amag = Mag(a), + bmag = Mag(b); + + return (amag > bmag); } int4 -complex_abs_cmp(Complex *a, Complex *b) +complex_abs_cmp(Complex * a, Complex * b) { - double amag = Mag(a), bmag = Mag(b); - if (amag < bmag) - return -1; - else if (amag > bmag) - return 1; - else - return 0; + double amag = Mag(a), + bmag = Mag(b); + + if (amag < bmag) + return -1; + else if (amag > bmag) + return 1; + else + return 0; } /***************************************************************************** @@ -151,21 +166,21 @@ complex_abs_cmp(Complex *a, Complex *b) * POSTGRES crashing, it is impossible to tell whether the bug is in your * code or POSTGRES's. */ -void test_main(void); +void test_main(void); void test_main() { - Complex *a; - Complex *b; - - a = complex_in("(4.01, 3.77 )"); - printf("a = %s\n", complex_out(a)); - b = complex_in("(1.0,2.0)"); - printf("b = %s\n", complex_out(b)); - printf("a + b = %s\n", complex_out(complex_add(a,b))); - printf("a < b = %d\n", complex_abs_lt(a,b)); - printf("a <= b = %d\n", complex_abs_le(a,b)); - printf("a = b = %d\n", complex_abs_eq(a,b)); - printf("a >= b = %d\n", complex_abs_ge(a,b)); - printf("a > b = %d\n", complex_abs_gt(a,b)); + Complex *a; + Complex *b; + + a = complex_in("(4.01, 3.77 )"); + printf("a = %s\n", complex_out(a)); + b = complex_in("(1.0,2.0)"); + printf("b = %s\n", complex_out(b)); + printf("a + b = %s\n", complex_out(complex_add(a, b))); + printf("a < b = %d\n", complex_abs_lt(a, b)); + printf("a <= b = %d\n", complex_abs_le(a, b)); + printf("a = b = %d\n", complex_abs_eq(a, b)); + printf("a >= b = %d\n", complex_abs_ge(a, b)); + printf("a > b = %d\n", complex_abs_gt(a, b)); } |