projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
AGGREGATE: Simplify code.
[pspp]
/
src
/
language
/
stats
/
aggregate.c
diff --git
a/src/language/stats/aggregate.c
b/src/language/stats/aggregate.c
index 7625a6f1a76496803ee5b7e20bcb345252107009..15376f62b88142c10fadbcba0720519df66a890c 100644
(file)
--- a/
src/language/stats/aggregate.c
+++ b/
src/language/stats/aggregate.c
@@
-87,16
+87,6
@@
struct agr_var
struct casewriter *writer;
};
struct casewriter *writer;
};
-/* Aggregation functions. */
-enum
- {
- SUM, MEAN, MEDIAN, SD, MAX, MIN, PGT, PLT, PIN, POUT, FGT, FLT, FIN,
- FOUT, N, NU, NMISS, NUMISS, FIRST, LAST,
-
- FUNC = 0x1f, /* Function mask. */
- FSTRING = 1<<5, /* String function bit. */
- };
-
/* Attributes of aggregation functions. */
const struct agr_func agr_func_tab[] =
/* Attributes of aggregation functions. */
const struct agr_func agr_func_tab[] =
@@
-463,14
+453,8
@@
parse_aggregate_functions (struct lexer *lexer, const struct dictionary *dict,
goto error;
}
goto error;
}
- exclude = MV_ANY;
-
ds_assign_string (&function_name, lex_tokstr (lexer));
ds_assign_string (&function_name, lex_tokstr (lexer));
-
- ds_chomp (&function_name, '.');
-
- if (lex_tokid(lexer)[strlen (lex_tokid (lexer)) - 1] == '.')
- exclude = MV_SYSTEM;
+ exclude = ds_chomp (&function_name, '.') ? MV_SYSTEM : MV_ANY;
for (function = agr_func_tab; function->name; function++)
if (!strcasecmp (function->name, ds_cstr (&function_name)))
for (function = agr_func_tab; function->name; function++)
if (!strcasecmp (function->name, ds_cstr (&function_name)))