[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: build break on compute-dialog.c with VPATH build
From: |
Ben Pfaff |
Subject: |
Re: build break on compute-dialog.c with VPATH build |
Date: |
Sun, 15 Apr 2007 23:42:11 -0600 |
User-agent: |
Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux) |
John Darrington <address@hidden> writes:
> On Sun, Apr 15, 2007 at 09:08:02PM -0600, Ben Pfaff wrote:
> > I notice that later versions of the spss gui allow the user to filter
> > the list of functions according to their class (eg Trig, Date/Time
> > etc.) Maybe we could add a field to struct operation which contains
> > the class? I guess this can wait until later 'tho.
>
> This is pretty easy if you don't need to get the functions in
> order sorted by category. If that's OK I can add a category
> field pretty easily.
So I thought about categories a little, and it seems to me that
we want something like this, which also indicates my proposed
syntax for operation.def. The first word after "category" is a
name for identifiers (which will probably go into an enum), the
quoted string is a name for the category, and the parenthesized
list gives the functions in the category (and accepts wildcards):
category math "Mathematics" (
ABS, EXP, LG10, LN, LNGAMMA, MOD10, RND, SQRT, TRUNC, MOD);
category trig "Trigonometry" (
COS, ASIN, ATAN, ARCOS, ARSIN, ARTAN, COS, SIN, TAN);
category missing "Missing Values" (NMISS, NVALID, MISSING, SYSMIS, VALUE);
category set "Set Membership" (ANY, RANGE);
category stat "Statistics" (CFVAR, MAX, MEAN, MIN, MAX, SD, SUM, VARIANCE);
category string "Strings" (
CONCAT, INDEX, RINDEX, LENGTH, LOWER, MBLEN.BYTE, UPCASE, LPAD, RPAD,
LTRIM,
RTRIM, NUMBER, STRING, SUBSTR);
category time "Time Construction" (TIME.*);
category ctime "Time Conversion" (CTIME.*);
category date "Date Construction" (DATE.*);
category xdate "Date Extraction" (XDATE.*);
category datemath "Date Arithmetic" (DATESUM DATEDIFF);
category misc "Miscellaneous" (LAG, YRMODA, VALUELABEL);
category pdf "Statistical Functions: Probability Density" (PDF.*);
category cdf "Statistical Functions: Cumulative Distribution" (CDF.*);
category idf "Statistical Functions: Inverse Distribution" (IDF.*);
category rv "Statistical Functions: Random Variates" (RV.*);
category ncdf "Statistical Functions: Noncentral Cumulative Distribution"
(NCDF.*);
category npdf "Statistical Functions: Noncentral Probability Density"
(NCDF.*);
category sig "Statistical Functions: Significance" (SIG.*);
category beta "Distribution: Beta" (*.BETA);
category bvnor "Distribution: Bivariate Normal" (*.BVNOR);
category cauchy "Distribution: Cauchy" (*.CAUCHY);
category chisq "Distribution: Chi-Square" (*.CHISQ);
category exp "Distribution: Exponential" (*.EXP);
category xpower "Distribution: Exponential Power" (*.XPOWER);
category f "Distribution: F" (*.F);
category gamma "Distribution: Gamma" (*.GAMMA);
category halfnrm "Distribution: Half-Normal" (*.HALFNRM);
category iguass "Distribution: Inverse Gaussian" (*.IGAUSS);
category landau "Distribution: Landau" (*.LANDAU);
category laplace "Distribution: Levy Alpha-Stable" (*.LEVY);
category lvskew "Distribution: Levy Skew Alpha-Stable" (*.LVSKEW);
category logistic "Distribution: Logistic" (*.LOGISTIC);
category lnormal "Distribution: Lognormal" (*.LOGNORMAL);
category normal "Distribution: Normal" (*.NORMAL);
category ntail "Distribution: Normal Tail" (*.NTAIL);
category pareto "Distribution: Pareto" (*.PARETO);
category rayleigh "Distribution: Rayleigh" (*.RAYLEIGH);
category smod "Distribution: Studentized Maximum Modulus" (*.SMOD);
category srange "Distribution: Studentized Range" (*.SRANGE);
category t "Distribution: Student T" (*.T);
category t1g "Distribution: Type-1 Gumbel" (*.T1G);
category t2g "Distribution: Type-2 Gumbel" (*.T2G);
category uniform "Distribution: Uniform" (*.UNIFORM);
category weibull "Distribution: Weibull" (*.WEIBULL);
category bernoulli "Distribution: Bernoulli" (*.BERNOULLI);
category binom "Distribution: Binomial" (*.BINOM);
category geom "Distribution: Geometric" (*.GEOM);
category hyper "Distribution: Hypergeometric" (*.HYPER);
category log "Distribution: Logarithmic" (*.LOG);
category negbin "Distribution: Negative Binomial" (*.NEGBIN);
category poisson "Distribution: Poisson" (*.POISSON);
The only real difference is that we break down the statistical
functions into subcategories, and do so along two axes: by the
type of statistical function and by the distribution. The list
of categories could either be hierarchical with a colon in the
category name indicating the hierarchy, or it could just be a
flat list with any category name that contains a colon sorted
after any name that doesn't, seeing as the most common functions
will probably not be those in subcategories.
I haven't implemented this, just started thinking over
categories. If you like it, I could implement it. (The
expressions part, I mean; not the GUI part.)
--
"Unix... is not so much a product
as it is a painstakingly compiled oral history
of the hacker subculture."
--Neal Stephenson
- build break on compute-dialog.c with VPATH build, Ben Pfaff, 2007/04/15
- Re: build break on compute-dialog.c with VPATH build, John Darrington, 2007/04/15
- Re: build break on compute-dialog.c with VPATH build, Ben Pfaff, 2007/04/15
- Re: build break on compute-dialog.c with VPATH build, John Darrington, 2007/04/15
- Re: build break on compute-dialog.c with VPATH build, Ben Pfaff, 2007/04/15
- Re: build break on compute-dialog.c with VPATH build, John Darrington, 2007/04/15
- Re: build break on compute-dialog.c with VPATH build,
Ben Pfaff <=
- Function categories, John Darrington, 2007/04/16
- Re: Function categories, Ben Pfaff, 2007/04/16
- Re: Function categories, John Darrington, 2007/04/16
- Re: Function categories, Ben Pfaff, 2007/04/16