aboutsummaryrefslogtreecommitdiff
path: root/src/tutorial/C-code/complex.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1997-09-07 05:04:48 +0000
committerBruce Momjian <bruce@momjian.us>1997-09-07 05:04:48 +0000
commit1ccd423235a48739d6f7a4d7889705b5f9ecc69b (patch)
tree8001c4e839dfad8f29ceda7f8c5f5dbb8759b564 /src/tutorial/C-code/complex.c
parent8fecd4febf8357f3cc20383ed29ced484877d5ac (diff)
downloadpostgresql-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.c175
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));
}