msgstr ""
"Project-Id-Version: PSPP 0.4.2\n"
"Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
-"POT-Creation-Date: 2007-03-26 18:17+0800\n"
+"POT-Creation-Date: 2007-04-01 13:38+0800\n"
"PO-Revision-Date: 2006-05-26 17:49+0800\n"
"Last-Translator: John Darrington <john@darrington.wattle.id.au>\n"
"Language-Team: German <pspp-dev@gnu.org>\n"
msgid "Month number %f is not between 1 and 12."
msgstr ""
-#: src/data/dictionary.c:717
+#: src/data/dictionary.c:724
msgid ""
"At least one case in the data file had a weight value that was user-missing, "
"system-missing, zero, or negative. These case(s) were ignored."
msgstr ""
-#: src/data/dictionary.c:1238
+#: src/data/dictionary.c:1245
msgid "Variable suffix too large."
msgstr ""
msgstr ""
#: src/data/format.c:310 src/data/por-file-reader.c:489
-#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:1066
+#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:1075
#: src/ui/gui/psppire-var-store.c:481
msgid "String"
msgstr "Zeichenkette"
#: src/data/format.c:310 src/data/por-file-reader.c:489
-#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:962
+#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:971
#: src/ui/gui/psppire-var-store.c:474
msgid "Numeric"
msgstr "Nummer"
msgid "`%s' may not be used as a variable name because it is a reserved word."
msgstr ""
-#: src/data/variable.c:964
+#: src/data/variable.c:966
msgid "ordinary"
msgstr ""
-#: src/data/variable.c:966
+#: src/data/variable.c:968
msgid "system"
msgstr ""
-#: src/data/variable.c:968
+#: src/data/variable.c:970
msgid "scratch"
msgstr ""
#: src/language/dictionary/sys-file-info.c:160
#: src/language/dictionary/sys-file-info.c:395
#: src/language/dictionary/sys-file-info.c:620
-#: src/language/stats/descriptives.c:879
+#: src/language/stats/descriptives.c:880
msgid "Variable"
msgstr ""
"REREAD: Column numbers must be positive finite numbers. Column set to 1."
msgstr ""
-#: src/language/data-io/list.q:154 src/language/stats/descriptives.c:364
+#: src/language/data-io/list.q:154 src/language/stats/descriptives.c:365
msgid "No variables specified."
msgstr ""
msgstr[1] ""
#: src/language/data-io/print-space.c:75 src/language/lexer/lexer.c:465
-#: src/language/stats/autorecode.c:153 src/language/xforms/select-if.c:61
+#: src/language/stats/autorecode.c:154 src/language/xforms/select-if.c:61
msgid "expecting end of command"
msgstr ""
"will be made permanent."
msgstr ""
-#: src/language/dictionary/delete-variables.c:48
+#: src/language/dictionary/delete-variables.c:49
msgid ""
"DELETE VARIABLES may not be used to delete all variables from the active "
"file dictionary. Use NEW FILE instead."
#: src/language/dictionary/split-file.c:86
#: src/language/dictionary/sys-file-info.c:549
-#: src/language/stats/crosstabs.q:1118 src/language/stats/crosstabs.q:1145
-#: src/language/stats/crosstabs.q:1165 src/language/stats/crosstabs.q:1187
+#: src/language/stats/crosstabs.q:1119 src/language/stats/crosstabs.q:1146
+#: src/language/stats/crosstabs.q:1166 src/language/stats/crosstabs.q:1188
#: src/language/stats/examine.q:1189 src/language/stats/frequencies.q:1145
#: src/language/stats/frequencies.q:1269
msgid "Value"
msgid "expecting number or data string"
msgstr ""
-#: src/language/lexer/variable-parser.c:54
+#: src/language/lexer/variable-parser.c:64
msgid "expecting variable name"
msgstr ""
-#: src/language/lexer/variable-parser.c:64
+#: src/language/lexer/variable-parser.c:74
#, c-format
msgid "%s is not a variable name."
msgstr ""
-#: src/language/lexer/variable-parser.c:173
+#: src/language/lexer/variable-parser.c:183
#, c-format
msgid ""
"%s is not a numeric variable. It will not be included in the variable list."
msgstr ""
-#: src/language/lexer/variable-parser.c:176
+#: src/language/lexer/variable-parser.c:186
#, c-format
msgid ""
"%s is not a string variable. It will not be included in the variable list."
msgstr ""
-#: src/language/lexer/variable-parser.c:180
+#: src/language/lexer/variable-parser.c:190
#, c-format
msgid "Scratch variables (such as %s) are not allowed here."
msgstr ""
-#: src/language/lexer/variable-parser.c:184
+#: src/language/lexer/variable-parser.c:194
#, c-format
msgid ""
"%s and %s are not the same type. All variables in this variable list must "
"be of the same type. %s will be omitted from the list."
msgstr ""
-#: src/language/lexer/variable-parser.c:190
+#: src/language/lexer/variable-parser.c:200
#, c-format
msgid ""
"%s and %s are string variables with different widths. All variables in this "
"variable list must have the same width. %s will be omttied from the list."
msgstr ""
-#: src/language/lexer/variable-parser.c:195
+#: src/language/lexer/variable-parser.c:205
#, c-format
msgid "Variable %s appears twice in variable list."
msgstr ""
-#: src/language/lexer/variable-parser.c:308
+#: src/language/lexer/variable-parser.c:318
#, c-format
msgid "%s TO %s is not valid syntax since %s precedes %s in the dictionary."
msgstr ""
-#: src/language/lexer/variable-parser.c:316
+#: src/language/lexer/variable-parser.c:326
#, c-format
msgid ""
"When using the TO keyword to specify several variables, both variables must "
"system variables. %s is a %s variable, whereas %s is %s."
msgstr ""
-#: src/language/lexer/variable-parser.c:390
+#: src/language/lexer/variable-parser.c:400
msgid "incorrect use of TO convention"
msgstr ""
-#: src/language/lexer/variable-parser.c:433
+#: src/language/lexer/variable-parser.c:443
msgid "Scratch variables not allowed here."
msgstr ""
-#: src/language/lexer/variable-parser.c:455
+#: src/language/lexer/variable-parser.c:465
msgid "Prefixes don't match in use of TO convention."
msgstr ""
-#: src/language/lexer/variable-parser.c:460
+#: src/language/lexer/variable-parser.c:470
msgid "Bad bounds in use of TO convention."
msgstr ""
"contains the aggregate variables and the break variables."
msgstr ""
-#: src/language/stats/autorecode.c:135
+#: src/language/stats/autorecode.c:136
#, c-format
msgid "Source variable count (%u) does not match target variable count (%u)."
msgstr ""
-#: src/language/stats/autorecode.c:163
+#: src/language/stats/autorecode.c:164
#, c-format
msgid "Target variable %s duplicates existing variable %s."
msgstr ""
-#: src/language/stats/autorecode.c:170
+#: src/language/stats/autorecode.c:171
#, c-format
msgid "Duplicate variable name %s among target variables."
msgstr ""
msgstr ""
#: src/language/stats/binomial.c:208 src/language/stats/chisquare.c:237
-#: src/language/stats/chisquare.c:297 src/language/stats/crosstabs.q:825
-#: src/language/stats/crosstabs.q:1025 src/language/stats/crosstabs.q:1748
+#: src/language/stats/chisquare.c:297 src/language/stats/crosstabs.q:826
+#: src/language/stats/crosstabs.q:1026 src/language/stats/crosstabs.q:1749
#: src/language/stats/examine.q:909 src/language/stats/frequencies.q:1222
#: src/language/stats/oneway.q:307 src/language/stats/oneway.q:471
#: src/language/stats/regression.q:324
msgstr ""
#: src/language/stats/binomial.c:253 src/language/stats/chisquare.c:260
-#: src/language/stats/crosstabs.q:1143 src/language/stats/crosstabs.q:1184
+#: src/language/stats/crosstabs.q:1144 src/language/stats/crosstabs.q:1185
msgid "Category"
msgstr ""
-#: src/language/stats/binomial.c:254 src/language/stats/crosstabs.q:835
+#: src/language/stats/binomial.c:254 src/language/stats/crosstabs.q:836
#: src/language/stats/examine.q:985 src/language/stats/frequencies.q:1518
#: src/language/stats/npar-summary.c:124 src/language/stats/oneway.q:392
-#: src/language/stats/t-test.q:681 src/language/stats/t-test.q:704
-#: src/language/stats/t-test.q:830 src/language/stats/t-test.q:1367
+#: src/language/stats/t-test.q:680 src/language/stats/t-test.q:703
+#: src/language/stats/t-test.q:829 src/language/stats/t-test.q:1366
msgid "N"
msgstr ""
msgid "Chi-Square"
msgstr ""
-#: src/language/stats/chisquare.c:325 src/language/stats/crosstabs.q:1119
+#: src/language/stats/chisquare.c:325 src/language/stats/crosstabs.q:1120
#: src/language/stats/oneway.q:280 src/language/stats/oneway.q:681
-#: src/language/stats/regression.q:317 src/language/stats/t-test.q:981
-#: src/language/stats/t-test.q:1173 src/language/stats/t-test.q:1266
+#: src/language/stats/regression.q:317 src/language/stats/t-test.q:980
+#: src/language/stats/t-test.q:1172 src/language/stats/t-test.q:1265
msgid "df"
msgstr ""
msgid "Write mode ALL not allowed in general mode. Assuming WRITE=CELLS."
msgstr ""
-#: src/language/stats/crosstabs.q:337
+#: src/language/stats/crosstabs.q:338
msgid "Too many crosstabulation variables or dimensions."
msgstr ""
-#: src/language/stats/crosstabs.q:347
+#: src/language/stats/crosstabs.q:348
msgid "expecting BY"
msgstr ""
-#: src/language/stats/crosstabs.q:414
+#: src/language/stats/crosstabs.q:415
msgid "VARIABLES must be specified before TABLES."
msgstr ""
-#: src/language/stats/crosstabs.q:452
+#: src/language/stats/crosstabs.q:453
#, c-format
msgid "Maximum value (%ld) less than minimum value (%ld)."
msgstr ""
-#: src/language/stats/crosstabs.q:820
+#: src/language/stats/crosstabs.q:821
msgid "Summary."
msgstr ""
-#: src/language/stats/crosstabs.q:822 src/language/stats/examine.q:973
+#: src/language/stats/crosstabs.q:823 src/language/stats/examine.q:973
msgid "Cases"
msgstr ""
-#: src/language/stats/crosstabs.q:823 src/language/stats/examine.q:907
+#: src/language/stats/crosstabs.q:824 src/language/stats/examine.q:907
#: src/language/stats/frequencies.q:1143 src/language/stats/frequencies.q:1519
msgid "Valid"
msgstr ""
-#: src/language/stats/crosstabs.q:824 src/language/stats/examine.q:908
+#: src/language/stats/crosstabs.q:825 src/language/stats/examine.q:908
#: src/language/stats/frequencies.q:1213 src/language/stats/frequencies.q:1520
#: src/ui/gui/var-sheet.c:73
msgid "Missing"
msgstr "Löse"
-#: src/language/stats/crosstabs.q:836 src/language/stats/examine.q:988
+#: src/language/stats/crosstabs.q:837 src/language/stats/examine.q:988
#: src/language/stats/frequencies.q:1147 src/language/stats/frequencies.q:1148
#: src/language/stats/frequencies.q:1149
msgid "Percent"
msgstr "Prozent"
-#: src/language/stats/crosstabs.q:1077
+#: src/language/stats/crosstabs.q:1078
msgid "count"
msgstr ""
-#: src/language/stats/crosstabs.q:1078
+#: src/language/stats/crosstabs.q:1079
msgid "row %"
msgstr ""
-#: src/language/stats/crosstabs.q:1079
+#: src/language/stats/crosstabs.q:1080
msgid "column %"
msgstr ""
-#: src/language/stats/crosstabs.q:1080
+#: src/language/stats/crosstabs.q:1081
msgid "total %"
msgstr ""
-#: src/language/stats/crosstabs.q:1081
+#: src/language/stats/crosstabs.q:1082
msgid "expected"
msgstr ""
-#: src/language/stats/crosstabs.q:1082
+#: src/language/stats/crosstabs.q:1083
msgid "residual"
msgstr ""
-#: src/language/stats/crosstabs.q:1083
+#: src/language/stats/crosstabs.q:1084
msgid "std. resid."
msgstr ""
-#: src/language/stats/crosstabs.q:1084
+#: src/language/stats/crosstabs.q:1085
msgid "adj. resid."
msgstr ""
-#: src/language/stats/crosstabs.q:1114
+#: src/language/stats/crosstabs.q:1115
msgid "Chi-square tests."
msgstr ""
-#: src/language/stats/crosstabs.q:1117 src/language/stats/crosstabs.q:1144
-#: src/language/stats/crosstabs.q:1164 src/language/stats/crosstabs.q:1185
+#: src/language/stats/crosstabs.q:1118 src/language/stats/crosstabs.q:1145
+#: src/language/stats/crosstabs.q:1165 src/language/stats/crosstabs.q:1186
#: src/language/stats/examine.q:1420
msgid "Statistic"
msgstr ""
-#: src/language/stats/crosstabs.q:1121
+#: src/language/stats/crosstabs.q:1122
msgid "Asymp. Sig. (2-sided)"
msgstr ""
-#: src/language/stats/crosstabs.q:1123
+#: src/language/stats/crosstabs.q:1124
msgid "Exact. Sig. (2-sided)"
msgstr ""
-#: src/language/stats/crosstabs.q:1125
+#: src/language/stats/crosstabs.q:1126
msgid "Exact. Sig. (1-sided)"
msgstr ""
-#: src/language/stats/crosstabs.q:1140
+#: src/language/stats/crosstabs.q:1141
msgid "Symmetric measures."
msgstr ""
-#: src/language/stats/crosstabs.q:1146 src/language/stats/crosstabs.q:1188
+#: src/language/stats/crosstabs.q:1147 src/language/stats/crosstabs.q:1189
msgid "Asymp. Std. Error"
msgstr ""
-#: src/language/stats/crosstabs.q:1147 src/language/stats/crosstabs.q:1189
+#: src/language/stats/crosstabs.q:1148 src/language/stats/crosstabs.q:1190
msgid "Approx. T"
msgstr ""
-#: src/language/stats/crosstabs.q:1148 src/language/stats/crosstabs.q:1190
+#: src/language/stats/crosstabs.q:1149 src/language/stats/crosstabs.q:1191
msgid "Approx. Sig."
msgstr ""
-#: src/language/stats/crosstabs.q:1159
+#: src/language/stats/crosstabs.q:1160
msgid "Risk estimate."
msgstr ""
-#: src/language/stats/crosstabs.q:1163
+#: src/language/stats/crosstabs.q:1164
#, c-format
msgid "95%% Confidence Interval"
msgstr ""
-#: src/language/stats/crosstabs.q:1166 src/language/stats/t-test.q:985
-#: src/language/stats/t-test.q:1170 src/language/stats/t-test.q:1269
+#: src/language/stats/crosstabs.q:1167 src/language/stats/t-test.q:984
+#: src/language/stats/t-test.q:1169 src/language/stats/t-test.q:1268
msgid "Lower"
msgstr ""
-#: src/language/stats/crosstabs.q:1167 src/language/stats/t-test.q:986
-#: src/language/stats/t-test.q:1171 src/language/stats/t-test.q:1270
+#: src/language/stats/crosstabs.q:1168 src/language/stats/t-test.q:985
+#: src/language/stats/t-test.q:1170 src/language/stats/t-test.q:1269
msgid "Upper"
msgstr ""
-#: src/language/stats/crosstabs.q:1181
+#: src/language/stats/crosstabs.q:1182
msgid "Directional measures."
msgstr ""
-#: src/language/stats/crosstabs.q:1186 src/ui/gui/var-sheet.c:68
+#: src/language/stats/crosstabs.q:1187 src/ui/gui/var-sheet.c:68
msgid "Type"
msgstr "Typ"
-#: src/language/stats/crosstabs.q:1940
+#: src/language/stats/crosstabs.q:1941
msgid "Pearson Chi-Square"
msgstr ""
-#: src/language/stats/crosstabs.q:1941
+#: src/language/stats/crosstabs.q:1942
msgid "Likelihood Ratio"
msgstr ""
-#: src/language/stats/crosstabs.q:1942
+#: src/language/stats/crosstabs.q:1943
msgid "Fisher's Exact Test"
msgstr ""
-#: src/language/stats/crosstabs.q:1943
+#: src/language/stats/crosstabs.q:1944
msgid "Continuity Correction"
msgstr ""
-#: src/language/stats/crosstabs.q:1944
+#: src/language/stats/crosstabs.q:1945
msgid "Linear-by-Linear Association"
msgstr ""
-#: src/language/stats/crosstabs.q:1981 src/language/stats/crosstabs.q:2051
-#: src/language/stats/crosstabs.q:2110
+#: src/language/stats/crosstabs.q:1982 src/language/stats/crosstabs.q:2052
+#: src/language/stats/crosstabs.q:2111
msgid "N of Valid Cases"
msgstr ""
-#: src/language/stats/crosstabs.q:1997 src/language/stats/crosstabs.q:2126
+#: src/language/stats/crosstabs.q:1998 src/language/stats/crosstabs.q:2127
msgid "Nominal by Nominal"
msgstr ""
-#: src/language/stats/crosstabs.q:1998 src/language/stats/crosstabs.q:2127
+#: src/language/stats/crosstabs.q:1999 src/language/stats/crosstabs.q:2128
msgid "Ordinal by Ordinal"
msgstr ""
-#: src/language/stats/crosstabs.q:1999
+#: src/language/stats/crosstabs.q:2000
msgid "Interval by Interval"
msgstr ""
-#: src/language/stats/crosstabs.q:2000
+#: src/language/stats/crosstabs.q:2001
msgid "Measure of Agreement"
msgstr ""
-#: src/language/stats/crosstabs.q:2005
+#: src/language/stats/crosstabs.q:2006
msgid "Phi"
msgstr ""
-#: src/language/stats/crosstabs.q:2006
+#: src/language/stats/crosstabs.q:2007
msgid "Cramer's V"
msgstr ""
-#: src/language/stats/crosstabs.q:2007
+#: src/language/stats/crosstabs.q:2008
msgid "Contingency Coefficient"
msgstr ""
-#: src/language/stats/crosstabs.q:2008
+#: src/language/stats/crosstabs.q:2009
msgid "Kendall's tau-b"
msgstr ""
-#: src/language/stats/crosstabs.q:2009
+#: src/language/stats/crosstabs.q:2010
msgid "Kendall's tau-c"
msgstr ""
-#: src/language/stats/crosstabs.q:2010
+#: src/language/stats/crosstabs.q:2011
msgid "Gamma"
msgstr ""
-#: src/language/stats/crosstabs.q:2011
+#: src/language/stats/crosstabs.q:2012
msgid "Spearman Correlation"
msgstr ""
-#: src/language/stats/crosstabs.q:2012
+#: src/language/stats/crosstabs.q:2013
msgid "Pearson's R"
msgstr ""
-#: src/language/stats/crosstabs.q:2013
+#: src/language/stats/crosstabs.q:2014
msgid "Kappa"
msgstr ""
-#: src/language/stats/crosstabs.q:2083
+#: src/language/stats/crosstabs.q:2084
#, c-format
msgid "Odds Ratio for %s (%g / %g)"
msgstr ""
-#: src/language/stats/crosstabs.q:2086
+#: src/language/stats/crosstabs.q:2087
#, c-format
msgid "Odds Ratio for %s (%.*s / %.*s)"
msgstr ""
-#: src/language/stats/crosstabs.q:2094
+#: src/language/stats/crosstabs.q:2095
#, c-format
msgid "For cohort %s = %g"
msgstr ""
-#: src/language/stats/crosstabs.q:2097
+#: src/language/stats/crosstabs.q:2098
#, c-format
msgid "For cohort %s = %.*s"
msgstr ""
-#: src/language/stats/crosstabs.q:2128
+#: src/language/stats/crosstabs.q:2129
msgid "Nominal by Interval"
msgstr ""
-#: src/language/stats/crosstabs.q:2133
+#: src/language/stats/crosstabs.q:2134
msgid "Lambda"
msgstr ""
-#: src/language/stats/crosstabs.q:2134
+#: src/language/stats/crosstabs.q:2135
msgid "Goodman and Kruskal tau"
msgstr ""
-#: src/language/stats/crosstabs.q:2135
+#: src/language/stats/crosstabs.q:2136
msgid "Uncertainty Coefficient"
msgstr ""
-#: src/language/stats/crosstabs.q:2136
+#: src/language/stats/crosstabs.q:2137
msgid "Somers' d"
msgstr ""
-#: src/language/stats/crosstabs.q:2137
+#: src/language/stats/crosstabs.q:2138
msgid "Eta"
msgstr ""
-#: src/language/stats/crosstabs.q:2142
+#: src/language/stats/crosstabs.q:2143
msgid "Symmetric"
msgstr ""
-#: src/language/stats/crosstabs.q:2143 src/language/stats/crosstabs.q:2144
+#: src/language/stats/crosstabs.q:2144 src/language/stats/crosstabs.q:2145
#, c-format
msgid "%s Dependent"
msgstr ""
#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1525
#: src/language/stats/frequencies.q:125 src/language/stats/npar-summary.c:127
-#: src/language/stats/oneway.q:393 src/language/stats/t-test.q:682
-#: src/language/stats/t-test.q:705 src/language/stats/t-test.q:829
-#: src/language/stats/t-test.q:1167
+#: src/language/stats/oneway.q:393 src/language/stats/t-test.q:681
+#: src/language/stats/t-test.q:704 src/language/stats/t-test.q:828
+#: src/language/stats/t-test.q:1166
msgid "Mean"
msgstr ""
msgid "Sum"
msgstr ""
-#: src/language/stats/descriptives.c:346
+#: src/language/stats/descriptives.c:347
#, c-format
msgid "Z-score variable name %s would be a duplicate variable name."
msgstr ""
-#: src/language/stats/descriptives.c:449
+#: src/language/stats/descriptives.c:450
msgid "expecting statistic name: reverting to default"
msgstr ""
-#: src/language/stats/descriptives.c:522
+#: src/language/stats/descriptives.c:523
msgid ""
"Ran out of generic names for Z-score variables. There are only 126 generic "
"names: ZSC001-ZSC0999, STDZ01-STDZ09, ZZZZ01-ZZZZ09, ZQZQ01-ZQZQ09."
msgstr ""
-#: src/language/stats/descriptives.c:554
+#: src/language/stats/descriptives.c:555
msgid "Mapping of variables to corresponding Z-scores."
msgstr ""
-#: src/language/stats/descriptives.c:559
+#: src/language/stats/descriptives.c:560
msgid "Source"
msgstr ""
-#: src/language/stats/descriptives.c:560
+#: src/language/stats/descriptives.c:561
msgid "Target"
msgstr ""
-#: src/language/stats/descriptives.c:670
+#: src/language/stats/descriptives.c:671
#, c-format
msgid "Z-score of %s"
msgstr ""
-#: src/language/stats/descriptives.c:882
+#: src/language/stats/descriptives.c:883
msgid "Valid N"
msgstr ""
-#: src/language/stats/descriptives.c:883
+#: src/language/stats/descriptives.c:884
msgid "Missing N"
msgstr ""
-#: src/language/stats/descriptives.c:910
+#: src/language/stats/descriptives.c:911
#, c-format
msgid "Valid cases = %g; cases with missing value(s) = %g."
msgstr ""
msgstr ""
#: src/language/stats/examine.q:1617 src/language/stats/npar-summary.c:130
-#: src/language/stats/oneway.q:394 src/language/stats/t-test.q:683
-#: src/language/stats/t-test.q:706 src/language/stats/t-test.q:831
-#: src/language/stats/t-test.q:1168
+#: src/language/stats/oneway.q:394 src/language/stats/t-test.q:682
+#: src/language/stats/t-test.q:705 src/language/stats/t-test.q:830
+#: src/language/stats/t-test.q:1167
msgid "Std. Deviation"
msgstr ""
"exactly %d values."
msgstr ""
-#: src/language/stats/npar.q:422 src/language/stats/t-test.q:485
+#: src/language/stats/npar.q:422 src/language/stats/t-test.q:484
#, c-format
msgid ""
"PAIRED was specified but the number of variables preceding WITH (%d) did not "
msgstr ""
#: src/language/stats/oneway.q:282 src/language/stats/regression.q:319
-#: src/language/stats/t-test.q:978
+#: src/language/stats/t-test.q:977
msgid "F"
msgstr ""
msgstr ""
#: src/language/stats/oneway.q:680 src/language/stats/regression.q:223
-#: src/language/stats/t-test.q:980 src/language/stats/t-test.q:1172
-#: src/language/stats/t-test.q:1265
+#: src/language/stats/t-test.q:979 src/language/stats/t-test.q:1171
+#: src/language/stats/t-test.q:1264
msgid "t"
msgstr ""
-#: src/language/stats/oneway.q:682 src/language/stats/t-test.q:982
-#: src/language/stats/t-test.q:1174 src/language/stats/t-test.q:1267
+#: src/language/stats/oneway.q:682 src/language/stats/t-test.q:981
+#: src/language/stats/t-test.q:1173 src/language/stats/t-test.q:1266
msgid "Sig. (2-tailed)"
msgstr ""
msgid "Coefficient Correlations"
msgstr ""
-#: src/language/stats/regression.q:1147
+#: src/language/stats/regression.q:1181
msgid "Dependent variable must be numeric."
msgstr ""
msgid "VARIABLES subcommand is not appropriate with PAIRS"
msgstr ""
-#: src/language/stats/t-test.q:335
+#: src/language/stats/t-test.q:334
msgid "One or more VARIABLES must be specified."
msgstr ""
-#: src/language/stats/t-test.q:379
+#: src/language/stats/t-test.q:378
#, c-format
msgid "Long string variable %s is not valid here."
msgstr ""
-#: src/language/stats/t-test.q:399 src/language/stats/t-test.q:413
+#: src/language/stats/t-test.q:398 src/language/stats/t-test.q:412
msgid ""
"When applying GROUPS to a string variable, two values must be specified."
msgstr ""
-#: src/language/stats/t-test.q:502
+#: src/language/stats/t-test.q:501
msgid "At least two variables must be specified on PAIRS."
msgstr ""
-#: src/language/stats/t-test.q:679
+#: src/language/stats/t-test.q:678
msgid "One-Sample Statistics"
msgstr ""
-#: src/language/stats/t-test.q:684 src/language/stats/t-test.q:707
-#: src/language/stats/t-test.q:832
+#: src/language/stats/t-test.q:683 src/language/stats/t-test.q:706
+#: src/language/stats/t-test.q:831
msgid "SE. Mean"
msgstr ""
-#: src/language/stats/t-test.q:702
+#: src/language/stats/t-test.q:701
msgid "Group Statistics"
msgstr ""
-#: src/language/stats/t-test.q:826
+#: src/language/stats/t-test.q:825
msgid "Paired Sample Statistics"
msgstr ""
-#: src/language/stats/t-test.q:848 src/language/stats/t-test.q:1193
-#: src/language/stats/t-test.q:1384
+#: src/language/stats/t-test.q:847 src/language/stats/t-test.q:1192
+#: src/language/stats/t-test.q:1383
#, c-format
msgid "Pair %d"
msgstr ""
-#: src/language/stats/t-test.q:966
+#: src/language/stats/t-test.q:965
msgid "Independent Samples Test"
msgstr ""
-#: src/language/stats/t-test.q:974
+#: src/language/stats/t-test.q:973
msgid "Levene's Test for Equality of Variances"
msgstr ""
-#: src/language/stats/t-test.q:976
+#: src/language/stats/t-test.q:975
msgid "t-test for Equality of Means"
msgstr ""
-#: src/language/stats/t-test.q:979 src/language/stats/t-test.q:1369
+#: src/language/stats/t-test.q:978 src/language/stats/t-test.q:1368
msgid "Sig."
msgstr ""
-#: src/language/stats/t-test.q:983 src/language/stats/t-test.q:1268
+#: src/language/stats/t-test.q:982 src/language/stats/t-test.q:1267
msgid "Mean Difference"
msgstr ""
-#: src/language/stats/t-test.q:984
+#: src/language/stats/t-test.q:983
msgid "Std. Error Difference"
msgstr ""
-#: src/language/stats/t-test.q:989 src/language/stats/t-test.q:1164
-#: src/language/stats/t-test.q:1260
+#: src/language/stats/t-test.q:988 src/language/stats/t-test.q:1163
+#: src/language/stats/t-test.q:1259
#, c-format
msgid "%g%% Confidence Interval of the Difference"
msgstr ""
-#: src/language/stats/t-test.q:1044
+#: src/language/stats/t-test.q:1043
msgid "Equal variances assumed"
msgstr ""
-#: src/language/stats/t-test.q:1096
+#: src/language/stats/t-test.q:1095
msgid "Equal variances not assumed"
msgstr ""
-#: src/language/stats/t-test.q:1154
+#: src/language/stats/t-test.q:1153
msgid "Paired Samples Test"
msgstr ""
-#: src/language/stats/t-test.q:1157
+#: src/language/stats/t-test.q:1156
msgid "Paired Differences"
msgstr ""
-#: src/language/stats/t-test.q:1169
+#: src/language/stats/t-test.q:1168
msgid "Std. Error Mean"
msgstr ""
-#: src/language/stats/t-test.q:1249
+#: src/language/stats/t-test.q:1248
msgid "One-Sample Test"
msgstr ""
-#: src/language/stats/t-test.q:1254
+#: src/language/stats/t-test.q:1253
#, c-format
msgid "Test Value = %f"
msgstr ""
-#: src/language/stats/t-test.q:1364
+#: src/language/stats/t-test.q:1363
msgid "Paired Samples Correlations"
msgstr ""
-#: src/language/stats/t-test.q:1368
+#: src/language/stats/t-test.q:1367
msgid "Correlation"
msgstr ""
-#: src/language/stats/t-test.q:1387
+#: src/language/stats/t-test.q:1386
#, c-format
msgid "%s & %s"
msgstr ""
msgid "Style of bevel around the custom entry button"
msgstr ""
-#: src/ui/gui/data-editor.c:159
+#: src/ui/gui/data-editor.c:161
#, fuzzy
msgid "Weights"
msgstr "Rechts"
-#: src/ui/gui/data-editor.c:160
+#: src/ui/gui/data-editor.c:162
msgid "Weight cases by variable"
msgstr ""
-#: src/ui/gui/data-editor.c:169 src/ui/gui/data-editor.glade:294
+#: src/ui/gui/data-editor.c:171 src/ui/gui/data-editor.glade:293
msgid "Transpose"
msgstr ""
-#: src/ui/gui/data-editor.c:170
+#: src/ui/gui/data-editor.c:172
msgid "Transpose the cases with the variables"
msgstr ""
-#: src/ui/gui/data-editor.c:494
+#: src/ui/gui/data-editor.c:183
+#, fuzzy
+msgid "Split"
+msgstr "Alle Datei"
+
+#: src/ui/gui/data-editor.c:184
+msgid "Split the active file"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:194
+msgid "Sort"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:195
+msgid "Sort cases in the active file"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:531
msgid "Font Selection"
msgstr "Schriftwahlung"
-#: src/ui/gui/data-editor.c:672
+#: src/ui/gui/data-editor.c:709
msgid "No Split"
msgstr ""
-#: src/ui/gui/data-editor.c:680
+#: src/ui/gui/data-editor.c:717
#, fuzzy
msgid "Split by "
msgstr "Alle Datei"
-#: src/ui/gui/data-editor.c:705
+#: src/ui/gui/data-editor.c:742
msgid "Filter off"
msgstr ""
-#: src/ui/gui/data-editor.c:718
+#: src/ui/gui/data-editor.c:755
#, c-format
msgid "Filter by %s"
msgstr ""
-#: src/ui/gui/data-editor.c:736
+#: src/ui/gui/data-editor.c:773
msgid "Weights off"
msgstr ""
-#: src/ui/gui/data-editor.c:749
+#: src/ui/gui/data-editor.c:786
#, c-format
msgid "Weight by %s"
msgstr ""
-#: src/ui/gui/data-editor.c:772 src/ui/gui/data-editor.c:983
-#: src/ui/gui/data-editor.glade:414
+#: src/ui/gui/data-editor.c:809 src/ui/gui/data-editor.c:1020
+#: src/ui/gui/data-editor.glade:412
msgid "Open"
msgstr "Öffen"
-#: src/ui/gui/data-editor.c:773
+#: src/ui/gui/data-editor.c:810
msgid "Open a data file"
msgstr ""
-#: src/ui/gui/data-editor.c:781 src/ui/gui/data-editor.c:888
-#: src/ui/gui/data-editor.glade:424
+#: src/ui/gui/data-editor.c:818 src/ui/gui/data-editor.c:925
+#: src/ui/gui/data-editor.glade:422
msgid "Save"
msgstr "Speichen"
-#: src/ui/gui/data-editor.c:782 src/ui/gui/data-editor.c:792
+#: src/ui/gui/data-editor.c:819 src/ui/gui/data-editor.c:829
#, fuzzy
msgid "Save data to file"
msgstr "Speichern unter"
-#: src/ui/gui/data-editor.c:791
+#: src/ui/gui/data-editor.c:828
#, fuzzy
msgid "Save As"
msgstr "Speichern unter"
-#: src/ui/gui/data-editor.c:800
+#: src/ui/gui/data-editor.c:837
msgid "New"
msgstr ""
-#: src/ui/gui/data-editor.c:801
+#: src/ui/gui/data-editor.c:838
msgid "New data file"
msgstr ""
-#: src/ui/gui/data-editor.c:896 src/ui/gui/data-editor.c:991
+#: src/ui/gui/data-editor.c:933 src/ui/gui/data-editor.c:1028
msgid "System Files (*.sav)"
msgstr "Systemedatein (*.sav)"
-#: src/ui/gui/data-editor.c:902 src/ui/gui/data-editor.c:997
+#: src/ui/gui/data-editor.c:939 src/ui/gui/data-editor.c:1034
msgid "Portable Files (*.por) "
msgstr "Tragbardatein (*.por)"
-#: src/ui/gui/data-editor.c:908 src/ui/gui/data-editor.c:1003
+#: src/ui/gui/data-editor.c:945 src/ui/gui/data-editor.c:1040
#: src/ui/gui/syntax-editor.c:141 src/ui/gui/syntax-editor.c:524
msgid "All Files"
msgstr "Alle Datei"
-#: src/ui/gui/data-editor.c:916
+#: src/ui/gui/data-editor.c:953
#, fuzzy
msgid "System File"
msgstr "Systemedatein (*.sav)"
-#: src/ui/gui/data-editor.c:921
+#: src/ui/gui/data-editor.c:958
#, fuzzy
msgid "Portable File"
msgstr "Tragbardatein (*.por)"
msgid "Grid Lines"
msgstr "Glitten"
-#: src/ui/gui/data-editor.glade:218 src/ui/gui/data-editor.glade:614
-#: src/ui/gui/data-editor.glade:1324 src/ui/gui/data-editor.glade:1502
+#: src/ui/gui/data-editor.glade:218 src/ui/gui/data-editor.glade:623
+#: src/ui/gui/data-editor.glade:1333 src/ui/gui/data-editor.glade:1511
msgid "Value Labels"
msgstr "Werten"
msgid "Data"
msgstr "Daten"
-#: src/ui/gui/data-editor.glade:237 src/ui/gui/data-editor.glade:497
+#: src/ui/gui/data-editor.glade:237 src/ui/gui/data-editor.glade:507
msgid "Variables"
msgstr "Variableansicht"
-#: src/ui/gui/data-editor.glade:256 src/ui/gui/data-editor.glade:550
+#: src/ui/gui/data-editor.glade:256 src/ui/gui/data-editor.glade:560
#, fuzzy
msgid "Insert Variable"
msgstr "Variableansicht"
msgid "Insert Cases"
msgstr "_Stecken"
-#: src/ui/gui/data-editor.glade:272 src/ui/gui/data-editor.glade:486
-#: src/ui/gui/data-editor.glade:1868
+#: src/ui/gui/data-editor.glade:272 src/ui/gui/data-editor.glade:496
+#: src/ui/gui/data-editor.glade:1877
msgid "Go To Case"
msgstr ""
-#: src/ui/gui/data-editor.glade:286 src/ui/gui/data-editor.glade:1933
+#: src/ui/gui/data-editor.glade:285 src/ui/gui/data-editor.glade:1942
msgid "Sort Cases"
msgstr ""
-#: src/ui/gui/data-editor.glade:302
+#: src/ui/gui/data-editor.glade:301
msgid "Restructure"
msgstr ""
-#: src/ui/gui/data-editor.glade:310
+#: src/ui/gui/data-editor.glade:309
#, fuzzy
msgid "Merge Files"
msgstr "Alle Datei"
-#: src/ui/gui/data-editor.glade:318
+#: src/ui/gui/data-editor.glade:317
msgid "Aggregate"
msgstr ""
-#: src/ui/gui/data-editor.glade:332 src/ui/gui/data-editor.glade:571
+#: src/ui/gui/data-editor.glade:330 src/ui/gui/data-editor.glade:580
#, fuzzy
msgid "Split File"
msgstr "Alle Datei"
-#: src/ui/gui/data-editor.glade:340 src/ui/gui/data-editor.glade:594
+#: src/ui/gui/data-editor.glade:338 src/ui/gui/data-editor.glade:603
msgid "Select Cases"
msgstr ""
-#: src/ui/gui/data-editor.glade:347 src/ui/gui/data-editor.glade:582
+#: src/ui/gui/data-editor.glade:345 src/ui/gui/data-editor.glade:591
msgid "Weight Cases"
msgstr ""
-#: src/ui/gui/data-editor.glade:358 src/ui/gui/syntax-editor.glade:233
+#: src/ui/gui/data-editor.glade:356 src/ui/gui/syntax-editor.glade:233
#, fuzzy
msgid "_Windows"
msgstr "_Datei"
-#: src/ui/gui/data-editor.glade:365 src/ui/gui/syntax-editor.glade:242
+#: src/ui/gui/data-editor.glade:363 src/ui/gui/syntax-editor.glade:242
msgid "_Minimise All Windows"
msgstr ""
-#: src/ui/gui/data-editor.glade:376 src/ui/gui/syntax-editor.glade:254
+#: src/ui/gui/data-editor.glade:374 src/ui/gui/syntax-editor.glade:254
msgid "_Help"
msgstr "_Hilfe"
-#: src/ui/gui/data-editor.glade:383 src/ui/gui/syntax-editor.glade:263
+#: src/ui/gui/data-editor.glade:381 src/ui/gui/syntax-editor.glade:263
msgid "_Reference Manual"
msgstr ""
-#: src/ui/gui/data-editor.glade:390 src/ui/gui/syntax-editor.glade:271
+#: src/ui/gui/data-editor.glade:388 src/ui/gui/syntax-editor.glade:271
msgid "_About"
msgstr "_Info"
-#: src/ui/gui/data-editor.glade:435
+#: src/ui/gui/data-editor.glade:433
msgid "Print"
msgstr "Drucken"
-#: src/ui/gui/data-editor.glade:455
+#: src/ui/gui/data-editor.glade:444
+msgid "Recall"
+msgstr ""
+
+#: src/ui/gui/data-editor.glade:465
msgid "Undo"
msgstr ""
-#: src/ui/gui/data-editor.glade:466
+#: src/ui/gui/data-editor.glade:476
msgid "Redo"
msgstr ""
-#: src/ui/gui/data-editor.glade:518
+#: src/ui/gui/data-editor.glade:528
msgid "Find"
msgstr ""
-#: src/ui/gui/data-editor.glade:538
+#: src/ui/gui/data-editor.glade:548
#, fuzzy
msgid "Insert Case"
msgstr "_Stecken"
-#: src/ui/gui/data-editor.glade:626
+#: src/ui/gui/data-editor.glade:635
msgid "Use Sets"
msgstr ""
-#: src/ui/gui/data-editor.glade:708
+#: src/ui/gui/data-editor.glade:717
msgid "Data View"
msgstr "Datenansicht"
-#: src/ui/gui/data-editor.glade:735
+#: src/ui/gui/data-editor.glade:744
msgid "Variable View"
msgstr "Variableansicht"
-#: src/ui/gui/data-editor.glade:765
+#: src/ui/gui/data-editor.glade:774
msgid "Information Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:784
+#: src/ui/gui/data-editor.glade:793
msgid "Processor Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:809
+#: src/ui/gui/data-editor.glade:818
msgid "OMS Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:834
+#: src/ui/gui/data-editor.glade:843
msgid "Case Counter Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:859
+#: src/ui/gui/data-editor.glade:868
msgid "Filter Use Status Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:885
+#: src/ui/gui/data-editor.glade:894
msgid "Weight Status Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:911
+#: src/ui/gui/data-editor.glade:920
#, fuzzy
msgid "Split File Status Area"
msgstr "Alle Datei"
-#: src/ui/gui/data-editor.glade:941
+#: src/ui/gui/data-editor.glade:950
msgid "Variable Type"
msgstr "Variableansicht"
-#: src/ui/gui/data-editor.glade:976 src/ui/gui/psppire-var-store.c:475
+#: src/ui/gui/data-editor.glade:985 src/ui/gui/psppire-var-store.c:475
msgid "Comma"
msgstr "Komma"
-#: src/ui/gui/data-editor.glade:991 src/ui/gui/psppire-var-store.c:476
+#: src/ui/gui/data-editor.glade:1000 src/ui/gui/psppire-var-store.c:476
msgid "Dot"
msgstr "Punkt"
-#: src/ui/gui/data-editor.glade:1006
+#: src/ui/gui/data-editor.glade:1015
msgid "Scientific notation"
msgstr "Wissenschaftlichnotation"
-#: src/ui/gui/data-editor.glade:1021 src/ui/gui/psppire-var-store.c:478
+#: src/ui/gui/data-editor.glade:1030 src/ui/gui/psppire-var-store.c:478
msgid "Date"
msgstr "Datum"
-#: src/ui/gui/data-editor.glade:1036 src/ui/gui/psppire-var-store.c:479
+#: src/ui/gui/data-editor.glade:1045 src/ui/gui/psppire-var-store.c:479
msgid "Dollar"
msgstr "Euro"
-#: src/ui/gui/data-editor.glade:1051
+#: src/ui/gui/data-editor.glade:1060
msgid "Custom currency"
msgstr "Spezialwährung"
-#: src/ui/gui/data-editor.glade:1143
+#: src/ui/gui/data-editor.glade:1152
msgid "positive"
msgstr "positiv"
-#: src/ui/gui/data-editor.glade:1149
+#: src/ui/gui/data-editor.glade:1158
msgid "negative"
msgstr "negativ"
-#: src/ui/gui/data-editor.glade:1162
+#: src/ui/gui/data-editor.glade:1171
msgid "Sample"
msgstr "Muster"
-#: src/ui/gui/data-editor.glade:1212
+#: src/ui/gui/data-editor.glade:1221
msgid "Width:"
msgstr "Große:"
-#: src/ui/gui/data-editor.glade:1256
+#: src/ui/gui/data-editor.glade:1265
msgid "Decimal Places:"
msgstr "Dezimalstellen:"
-#: src/ui/gui/data-editor.glade:1422
+#: src/ui/gui/data-editor.glade:1431
msgid "Value Label:"
msgstr "Kennsatz:"
-#: src/ui/gui/data-editor.glade:1435
+#: src/ui/gui/data-editor.glade:1444
msgid "Value:"
msgstr "Werte:"
-#: src/ui/gui/data-editor.glade:1566
+#: src/ui/gui/data-editor.glade:1575
msgid "Missing Values"
msgstr "Lösewerten"
-#: src/ui/gui/data-editor.glade:1584
+#: src/ui/gui/data-editor.glade:1593
msgid "_Range plus one optional discrete missing value"
msgstr "Wertebereich und ein optional Lösewert"
-#: src/ui/gui/data-editor.glade:1608
+#: src/ui/gui/data-editor.glade:1617
msgid "_Low:"
msgstr "_Tief:"
-#: src/ui/gui/data-editor.glade:1637
+#: src/ui/gui/data-editor.glade:1646
msgid "_High:"
msgstr "_Hoch:"
-#: src/ui/gui/data-editor.glade:1678
+#: src/ui/gui/data-editor.glade:1687
msgid "Di_screte value:"
msgstr "Di_skretwerte"
-#: src/ui/gui/data-editor.glade:1725
+#: src/ui/gui/data-editor.glade:1734
msgid "_No missing values"
msgstr "_Kein Lösewerten"
-#: src/ui/gui/data-editor.glade:1742
+#: src/ui/gui/data-editor.glade:1751
msgid "_Discrete missing values"
msgstr "_Diskret Lösewerten"
-#: src/ui/gui/data-editor.glade:1885
+#: src/ui/gui/data-editor.glade:1894
msgid "Case Number:"
msgstr ""
-#: src/ui/gui/data-editor.glade:1994
+#: src/ui/gui/data-editor.glade:2003 src/ui/gui/psppire.glade:1187
msgid "Sort by:"
msgstr ""
-#: src/ui/gui/data-editor.glade:2043 src/ui/gui/sort-cases-dialog.c:279
+#: src/ui/gui/data-editor.glade:2052 src/ui/gui/psppire.glade:1240
msgid "Ascending"
msgstr ""
-#: src/ui/gui/data-editor.glade:2056 src/ui/gui/sort-cases-dialog.c:281
+#: src/ui/gui/data-editor.glade:2065 src/ui/gui/psppire.glade:1250
msgid "Descending"
msgstr ""
-#: src/ui/gui/data-editor.glade:2072
+#: src/ui/gui/data-editor.glade:2081 src/ui/gui/psppire.glade:1266
msgid "Sort Order"
msgstr ""
-#: src/ui/gui/dict-display.c:92 src/ui/gui/sort-cases-dialog.c:339
-#: src/ui/gui/transpose-dialog.c:123
+#: src/ui/gui/dict-display.c:92
msgid "Var"
msgstr ""
msgid "%d"
msgstr ""
-#: src/ui/gui/psppire.glade:9
+#: src/ui/gui/psppire.glade:11
#, fuzzy
msgid "This is pre-alpha software. Use at your own risk."
msgstr "Diese Software ist vor-Alpha. Wahrscheinlich Funktioniert es nicht."
-#: src/ui/gui/psppire.glade:10
+#: src/ui/gui/psppire.glade:12
msgid ""
" This program is free software; you can redistribute it and/or modify\n"
" it under the terms of the GNU General Public License as published by\n"
" 02110-1301, USA.\n"
msgstr ""
-#: src/ui/gui/psppire.glade:90 src/ui/gui/psppire.glade:170
+#: src/ui/gui/psppire.glade:89 src/ui/gui/psppire.glade:170
+#: src/ui/gui/weight-cases-dialog.c:85
msgid "Do not weight cases"
msgstr ""
-#: src/ui/gui/psppire.glade:100
+#: src/ui/gui/psppire.glade:99
msgid "Weight cases by"
msgstr ""
msgid "Current Status: "
msgstr ""
-#: src/ui/gui/psppire.glade:257
+#: src/ui/gui/psppire.glade:258
#, fuzzy
msgid "Name Variable:"
msgstr "Variableansicht"
-#: src/ui/gui/psppire.glade:290
+#: src/ui/gui/psppire.glade:291
#, fuzzy
msgid "Variable(s):"
msgstr "Variableansicht"
+#: src/ui/gui/psppire.glade:444
+msgid "Analyse all cases. Do not create groups."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:454
+msgid "Compare groups."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:467
+msgid "Organise output by groups."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:514
+msgid "Groups based on:"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:579
+msgid "Sort the file by grouping variables."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:590
+msgid "File is already sorted."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:634
+msgid "Current Status : "
+msgstr ""
+
+#: src/ui/gui/psppire.glade:642
+msgid "Analysis by groups is off"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:740
+#, fuzzy
+msgid "All Cases"
+msgstr "Alle Datei"
+
+#: src/ui/gui/psppire.glade:761
+msgid "If condition is satisfied"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:780
+msgid "If..."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:816
+msgid "Random Sample of cases"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:830
+#, fuzzy
+msgid "Sample..."
+msgstr "Muster"
+
+#: src/ui/gui/psppire.glade:841
+msgid "Approximately 23% of cases"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:876
+msgid "Based on time or case range"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:890
+msgid "Range..."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:901
+msgid "2 thru 3"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:936
+#, fuzzy
+msgid "Use filter variable"
+msgstr "Variableansicht"
+
+#: src/ui/gui/psppire.glade:983
+#, fuzzy
+msgid "Select"
+msgstr "Schriftwahlung"
+
+#: src/ui/gui/psppire.glade:1012
+#, fuzzy
+msgid "Filtered"
+msgstr "Datei:"
+
+#: src/ui/gui/psppire.glade:1022
+msgid "Deleted"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:1039
+#, fuzzy
+msgid "Unselected Cases Are"
+msgstr "_Stecken"
+
+#: src/ui/gui/psppire.glade:1067
+msgid "Curent Status : "
+msgstr ""
+
+#: src/ui/gui/psppire.glade:1079
+msgid "Do not filter cases"
+msgstr ""
+
#: src/ui/gui/psppire-var-store.c:470
msgid "None"
msgstr "Keine"
msgid "Custom"
msgstr "Spezial"
-#: src/ui/gui/sort-cases-dialog.c:367
-msgid "Criteria"
-msgstr ""
-
#: src/ui/gui/syntax-editor.c:80
#, c-format
msgid "Save contents of syntax editor to %s?"
msgid "Scale"
msgstr "Skalwert"
+#: src/ui/gui/weight-cases-dialog.c:91
+#, c-format
+msgid "Weight cases by %s"
+msgstr ""
+
#: src/ui/gui/window-manager.c:141
#, fuzzy, c-format
msgid "Syntax%d"
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: pspp-dev@gnu.org\n"
-"POT-Creation-Date: 2007-03-26 18:17+0800\n"
+"POT-Creation-Date: 2007-04-01 13:38+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgid "Month number %f is not between 1 and 12."
msgstr ""
-#: src/data/dictionary.c:717
+#: src/data/dictionary.c:724
msgid ""
"At least one case in the data file had a weight value that was user-missing, "
"system-missing, zero, or negative. These case(s) were ignored."
msgstr ""
-#: src/data/dictionary.c:1238
+#: src/data/dictionary.c:1245
msgid "Variable suffix too large."
msgstr ""
msgstr ""
#: src/data/format.c:310 src/data/por-file-reader.c:489
-#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:1066
+#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:1075
#: src/ui/gui/psppire-var-store.c:481
msgid "String"
msgstr ""
#: src/data/format.c:310 src/data/por-file-reader.c:489
-#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:962
+#: src/data/sys-file-reader.c:602 src/ui/gui/data-editor.glade:971
#: src/ui/gui/psppire-var-store.c:474
msgid "Numeric"
msgstr ""
msgid "`%s' may not be used as a variable name because it is a reserved word."
msgstr ""
-#: src/data/variable.c:964
+#: src/data/variable.c:966
msgid "ordinary"
msgstr ""
-#: src/data/variable.c:966
+#: src/data/variable.c:968
msgid "system"
msgstr ""
-#: src/data/variable.c:968
+#: src/data/variable.c:970
msgid "scratch"
msgstr ""
#: src/language/dictionary/sys-file-info.c:160
#: src/language/dictionary/sys-file-info.c:395
#: src/language/dictionary/sys-file-info.c:620
-#: src/language/stats/descriptives.c:879
+#: src/language/stats/descriptives.c:880
msgid "Variable"
msgstr ""
"REREAD: Column numbers must be positive finite numbers. Column set to 1."
msgstr ""
-#: src/language/data-io/list.q:154 src/language/stats/descriptives.c:364
+#: src/language/data-io/list.q:154 src/language/stats/descriptives.c:365
msgid "No variables specified."
msgstr ""
msgstr[1] ""
#: src/language/data-io/print-space.c:75 src/language/lexer/lexer.c:465
-#: src/language/stats/autorecode.c:153 src/language/xforms/select-if.c:61
+#: src/language/stats/autorecode.c:154 src/language/xforms/select-if.c:61
msgid "expecting end of command"
msgstr ""
"will be made permanent."
msgstr ""
-#: src/language/dictionary/delete-variables.c:48
+#: src/language/dictionary/delete-variables.c:49
msgid ""
"DELETE VARIABLES may not be used to delete all variables from the active "
"file dictionary. Use NEW FILE instead."
#: src/language/dictionary/split-file.c:86
#: src/language/dictionary/sys-file-info.c:549
-#: src/language/stats/crosstabs.q:1118 src/language/stats/crosstabs.q:1145
-#: src/language/stats/crosstabs.q:1165 src/language/stats/crosstabs.q:1187
+#: src/language/stats/crosstabs.q:1119 src/language/stats/crosstabs.q:1146
+#: src/language/stats/crosstabs.q:1166 src/language/stats/crosstabs.q:1188
#: src/language/stats/examine.q:1189 src/language/stats/frequencies.q:1145
#: src/language/stats/frequencies.q:1269
msgid "Value"
msgid "expecting number or data string"
msgstr ""
-#: src/language/lexer/variable-parser.c:54
+#: src/language/lexer/variable-parser.c:64
msgid "expecting variable name"
msgstr ""
-#: src/language/lexer/variable-parser.c:64
+#: src/language/lexer/variable-parser.c:74
#, c-format
msgid "%s is not a variable name."
msgstr ""
-#: src/language/lexer/variable-parser.c:173
+#: src/language/lexer/variable-parser.c:183
#, c-format
msgid ""
"%s is not a numeric variable. It will not be included in the variable list."
msgstr ""
-#: src/language/lexer/variable-parser.c:176
+#: src/language/lexer/variable-parser.c:186
#, c-format
msgid ""
"%s is not a string variable. It will not be included in the variable list."
msgstr ""
-#: src/language/lexer/variable-parser.c:180
+#: src/language/lexer/variable-parser.c:190
#, c-format
msgid "Scratch variables (such as %s) are not allowed here."
msgstr ""
-#: src/language/lexer/variable-parser.c:184
+#: src/language/lexer/variable-parser.c:194
#, c-format
msgid ""
"%s and %s are not the same type. All variables in this variable list must "
"be of the same type. %s will be omitted from the list."
msgstr ""
-#: src/language/lexer/variable-parser.c:190
+#: src/language/lexer/variable-parser.c:200
#, c-format
msgid ""
"%s and %s are string variables with different widths. All variables in this "
"variable list must have the same width. %s will be omttied from the list."
msgstr ""
-#: src/language/lexer/variable-parser.c:195
+#: src/language/lexer/variable-parser.c:205
#, c-format
msgid "Variable %s appears twice in variable list."
msgstr ""
-#: src/language/lexer/variable-parser.c:308
+#: src/language/lexer/variable-parser.c:318
#, c-format
msgid "%s TO %s is not valid syntax since %s precedes %s in the dictionary."
msgstr ""
-#: src/language/lexer/variable-parser.c:316
+#: src/language/lexer/variable-parser.c:326
#, c-format
msgid ""
"When using the TO keyword to specify several variables, both variables must "
"system variables. %s is a %s variable, whereas %s is %s."
msgstr ""
-#: src/language/lexer/variable-parser.c:390
+#: src/language/lexer/variable-parser.c:400
msgid "incorrect use of TO convention"
msgstr ""
-#: src/language/lexer/variable-parser.c:433
+#: src/language/lexer/variable-parser.c:443
msgid "Scratch variables not allowed here."
msgstr ""
-#: src/language/lexer/variable-parser.c:455
+#: src/language/lexer/variable-parser.c:465
msgid "Prefixes don't match in use of TO convention."
msgstr ""
-#: src/language/lexer/variable-parser.c:460
+#: src/language/lexer/variable-parser.c:470
msgid "Bad bounds in use of TO convention."
msgstr ""
"contains the aggregate variables and the break variables."
msgstr ""
-#: src/language/stats/autorecode.c:135
+#: src/language/stats/autorecode.c:136
#, c-format
msgid "Source variable count (%u) does not match target variable count (%u)."
msgstr ""
-#: src/language/stats/autorecode.c:163
+#: src/language/stats/autorecode.c:164
#, c-format
msgid "Target variable %s duplicates existing variable %s."
msgstr ""
-#: src/language/stats/autorecode.c:170
+#: src/language/stats/autorecode.c:171
#, c-format
msgid "Duplicate variable name %s among target variables."
msgstr ""
msgstr ""
#: src/language/stats/binomial.c:208 src/language/stats/chisquare.c:237
-#: src/language/stats/chisquare.c:297 src/language/stats/crosstabs.q:825
-#: src/language/stats/crosstabs.q:1025 src/language/stats/crosstabs.q:1748
+#: src/language/stats/chisquare.c:297 src/language/stats/crosstabs.q:826
+#: src/language/stats/crosstabs.q:1026 src/language/stats/crosstabs.q:1749
#: src/language/stats/examine.q:909 src/language/stats/frequencies.q:1222
#: src/language/stats/oneway.q:307 src/language/stats/oneway.q:471
#: src/language/stats/regression.q:324
msgstr ""
#: src/language/stats/binomial.c:253 src/language/stats/chisquare.c:260
-#: src/language/stats/crosstabs.q:1143 src/language/stats/crosstabs.q:1184
+#: src/language/stats/crosstabs.q:1144 src/language/stats/crosstabs.q:1185
msgid "Category"
msgstr ""
-#: src/language/stats/binomial.c:254 src/language/stats/crosstabs.q:835
+#: src/language/stats/binomial.c:254 src/language/stats/crosstabs.q:836
#: src/language/stats/examine.q:985 src/language/stats/frequencies.q:1518
#: src/language/stats/npar-summary.c:124 src/language/stats/oneway.q:392
-#: src/language/stats/t-test.q:681 src/language/stats/t-test.q:704
-#: src/language/stats/t-test.q:830 src/language/stats/t-test.q:1367
+#: src/language/stats/t-test.q:680 src/language/stats/t-test.q:703
+#: src/language/stats/t-test.q:829 src/language/stats/t-test.q:1366
msgid "N"
msgstr ""
msgid "Chi-Square"
msgstr ""
-#: src/language/stats/chisquare.c:325 src/language/stats/crosstabs.q:1119
+#: src/language/stats/chisquare.c:325 src/language/stats/crosstabs.q:1120
#: src/language/stats/oneway.q:280 src/language/stats/oneway.q:681
-#: src/language/stats/regression.q:317 src/language/stats/t-test.q:981
-#: src/language/stats/t-test.q:1173 src/language/stats/t-test.q:1266
+#: src/language/stats/regression.q:317 src/language/stats/t-test.q:980
+#: src/language/stats/t-test.q:1172 src/language/stats/t-test.q:1265
msgid "df"
msgstr ""
msgid "Write mode ALL not allowed in general mode. Assuming WRITE=CELLS."
msgstr ""
-#: src/language/stats/crosstabs.q:337
+#: src/language/stats/crosstabs.q:338
msgid "Too many crosstabulation variables or dimensions."
msgstr ""
-#: src/language/stats/crosstabs.q:347
+#: src/language/stats/crosstabs.q:348
msgid "expecting BY"
msgstr ""
-#: src/language/stats/crosstabs.q:414
+#: src/language/stats/crosstabs.q:415
msgid "VARIABLES must be specified before TABLES."
msgstr ""
-#: src/language/stats/crosstabs.q:452
+#: src/language/stats/crosstabs.q:453
#, c-format
msgid "Maximum value (%ld) less than minimum value (%ld)."
msgstr ""
-#: src/language/stats/crosstabs.q:820
+#: src/language/stats/crosstabs.q:821
msgid "Summary."
msgstr ""
-#: src/language/stats/crosstabs.q:822 src/language/stats/examine.q:973
+#: src/language/stats/crosstabs.q:823 src/language/stats/examine.q:973
msgid "Cases"
msgstr ""
-#: src/language/stats/crosstabs.q:823 src/language/stats/examine.q:907
+#: src/language/stats/crosstabs.q:824 src/language/stats/examine.q:907
#: src/language/stats/frequencies.q:1143 src/language/stats/frequencies.q:1519
msgid "Valid"
msgstr ""
-#: src/language/stats/crosstabs.q:824 src/language/stats/examine.q:908
+#: src/language/stats/crosstabs.q:825 src/language/stats/examine.q:908
#: src/language/stats/frequencies.q:1213 src/language/stats/frequencies.q:1520
#: src/ui/gui/var-sheet.c:73
msgid "Missing"
msgstr ""
-#: src/language/stats/crosstabs.q:836 src/language/stats/examine.q:988
+#: src/language/stats/crosstabs.q:837 src/language/stats/examine.q:988
#: src/language/stats/frequencies.q:1147 src/language/stats/frequencies.q:1148
#: src/language/stats/frequencies.q:1149
msgid "Percent"
msgstr ""
-#: src/language/stats/crosstabs.q:1077
+#: src/language/stats/crosstabs.q:1078
msgid "count"
msgstr ""
-#: src/language/stats/crosstabs.q:1078
+#: src/language/stats/crosstabs.q:1079
msgid "row %"
msgstr ""
-#: src/language/stats/crosstabs.q:1079
+#: src/language/stats/crosstabs.q:1080
msgid "column %"
msgstr ""
-#: src/language/stats/crosstabs.q:1080
+#: src/language/stats/crosstabs.q:1081
msgid "total %"
msgstr ""
-#: src/language/stats/crosstabs.q:1081
+#: src/language/stats/crosstabs.q:1082
msgid "expected"
msgstr ""
-#: src/language/stats/crosstabs.q:1082
+#: src/language/stats/crosstabs.q:1083
msgid "residual"
msgstr ""
-#: src/language/stats/crosstabs.q:1083
+#: src/language/stats/crosstabs.q:1084
msgid "std. resid."
msgstr ""
-#: src/language/stats/crosstabs.q:1084
+#: src/language/stats/crosstabs.q:1085
msgid "adj. resid."
msgstr ""
-#: src/language/stats/crosstabs.q:1114
+#: src/language/stats/crosstabs.q:1115
msgid "Chi-square tests."
msgstr ""
-#: src/language/stats/crosstabs.q:1117 src/language/stats/crosstabs.q:1144
-#: src/language/stats/crosstabs.q:1164 src/language/stats/crosstabs.q:1185
+#: src/language/stats/crosstabs.q:1118 src/language/stats/crosstabs.q:1145
+#: src/language/stats/crosstabs.q:1165 src/language/stats/crosstabs.q:1186
#: src/language/stats/examine.q:1420
msgid "Statistic"
msgstr ""
-#: src/language/stats/crosstabs.q:1121
+#: src/language/stats/crosstabs.q:1122
msgid "Asymp. Sig. (2-sided)"
msgstr ""
-#: src/language/stats/crosstabs.q:1123
+#: src/language/stats/crosstabs.q:1124
msgid "Exact. Sig. (2-sided)"
msgstr ""
-#: src/language/stats/crosstabs.q:1125
+#: src/language/stats/crosstabs.q:1126
msgid "Exact. Sig. (1-sided)"
msgstr ""
-#: src/language/stats/crosstabs.q:1140
+#: src/language/stats/crosstabs.q:1141
msgid "Symmetric measures."
msgstr ""
-#: src/language/stats/crosstabs.q:1146 src/language/stats/crosstabs.q:1188
+#: src/language/stats/crosstabs.q:1147 src/language/stats/crosstabs.q:1189
msgid "Asymp. Std. Error"
msgstr ""
-#: src/language/stats/crosstabs.q:1147 src/language/stats/crosstabs.q:1189
+#: src/language/stats/crosstabs.q:1148 src/language/stats/crosstabs.q:1190
msgid "Approx. T"
msgstr ""
-#: src/language/stats/crosstabs.q:1148 src/language/stats/crosstabs.q:1190
+#: src/language/stats/crosstabs.q:1149 src/language/stats/crosstabs.q:1191
msgid "Approx. Sig."
msgstr ""
-#: src/language/stats/crosstabs.q:1159
+#: src/language/stats/crosstabs.q:1160
msgid "Risk estimate."
msgstr ""
-#: src/language/stats/crosstabs.q:1163
+#: src/language/stats/crosstabs.q:1164
#, c-format
msgid "95%% Confidence Interval"
msgstr ""
-#: src/language/stats/crosstabs.q:1166 src/language/stats/t-test.q:985
-#: src/language/stats/t-test.q:1170 src/language/stats/t-test.q:1269
+#: src/language/stats/crosstabs.q:1167 src/language/stats/t-test.q:984
+#: src/language/stats/t-test.q:1169 src/language/stats/t-test.q:1268
msgid "Lower"
msgstr ""
-#: src/language/stats/crosstabs.q:1167 src/language/stats/t-test.q:986
-#: src/language/stats/t-test.q:1171 src/language/stats/t-test.q:1270
+#: src/language/stats/crosstabs.q:1168 src/language/stats/t-test.q:985
+#: src/language/stats/t-test.q:1170 src/language/stats/t-test.q:1269
msgid "Upper"
msgstr ""
-#: src/language/stats/crosstabs.q:1181
+#: src/language/stats/crosstabs.q:1182
msgid "Directional measures."
msgstr ""
-#: src/language/stats/crosstabs.q:1186 src/ui/gui/var-sheet.c:68
+#: src/language/stats/crosstabs.q:1187 src/ui/gui/var-sheet.c:68
msgid "Type"
msgstr ""
-#: src/language/stats/crosstabs.q:1940
+#: src/language/stats/crosstabs.q:1941
msgid "Pearson Chi-Square"
msgstr ""
-#: src/language/stats/crosstabs.q:1941
+#: src/language/stats/crosstabs.q:1942
msgid "Likelihood Ratio"
msgstr ""
-#: src/language/stats/crosstabs.q:1942
+#: src/language/stats/crosstabs.q:1943
msgid "Fisher's Exact Test"
msgstr ""
-#: src/language/stats/crosstabs.q:1943
+#: src/language/stats/crosstabs.q:1944
msgid "Continuity Correction"
msgstr ""
-#: src/language/stats/crosstabs.q:1944
+#: src/language/stats/crosstabs.q:1945
msgid "Linear-by-Linear Association"
msgstr ""
-#: src/language/stats/crosstabs.q:1981 src/language/stats/crosstabs.q:2051
-#: src/language/stats/crosstabs.q:2110
+#: src/language/stats/crosstabs.q:1982 src/language/stats/crosstabs.q:2052
+#: src/language/stats/crosstabs.q:2111
msgid "N of Valid Cases"
msgstr ""
-#: src/language/stats/crosstabs.q:1997 src/language/stats/crosstabs.q:2126
+#: src/language/stats/crosstabs.q:1998 src/language/stats/crosstabs.q:2127
msgid "Nominal by Nominal"
msgstr ""
-#: src/language/stats/crosstabs.q:1998 src/language/stats/crosstabs.q:2127
+#: src/language/stats/crosstabs.q:1999 src/language/stats/crosstabs.q:2128
msgid "Ordinal by Ordinal"
msgstr ""
-#: src/language/stats/crosstabs.q:1999
+#: src/language/stats/crosstabs.q:2000
msgid "Interval by Interval"
msgstr ""
-#: src/language/stats/crosstabs.q:2000
+#: src/language/stats/crosstabs.q:2001
msgid "Measure of Agreement"
msgstr ""
-#: src/language/stats/crosstabs.q:2005
+#: src/language/stats/crosstabs.q:2006
msgid "Phi"
msgstr ""
-#: src/language/stats/crosstabs.q:2006
+#: src/language/stats/crosstabs.q:2007
msgid "Cramer's V"
msgstr ""
-#: src/language/stats/crosstabs.q:2007
+#: src/language/stats/crosstabs.q:2008
msgid "Contingency Coefficient"
msgstr ""
-#: src/language/stats/crosstabs.q:2008
+#: src/language/stats/crosstabs.q:2009
msgid "Kendall's tau-b"
msgstr ""
-#: src/language/stats/crosstabs.q:2009
+#: src/language/stats/crosstabs.q:2010
msgid "Kendall's tau-c"
msgstr ""
-#: src/language/stats/crosstabs.q:2010
+#: src/language/stats/crosstabs.q:2011
msgid "Gamma"
msgstr ""
-#: src/language/stats/crosstabs.q:2011
+#: src/language/stats/crosstabs.q:2012
msgid "Spearman Correlation"
msgstr ""
-#: src/language/stats/crosstabs.q:2012
+#: src/language/stats/crosstabs.q:2013
msgid "Pearson's R"
msgstr ""
-#: src/language/stats/crosstabs.q:2013
+#: src/language/stats/crosstabs.q:2014
msgid "Kappa"
msgstr ""
-#: src/language/stats/crosstabs.q:2083
+#: src/language/stats/crosstabs.q:2084
#, c-format
msgid "Odds Ratio for %s (%g / %g)"
msgstr ""
-#: src/language/stats/crosstabs.q:2086
+#: src/language/stats/crosstabs.q:2087
#, c-format
msgid "Odds Ratio for %s (%.*s / %.*s)"
msgstr ""
-#: src/language/stats/crosstabs.q:2094
+#: src/language/stats/crosstabs.q:2095
#, c-format
msgid "For cohort %s = %g"
msgstr ""
-#: src/language/stats/crosstabs.q:2097
+#: src/language/stats/crosstabs.q:2098
#, c-format
msgid "For cohort %s = %.*s"
msgstr ""
-#: src/language/stats/crosstabs.q:2128
+#: src/language/stats/crosstabs.q:2129
msgid "Nominal by Interval"
msgstr ""
-#: src/language/stats/crosstabs.q:2133
+#: src/language/stats/crosstabs.q:2134
msgid "Lambda"
msgstr ""
-#: src/language/stats/crosstabs.q:2134
+#: src/language/stats/crosstabs.q:2135
msgid "Goodman and Kruskal tau"
msgstr ""
-#: src/language/stats/crosstabs.q:2135
+#: src/language/stats/crosstabs.q:2136
msgid "Uncertainty Coefficient"
msgstr ""
-#: src/language/stats/crosstabs.q:2136
+#: src/language/stats/crosstabs.q:2137
msgid "Somers' d"
msgstr ""
-#: src/language/stats/crosstabs.q:2137
+#: src/language/stats/crosstabs.q:2138
msgid "Eta"
msgstr ""
-#: src/language/stats/crosstabs.q:2142
+#: src/language/stats/crosstabs.q:2143
msgid "Symmetric"
msgstr ""
-#: src/language/stats/crosstabs.q:2143 src/language/stats/crosstabs.q:2144
+#: src/language/stats/crosstabs.q:2144 src/language/stats/crosstabs.q:2145
#, c-format
msgid "%s Dependent"
msgstr ""
#: src/language/stats/descriptives.c:106 src/language/stats/examine.q:1525
#: src/language/stats/frequencies.q:125 src/language/stats/npar-summary.c:127
-#: src/language/stats/oneway.q:393 src/language/stats/t-test.q:682
-#: src/language/stats/t-test.q:705 src/language/stats/t-test.q:829
-#: src/language/stats/t-test.q:1167
+#: src/language/stats/oneway.q:393 src/language/stats/t-test.q:681
+#: src/language/stats/t-test.q:704 src/language/stats/t-test.q:828
+#: src/language/stats/t-test.q:1166
msgid "Mean"
msgstr ""
msgid "Sum"
msgstr ""
-#: src/language/stats/descriptives.c:346
+#: src/language/stats/descriptives.c:347
#, c-format
msgid "Z-score variable name %s would be a duplicate variable name."
msgstr ""
-#: src/language/stats/descriptives.c:449
+#: src/language/stats/descriptives.c:450
msgid "expecting statistic name: reverting to default"
msgstr ""
-#: src/language/stats/descriptives.c:522
+#: src/language/stats/descriptives.c:523
msgid ""
"Ran out of generic names for Z-score variables. There are only 126 generic "
"names: ZSC001-ZSC0999, STDZ01-STDZ09, ZZZZ01-ZZZZ09, ZQZQ01-ZQZQ09."
msgstr ""
-#: src/language/stats/descriptives.c:554
+#: src/language/stats/descriptives.c:555
msgid "Mapping of variables to corresponding Z-scores."
msgstr ""
-#: src/language/stats/descriptives.c:559
+#: src/language/stats/descriptives.c:560
msgid "Source"
msgstr ""
-#: src/language/stats/descriptives.c:560
+#: src/language/stats/descriptives.c:561
msgid "Target"
msgstr ""
-#: src/language/stats/descriptives.c:670
+#: src/language/stats/descriptives.c:671
#, c-format
msgid "Z-score of %s"
msgstr ""
-#: src/language/stats/descriptives.c:882
+#: src/language/stats/descriptives.c:883
msgid "Valid N"
msgstr ""
-#: src/language/stats/descriptives.c:883
+#: src/language/stats/descriptives.c:884
msgid "Missing N"
msgstr ""
-#: src/language/stats/descriptives.c:910
+#: src/language/stats/descriptives.c:911
#, c-format
msgid "Valid cases = %g; cases with missing value(s) = %g."
msgstr ""
msgstr ""
#: src/language/stats/examine.q:1617 src/language/stats/npar-summary.c:130
-#: src/language/stats/oneway.q:394 src/language/stats/t-test.q:683
-#: src/language/stats/t-test.q:706 src/language/stats/t-test.q:831
-#: src/language/stats/t-test.q:1168
+#: src/language/stats/oneway.q:394 src/language/stats/t-test.q:682
+#: src/language/stats/t-test.q:705 src/language/stats/t-test.q:830
+#: src/language/stats/t-test.q:1167
msgid "Std. Deviation"
msgstr ""
"exactly %d values."
msgstr ""
-#: src/language/stats/npar.q:422 src/language/stats/t-test.q:485
+#: src/language/stats/npar.q:422 src/language/stats/t-test.q:484
#, c-format
msgid ""
"PAIRED was specified but the number of variables preceding WITH (%d) did not "
msgstr ""
#: src/language/stats/oneway.q:282 src/language/stats/regression.q:319
-#: src/language/stats/t-test.q:978
+#: src/language/stats/t-test.q:977
msgid "F"
msgstr ""
msgstr ""
#: src/language/stats/oneway.q:680 src/language/stats/regression.q:223
-#: src/language/stats/t-test.q:980 src/language/stats/t-test.q:1172
-#: src/language/stats/t-test.q:1265
+#: src/language/stats/t-test.q:979 src/language/stats/t-test.q:1171
+#: src/language/stats/t-test.q:1264
msgid "t"
msgstr ""
-#: src/language/stats/oneway.q:682 src/language/stats/t-test.q:982
-#: src/language/stats/t-test.q:1174 src/language/stats/t-test.q:1267
+#: src/language/stats/oneway.q:682 src/language/stats/t-test.q:981
+#: src/language/stats/t-test.q:1173 src/language/stats/t-test.q:1266
msgid "Sig. (2-tailed)"
msgstr ""
msgid "Coefficient Correlations"
msgstr ""
-#: src/language/stats/regression.q:1147
+#: src/language/stats/regression.q:1181
msgid "Dependent variable must be numeric."
msgstr ""
msgid "VARIABLES subcommand is not appropriate with PAIRS"
msgstr ""
-#: src/language/stats/t-test.q:335
+#: src/language/stats/t-test.q:334
msgid "One or more VARIABLES must be specified."
msgstr ""
-#: src/language/stats/t-test.q:379
+#: src/language/stats/t-test.q:378
#, c-format
msgid "Long string variable %s is not valid here."
msgstr ""
-#: src/language/stats/t-test.q:399 src/language/stats/t-test.q:413
+#: src/language/stats/t-test.q:398 src/language/stats/t-test.q:412
msgid ""
"When applying GROUPS to a string variable, two values must be specified."
msgstr ""
-#: src/language/stats/t-test.q:502
+#: src/language/stats/t-test.q:501
msgid "At least two variables must be specified on PAIRS."
msgstr ""
-#: src/language/stats/t-test.q:679
+#: src/language/stats/t-test.q:678
msgid "One-Sample Statistics"
msgstr ""
-#: src/language/stats/t-test.q:684 src/language/stats/t-test.q:707
-#: src/language/stats/t-test.q:832
+#: src/language/stats/t-test.q:683 src/language/stats/t-test.q:706
+#: src/language/stats/t-test.q:831
msgid "SE. Mean"
msgstr ""
-#: src/language/stats/t-test.q:702
+#: src/language/stats/t-test.q:701
msgid "Group Statistics"
msgstr ""
-#: src/language/stats/t-test.q:826
+#: src/language/stats/t-test.q:825
msgid "Paired Sample Statistics"
msgstr ""
-#: src/language/stats/t-test.q:848 src/language/stats/t-test.q:1193
-#: src/language/stats/t-test.q:1384
+#: src/language/stats/t-test.q:847 src/language/stats/t-test.q:1192
+#: src/language/stats/t-test.q:1383
#, c-format
msgid "Pair %d"
msgstr ""
-#: src/language/stats/t-test.q:966
+#: src/language/stats/t-test.q:965
msgid "Independent Samples Test"
msgstr ""
-#: src/language/stats/t-test.q:974
+#: src/language/stats/t-test.q:973
msgid "Levene's Test for Equality of Variances"
msgstr ""
-#: src/language/stats/t-test.q:976
+#: src/language/stats/t-test.q:975
msgid "t-test for Equality of Means"
msgstr ""
-#: src/language/stats/t-test.q:979 src/language/stats/t-test.q:1369
+#: src/language/stats/t-test.q:978 src/language/stats/t-test.q:1368
msgid "Sig."
msgstr ""
-#: src/language/stats/t-test.q:983 src/language/stats/t-test.q:1268
+#: src/language/stats/t-test.q:982 src/language/stats/t-test.q:1267
msgid "Mean Difference"
msgstr ""
-#: src/language/stats/t-test.q:984
+#: src/language/stats/t-test.q:983
msgid "Std. Error Difference"
msgstr ""
-#: src/language/stats/t-test.q:989 src/language/stats/t-test.q:1164
-#: src/language/stats/t-test.q:1260
+#: src/language/stats/t-test.q:988 src/language/stats/t-test.q:1163
+#: src/language/stats/t-test.q:1259
#, c-format
msgid "%g%% Confidence Interval of the Difference"
msgstr ""
-#: src/language/stats/t-test.q:1044
+#: src/language/stats/t-test.q:1043
msgid "Equal variances assumed"
msgstr ""
-#: src/language/stats/t-test.q:1096
+#: src/language/stats/t-test.q:1095
msgid "Equal variances not assumed"
msgstr ""
-#: src/language/stats/t-test.q:1154
+#: src/language/stats/t-test.q:1153
msgid "Paired Samples Test"
msgstr ""
-#: src/language/stats/t-test.q:1157
+#: src/language/stats/t-test.q:1156
msgid "Paired Differences"
msgstr ""
-#: src/language/stats/t-test.q:1169
+#: src/language/stats/t-test.q:1168
msgid "Std. Error Mean"
msgstr ""
-#: src/language/stats/t-test.q:1249
+#: src/language/stats/t-test.q:1248
msgid "One-Sample Test"
msgstr ""
-#: src/language/stats/t-test.q:1254
+#: src/language/stats/t-test.q:1253
#, c-format
msgid "Test Value = %f"
msgstr ""
-#: src/language/stats/t-test.q:1364
+#: src/language/stats/t-test.q:1363
msgid "Paired Samples Correlations"
msgstr ""
-#: src/language/stats/t-test.q:1368
+#: src/language/stats/t-test.q:1367
msgid "Correlation"
msgstr ""
-#: src/language/stats/t-test.q:1387
+#: src/language/stats/t-test.q:1386
#, c-format
msgid "%s & %s"
msgstr ""
msgid "Style of bevel around the custom entry button"
msgstr ""
-#: src/ui/gui/data-editor.c:159
+#: src/ui/gui/data-editor.c:161
msgid "Weights"
msgstr ""
-#: src/ui/gui/data-editor.c:160
+#: src/ui/gui/data-editor.c:162
msgid "Weight cases by variable"
msgstr ""
-#: src/ui/gui/data-editor.c:169 src/ui/gui/data-editor.glade:294
+#: src/ui/gui/data-editor.c:171 src/ui/gui/data-editor.glade:293
msgid "Transpose"
msgstr ""
-#: src/ui/gui/data-editor.c:170
+#: src/ui/gui/data-editor.c:172
msgid "Transpose the cases with the variables"
msgstr ""
-#: src/ui/gui/data-editor.c:494
+#: src/ui/gui/data-editor.c:183
+msgid "Split"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:184
+msgid "Split the active file"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:194
+msgid "Sort"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:195
+msgid "Sort cases in the active file"
+msgstr ""
+
+#: src/ui/gui/data-editor.c:531
msgid "Font Selection"
msgstr ""
-#: src/ui/gui/data-editor.c:672
+#: src/ui/gui/data-editor.c:709
msgid "No Split"
msgstr ""
-#: src/ui/gui/data-editor.c:680
+#: src/ui/gui/data-editor.c:717
msgid "Split by "
msgstr ""
-#: src/ui/gui/data-editor.c:705
+#: src/ui/gui/data-editor.c:742
msgid "Filter off"
msgstr ""
-#: src/ui/gui/data-editor.c:718
+#: src/ui/gui/data-editor.c:755
#, c-format
msgid "Filter by %s"
msgstr ""
-#: src/ui/gui/data-editor.c:736
+#: src/ui/gui/data-editor.c:773
msgid "Weights off"
msgstr ""
-#: src/ui/gui/data-editor.c:749
+#: src/ui/gui/data-editor.c:786
#, c-format
msgid "Weight by %s"
msgstr ""
-#: src/ui/gui/data-editor.c:772 src/ui/gui/data-editor.c:983
-#: src/ui/gui/data-editor.glade:414
+#: src/ui/gui/data-editor.c:809 src/ui/gui/data-editor.c:1020
+#: src/ui/gui/data-editor.glade:412
msgid "Open"
msgstr ""
-#: src/ui/gui/data-editor.c:773
+#: src/ui/gui/data-editor.c:810
msgid "Open a data file"
msgstr ""
-#: src/ui/gui/data-editor.c:781 src/ui/gui/data-editor.c:888
-#: src/ui/gui/data-editor.glade:424
+#: src/ui/gui/data-editor.c:818 src/ui/gui/data-editor.c:925
+#: src/ui/gui/data-editor.glade:422
msgid "Save"
msgstr ""
-#: src/ui/gui/data-editor.c:782 src/ui/gui/data-editor.c:792
+#: src/ui/gui/data-editor.c:819 src/ui/gui/data-editor.c:829
msgid "Save data to file"
msgstr ""
-#: src/ui/gui/data-editor.c:791
+#: src/ui/gui/data-editor.c:828
msgid "Save As"
msgstr ""
-#: src/ui/gui/data-editor.c:800
+#: src/ui/gui/data-editor.c:837
msgid "New"
msgstr ""
-#: src/ui/gui/data-editor.c:801
+#: src/ui/gui/data-editor.c:838
msgid "New data file"
msgstr ""
-#: src/ui/gui/data-editor.c:896 src/ui/gui/data-editor.c:991
+#: src/ui/gui/data-editor.c:933 src/ui/gui/data-editor.c:1028
msgid "System Files (*.sav)"
msgstr ""
-#: src/ui/gui/data-editor.c:902 src/ui/gui/data-editor.c:997
+#: src/ui/gui/data-editor.c:939 src/ui/gui/data-editor.c:1034
msgid "Portable Files (*.por) "
msgstr ""
-#: src/ui/gui/data-editor.c:908 src/ui/gui/data-editor.c:1003
+#: src/ui/gui/data-editor.c:945 src/ui/gui/data-editor.c:1040
#: src/ui/gui/syntax-editor.c:141 src/ui/gui/syntax-editor.c:524
msgid "All Files"
msgstr ""
-#: src/ui/gui/data-editor.c:916
+#: src/ui/gui/data-editor.c:953
msgid "System File"
msgstr ""
-#: src/ui/gui/data-editor.c:921
+#: src/ui/gui/data-editor.c:958
msgid "Portable File"
msgstr ""
msgid "Grid Lines"
msgstr ""
-#: src/ui/gui/data-editor.glade:218 src/ui/gui/data-editor.glade:614
-#: src/ui/gui/data-editor.glade:1324 src/ui/gui/data-editor.glade:1502
+#: src/ui/gui/data-editor.glade:218 src/ui/gui/data-editor.glade:623
+#: src/ui/gui/data-editor.glade:1333 src/ui/gui/data-editor.glade:1511
msgid "Value Labels"
msgstr ""
msgid "Data"
msgstr ""
-#: src/ui/gui/data-editor.glade:237 src/ui/gui/data-editor.glade:497
+#: src/ui/gui/data-editor.glade:237 src/ui/gui/data-editor.glade:507
msgid "Variables"
msgstr ""
-#: src/ui/gui/data-editor.glade:256 src/ui/gui/data-editor.glade:550
+#: src/ui/gui/data-editor.glade:256 src/ui/gui/data-editor.glade:560
msgid "Insert Variable"
msgstr ""
msgid "Insert Cases"
msgstr ""
-#: src/ui/gui/data-editor.glade:272 src/ui/gui/data-editor.glade:486
-#: src/ui/gui/data-editor.glade:1868
+#: src/ui/gui/data-editor.glade:272 src/ui/gui/data-editor.glade:496
+#: src/ui/gui/data-editor.glade:1877
msgid "Go To Case"
msgstr ""
-#: src/ui/gui/data-editor.glade:286 src/ui/gui/data-editor.glade:1933
+#: src/ui/gui/data-editor.glade:285 src/ui/gui/data-editor.glade:1942
msgid "Sort Cases"
msgstr ""
-#: src/ui/gui/data-editor.glade:302
+#: src/ui/gui/data-editor.glade:301
msgid "Restructure"
msgstr ""
-#: src/ui/gui/data-editor.glade:310
+#: src/ui/gui/data-editor.glade:309
msgid "Merge Files"
msgstr ""
-#: src/ui/gui/data-editor.glade:318
+#: src/ui/gui/data-editor.glade:317
msgid "Aggregate"
msgstr ""
-#: src/ui/gui/data-editor.glade:332 src/ui/gui/data-editor.glade:571
+#: src/ui/gui/data-editor.glade:330 src/ui/gui/data-editor.glade:580
msgid "Split File"
msgstr ""
-#: src/ui/gui/data-editor.glade:340 src/ui/gui/data-editor.glade:594
+#: src/ui/gui/data-editor.glade:338 src/ui/gui/data-editor.glade:603
msgid "Select Cases"
msgstr ""
-#: src/ui/gui/data-editor.glade:347 src/ui/gui/data-editor.glade:582
+#: src/ui/gui/data-editor.glade:345 src/ui/gui/data-editor.glade:591
msgid "Weight Cases"
msgstr ""
-#: src/ui/gui/data-editor.glade:358 src/ui/gui/syntax-editor.glade:233
+#: src/ui/gui/data-editor.glade:356 src/ui/gui/syntax-editor.glade:233
msgid "_Windows"
msgstr ""
-#: src/ui/gui/data-editor.glade:365 src/ui/gui/syntax-editor.glade:242
+#: src/ui/gui/data-editor.glade:363 src/ui/gui/syntax-editor.glade:242
msgid "_Minimise All Windows"
msgstr ""
-#: src/ui/gui/data-editor.glade:376 src/ui/gui/syntax-editor.glade:254
+#: src/ui/gui/data-editor.glade:374 src/ui/gui/syntax-editor.glade:254
msgid "_Help"
msgstr ""
-#: src/ui/gui/data-editor.glade:383 src/ui/gui/syntax-editor.glade:263
+#: src/ui/gui/data-editor.glade:381 src/ui/gui/syntax-editor.glade:263
msgid "_Reference Manual"
msgstr ""
-#: src/ui/gui/data-editor.glade:390 src/ui/gui/syntax-editor.glade:271
+#: src/ui/gui/data-editor.glade:388 src/ui/gui/syntax-editor.glade:271
msgid "_About"
msgstr ""
-#: src/ui/gui/data-editor.glade:435
+#: src/ui/gui/data-editor.glade:433
msgid "Print"
msgstr ""
-#: src/ui/gui/data-editor.glade:455
+#: src/ui/gui/data-editor.glade:444
+msgid "Recall"
+msgstr ""
+
+#: src/ui/gui/data-editor.glade:465
msgid "Undo"
msgstr ""
-#: src/ui/gui/data-editor.glade:466
+#: src/ui/gui/data-editor.glade:476
msgid "Redo"
msgstr ""
-#: src/ui/gui/data-editor.glade:518
+#: src/ui/gui/data-editor.glade:528
msgid "Find"
msgstr ""
-#: src/ui/gui/data-editor.glade:538
+#: src/ui/gui/data-editor.glade:548
msgid "Insert Case"
msgstr ""
-#: src/ui/gui/data-editor.glade:626
+#: src/ui/gui/data-editor.glade:635
msgid "Use Sets"
msgstr ""
-#: src/ui/gui/data-editor.glade:708
+#: src/ui/gui/data-editor.glade:717
msgid "Data View"
msgstr ""
-#: src/ui/gui/data-editor.glade:735
+#: src/ui/gui/data-editor.glade:744
msgid "Variable View"
msgstr ""
-#: src/ui/gui/data-editor.glade:765
+#: src/ui/gui/data-editor.glade:774
msgid "Information Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:784
+#: src/ui/gui/data-editor.glade:793
msgid "Processor Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:809
+#: src/ui/gui/data-editor.glade:818
msgid "OMS Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:834
+#: src/ui/gui/data-editor.glade:843
msgid "Case Counter Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:859
+#: src/ui/gui/data-editor.glade:868
msgid "Filter Use Status Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:885
+#: src/ui/gui/data-editor.glade:894
msgid "Weight Status Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:911
+#: src/ui/gui/data-editor.glade:920
msgid "Split File Status Area"
msgstr ""
-#: src/ui/gui/data-editor.glade:941
+#: src/ui/gui/data-editor.glade:950
msgid "Variable Type"
msgstr ""
-#: src/ui/gui/data-editor.glade:976 src/ui/gui/psppire-var-store.c:475
+#: src/ui/gui/data-editor.glade:985 src/ui/gui/psppire-var-store.c:475
msgid "Comma"
msgstr ""
-#: src/ui/gui/data-editor.glade:991 src/ui/gui/psppire-var-store.c:476
+#: src/ui/gui/data-editor.glade:1000 src/ui/gui/psppire-var-store.c:476
msgid "Dot"
msgstr ""
-#: src/ui/gui/data-editor.glade:1006
+#: src/ui/gui/data-editor.glade:1015
msgid "Scientific notation"
msgstr ""
-#: src/ui/gui/data-editor.glade:1021 src/ui/gui/psppire-var-store.c:478
+#: src/ui/gui/data-editor.glade:1030 src/ui/gui/psppire-var-store.c:478
msgid "Date"
msgstr ""
-#: src/ui/gui/data-editor.glade:1036 src/ui/gui/psppire-var-store.c:479
+#: src/ui/gui/data-editor.glade:1045 src/ui/gui/psppire-var-store.c:479
msgid "Dollar"
msgstr ""
-#: src/ui/gui/data-editor.glade:1051
+#: src/ui/gui/data-editor.glade:1060
msgid "Custom currency"
msgstr ""
-#: src/ui/gui/data-editor.glade:1143
+#: src/ui/gui/data-editor.glade:1152
msgid "positive"
msgstr ""
-#: src/ui/gui/data-editor.glade:1149
+#: src/ui/gui/data-editor.glade:1158
msgid "negative"
msgstr ""
-#: src/ui/gui/data-editor.glade:1162
+#: src/ui/gui/data-editor.glade:1171
msgid "Sample"
msgstr ""
-#: src/ui/gui/data-editor.glade:1212
+#: src/ui/gui/data-editor.glade:1221
msgid "Width:"
msgstr ""
-#: src/ui/gui/data-editor.glade:1256
+#: src/ui/gui/data-editor.glade:1265
msgid "Decimal Places:"
msgstr ""
-#: src/ui/gui/data-editor.glade:1422
+#: src/ui/gui/data-editor.glade:1431
msgid "Value Label:"
msgstr ""
-#: src/ui/gui/data-editor.glade:1435
+#: src/ui/gui/data-editor.glade:1444
msgid "Value:"
msgstr ""
-#: src/ui/gui/data-editor.glade:1566
+#: src/ui/gui/data-editor.glade:1575
msgid "Missing Values"
msgstr ""
-#: src/ui/gui/data-editor.glade:1584
+#: src/ui/gui/data-editor.glade:1593
msgid "_Range plus one optional discrete missing value"
msgstr ""
-#: src/ui/gui/data-editor.glade:1608
+#: src/ui/gui/data-editor.glade:1617
msgid "_Low:"
msgstr ""
-#: src/ui/gui/data-editor.glade:1637
+#: src/ui/gui/data-editor.glade:1646
msgid "_High:"
msgstr ""
-#: src/ui/gui/data-editor.glade:1678
+#: src/ui/gui/data-editor.glade:1687
msgid "Di_screte value:"
msgstr ""
-#: src/ui/gui/data-editor.glade:1725
+#: src/ui/gui/data-editor.glade:1734
msgid "_No missing values"
msgstr ""
-#: src/ui/gui/data-editor.glade:1742
+#: src/ui/gui/data-editor.glade:1751
msgid "_Discrete missing values"
msgstr ""
-#: src/ui/gui/data-editor.glade:1885
+#: src/ui/gui/data-editor.glade:1894
msgid "Case Number:"
msgstr ""
-#: src/ui/gui/data-editor.glade:1994
+#: src/ui/gui/data-editor.glade:2003 src/ui/gui/psppire.glade:1187
msgid "Sort by:"
msgstr ""
-#: src/ui/gui/data-editor.glade:2043 src/ui/gui/sort-cases-dialog.c:279
+#: src/ui/gui/data-editor.glade:2052 src/ui/gui/psppire.glade:1240
msgid "Ascending"
msgstr ""
-#: src/ui/gui/data-editor.glade:2056 src/ui/gui/sort-cases-dialog.c:281
+#: src/ui/gui/data-editor.glade:2065 src/ui/gui/psppire.glade:1250
msgid "Descending"
msgstr ""
-#: src/ui/gui/data-editor.glade:2072
+#: src/ui/gui/data-editor.glade:2081 src/ui/gui/psppire.glade:1266
msgid "Sort Order"
msgstr ""
-#: src/ui/gui/dict-display.c:92 src/ui/gui/sort-cases-dialog.c:339
-#: src/ui/gui/transpose-dialog.c:123
+#: src/ui/gui/dict-display.c:92
msgid "Var"
msgstr ""
msgid "%d"
msgstr ""
-#: src/ui/gui/psppire.glade:9
+#: src/ui/gui/psppire.glade:11
msgid "This is pre-alpha software. Use at your own risk."
msgstr ""
-#: src/ui/gui/psppire.glade:10
+#: src/ui/gui/psppire.glade:12
msgid ""
" This program is free software; you can redistribute it and/or modify\n"
" it under the terms of the GNU General Public License as published by\n"
" 02110-1301, USA.\n"
msgstr ""
-#: src/ui/gui/psppire.glade:90 src/ui/gui/psppire.glade:170
+#: src/ui/gui/psppire.glade:89 src/ui/gui/psppire.glade:170
+#: src/ui/gui/weight-cases-dialog.c:85
msgid "Do not weight cases"
msgstr ""
-#: src/ui/gui/psppire.glade:100
+#: src/ui/gui/psppire.glade:99
msgid "Weight cases by"
msgstr ""
msgid "Current Status: "
msgstr ""
-#: src/ui/gui/psppire.glade:257
+#: src/ui/gui/psppire.glade:258
msgid "Name Variable:"
msgstr ""
-#: src/ui/gui/psppire.glade:290
+#: src/ui/gui/psppire.glade:291
msgid "Variable(s):"
msgstr ""
+#: src/ui/gui/psppire.glade:444
+msgid "Analyse all cases. Do not create groups."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:454
+msgid "Compare groups."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:467
+msgid "Organise output by groups."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:514
+msgid "Groups based on:"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:579
+msgid "Sort the file by grouping variables."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:590
+msgid "File is already sorted."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:634
+msgid "Current Status : "
+msgstr ""
+
+#: src/ui/gui/psppire.glade:642
+msgid "Analysis by groups is off"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:740
+msgid "All Cases"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:761
+msgid "If condition is satisfied"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:780
+msgid "If..."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:816
+msgid "Random Sample of cases"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:830
+msgid "Sample..."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:841
+msgid "Approximately 23% of cases"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:876
+msgid "Based on time or case range"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:890
+msgid "Range..."
+msgstr ""
+
+#: src/ui/gui/psppire.glade:901
+msgid "2 thru 3"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:936
+msgid "Use filter variable"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:983
+msgid "Select"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:1012
+msgid "Filtered"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:1022
+msgid "Deleted"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:1039
+msgid "Unselected Cases Are"
+msgstr ""
+
+#: src/ui/gui/psppire.glade:1067
+msgid "Curent Status : "
+msgstr ""
+
+#: src/ui/gui/psppire.glade:1079
+msgid "Do not filter cases"
+msgstr ""
+
#: src/ui/gui/psppire-var-store.c:470
msgid "None"
msgstr ""
msgid "Custom"
msgstr ""
-#: src/ui/gui/sort-cases-dialog.c:367
-msgid "Criteria"
-msgstr ""
-
#: src/ui/gui/syntax-editor.c:80
#, c-format
msgid "Save contents of syntax editor to %s?"
msgid "Scale"
msgstr ""
+#: src/ui/gui/weight-cases-dialog.c:91
+#, c-format
+msgid "Weight cases by %s"
+msgstr ""
+
#: src/ui/gui/window-manager.c:141
#, c-format
msgid "Syntax%d"
in cases A and B and returns a strcmp()-type result. */
int
case_compare (const struct ccase *a, const struct ccase *b,
- struct variable *const *vp, size_t var_cnt)
+ const struct variable *const *vp, size_t var_cnt)
{
return case_compare_2dict (a, b, vp, vp, var_cnt);
}
and returns a strcmp()-type result. */
int
case_compare_2dict (const struct ccase *ca, const struct ccase *cb,
- struct variable *const *vap, struct variable *const *vbp,
+ const struct variable *const *vap,
+ const struct variable *const *vbp,
size_t var_cnt)
{
for (; var_cnt-- > 0; vap++, vbp++)
union value *case_data_rw_idx (struct ccase *, size_t idx);
int case_compare (const struct ccase *, const struct ccase *,
- struct variable *const *, size_t var_cnt);
+ const struct variable *const *, size_t var_cnt);
int case_compare_2dict (const struct ccase *, const struct ccase *,
- struct variable *const *, struct variable *const *,
+ const struct variable *const *,
+ const struct variable *const *,
size_t var_cnt);
const union value *case_data_all (const struct ccase *);
N_VARS is the size of VARS.
*/
struct casefilter *
-casefilter_create (enum mv_class class, struct variable **vars, int n_vars)
+casefilter_create (enum mv_class class, const struct variable **vars, int n_vars)
{
int i;
struct casefilter * filter = xmalloc (sizeof (*filter)) ;
filter considers. N_VARS is the size of VARS */
void
casefilter_add_variables (struct casefilter *filter,
- struct variable *const *vars, int n_vars)
+ const struct variable *const *vars, int n_vars)
{
int i;
N_VARS is the size of VARS.
*/
struct casefilter * casefilter_create (enum mv_class class,
- struct variable **, int);
+ const struct variable **, int);
/* Add the variables in VARS to the list of variables for which the
filter considers. N_VARS is the size of VARS */
void casefilter_add_variables (struct casefilter *,
- struct variable *const*, int);
+ const struct variable *const*, int);
/* Destroy the filter FILTER */
void casefilter_destroy (struct casefilter *);
union value *cat_subscript_to_value (const size_t, struct variable *);
-void cat_stored_values_create (struct variable *);
+void cat_stored_values_create (const struct variable *);
-void cat_value_update (struct variable *, const union value *);
+void cat_value_update (const struct variable *, const union value *);
-void cat_create_value_matrix (struct variable *);
+void cat_create_value_matrix (const struct variable *);
void cat_stored_values_destroy (struct cat_vals *);
#endif
#define N_INITIAL_CATEGORIES 1
void
-cat_stored_values_create (struct variable *v)
+cat_stored_values_create (const struct variable *v)
{
if (!var_has_obs_vals (v))
{
Add the new value unless it is already present.
*/
void
-cat_value_update (struct variable *v, const union value *val)
+cat_value_update (const struct variable *v, const union value *val)
{
if (var_is_alpha (v))
{
size_t var_cnt, var_cap; /* Number of variables, capacity. */
struct hsh_table *name_tab; /* Variable index by name. */
int next_value_idx; /* Index of next `union value' to allocate. */
- struct variable **split; /* SPLIT FILE vars. */
+ const struct variable **split; /* SPLIT FILE vars. */
size_t split_cnt; /* SPLIT FILE count. */
struct variable *weight; /* WEIGHT variable. */
struct variable *filter; /* FILTER variable. */
return d->var[idx];
}
+inline void
+dict_get_vars (const struct dictionary *d, const struct variable ***vars,
+ size_t *cnt, unsigned exclude_classes)
+{
+ dict_get_vars_mutable (d, (struct variable ***) vars, cnt, exclude_classes);
+}
+
/* Sets *VARS to an array of pointers to variables in D and *CNT
to the number of variables in *D. All variables are returned
if EXCLUDE_CLASSES is 0, or it may contain one or more of (1u
<< DC_ORDINARY), (1u << DC_SYSTEM), or (1u << DC_SCRATCH) to
exclude the corresponding type of variable. */
void
-dict_get_vars (const struct dictionary *d, struct variable ***vars,
+dict_get_vars_mutable (const struct dictionary *d, struct variable ***vars,
size_t *cnt, unsigned exclude_classes)
{
size_t count;
dict_get_split_cnt() to determine how many SPLIT FILE vars
there are. Returns a null pointer if and only if there are no
SPLIT FILE vars. */
-struct variable *const *
+const struct variable *const *
dict_get_split_vars (const struct dictionary *d)
{
assert (d != NULL);
size_t dict_get_var_cnt (const struct dictionary *);
struct variable *dict_get_var (const struct dictionary *, size_t idx);
-void dict_get_vars (const struct dictionary *,
+inline void dict_get_vars (const struct dictionary *,
+ const struct variable ***vars, size_t *cnt,
+ unsigned exclude_classes);
+void dict_get_vars_mutable (const struct dictionary *,
struct variable ***vars, size_t *cnt,
unsigned exclude_classes);
struct ccase *, const struct ccase *);
void dict_compactor_destroy (struct dict_compactor *);
-struct variable *const *dict_get_split_vars (const struct dictionary *);
+const struct variable *const *dict_get_split_vars (const struct dictionary *);
size_t dict_get_split_cnt (const struct dictionary *);
void dict_set_split_vars (struct dictionary *,
struct variable *const *, size_t cnt);
cleared, AUX_DTOR(V) will be called. (var_dtor_free, below,
may be appropriate for use as AUX_DTOR.) */
void *
-var_attach_aux (struct variable *v,
+var_attach_aux (const struct variable *v_,
void *aux, void (*aux_dtor) (struct variable *))
{
+ struct variable *v = (struct variable *) v_ ; /* cast away const */
assert (v->aux == NULL);
assert (aux != NULL);
v->aux = aux;
/* Sets V's observed categorical values to CAT_VALS. */
void
-var_set_obs_vals (struct variable *v, struct cat_vals *cat_vals)
+var_set_obs_vals (const struct variable *v_, struct cat_vals *cat_vals)
{
+ struct variable *v = (struct variable *) v_ ; /* cast away const */
cat_stored_values_destroy (v->obs_vals);
v->obs_vals = cat_vals;
}
/* Variable auxiliary data. */
void *var_get_aux (const struct variable *);
-void *var_attach_aux (struct variable *,
+void *var_attach_aux (const struct variable *,
void *aux, void (*aux_dtor) (struct variable *));
void var_clear_aux (struct variable *);
void *var_detach_aux (struct variable *);
/* Observed categorical values. */
struct cat_vals *var_get_obs_vals (const struct variable *);
-void var_set_obs_vals (struct variable *, struct cat_vals *);
+void var_set_obs_vals (const struct variable *, struct cat_vals *);
bool var_has_obs_vals (const struct variable *);
/* Classes of variables. */
struct mtf_file *next_min; /* Next in the chain of minimums. */
int type; /* One of MTF_*. */
- struct variable **by; /* List of BY variables for this file. */
+ const struct variable **by; /* List of BY variables for this file. */
struct file_handle *handle; /* File handle. */
struct any_reader *reader; /* File reader. */
struct dictionary *dict; /* Dictionary from system file. */
{
if (lex_match (lexer, T_BY))
{
- struct variable **by;
+ const struct variable **by;
if (mtf.by_cnt)
{
}
lex_match (lexer, '=');
- if (!parse_variables (lexer, mtf.dict, &by, &mtf.by_cnt,
+ if (!parse_variables_const (lexer, mtf.dict, &by, &mtf.by_cnt,
PV_NO_DUPLICATE | PV_NO_SCRATCH))
goto error;
/* Put in vertical names. */
for (i = x = 0; i < prc->n_vertical; i++)
{
- struct variable *v = cmd.v_variables[i];
+ const struct variable *v = cmd.v_variables[i];
const char *name = var_get_name (v);
size_t name_len = strlen (name);
const struct fmt_spec *print = var_get_print_format (v);
/* Put in horizontal names. */
for (; i < cmd.n_variables; i++)
{
- struct variable *v = cmd.v_variables[i];
+ const struct variable *v = cmd.v_variables[i];
const char *name = var_get_name (v);
size_t name_len = strlen (name);
const struct fmt_spec *print = var_get_print_format (v);
/* Try layout #1. */
for (width = cmd.n_variables - 1, column = 0; column < cmd.n_variables; column++)
{
- struct variable *v = cmd.v_variables[column];
+ const struct variable *v = cmd.v_variables[column];
int fmt_width = var_get_print_format (v)->w;
int name_len = strlen (var_get_name (v));
width += MAX (fmt_width, name_len);
column < cmd.n_variables && width <= max_width;
column++)
{
- struct variable *v = cmd.v_variables[column];
+ const struct variable *v = cmd.v_variables[column];
int fmt_width = var_get_print_format (v)->w;
size_t name_len = strlen (var_get_name (v));
width += fmt_width;
#endif
for (column = cmd.n_variables; column-- != 0; )
{
- struct variable *v = cmd.v_variables[column];
+ const struct variable *v = cmd.v_variables[column];
int name_len = strlen (var_get_name (v));
int fmt_width = var_get_print_format (v)->w;
int trial_width = width - fmt_width + MAX (fmt_width, name_len);
column < prc->n_vertical;
column++)
{
- struct variable *var = cmd.v_variables[column];
+ const struct variable *var = cmd.v_variables[column];
size_t name_len = strlen (var_get_name (var));
prc->header_rows = MAX (prc->header_rows, name_len);
}
for (column = 0; column < cmd.n_variables; column++)
{
- struct variable *v = cmd.v_variables[column];
+ const struct variable *v = cmd.v_variables[column];
const struct fmt_spec *print = var_get_print_format (v);
int width;
for (column = 0; column < cmd.n_variables; column++)
{
- struct variable *v = cmd.v_variables[column];
+ const struct variable *v = cmd.v_variables[column];
const struct fmt_spec *print = var_get_print_format (v);
char buf[256];
int first_column; /* 0-based first column. */
/* PRT_VAR only. */
- struct variable *var; /* Associated variable. */
+ const struct variable *var; /* Associated variable. */
struct fmt_spec format; /* Output spec. */
bool add_space; /* Add trailing space? */
bool sysmis_as_spaces; /* Output SYSMIS as spaces? */
int *record, int *column,
enum which_formats which_formats)
{
- struct variable **vars;
+ const struct variable **vars;
size_t var_cnt, var_idx;
struct fmt_spec *formats, *f;
size_t format_cnt;
bool add_space;
- if (!parse_variables_pool (lexer, tmp_pool, dict,
+ if (!parse_variables_const_pool (lexer, tmp_pool, dict,
&vars, &var_cnt, PV_DUPLICATE))
return false;
format_cnt = var_cnt;
for (i = 0; i < var_cnt; i++)
{
- struct variable *v = vars[i];
+ const struct variable *v = vars[i];
formats[i] = (which_formats == PRINT
? *var_get_print_format (v)
: *var_get_write_format (v));
for (f = formats; f < &formats[format_cnt]; f++)
if (!execute_placement_format (f, record, column))
{
- struct variable *var;
+ const struct variable *var;
struct prt_out_spec *spec;
var = vars[var_idx++];
msg (SE, _("DELETE VARIABLES may not be used after TEMPORARY. "
"Temporary transformations will be made permanent."));
- if (!parse_variables (lexer, dataset_dict (ds), &vars, &var_cnt, PV_NONE))
+ if (!parse_variables (lexer, dataset_dict (ds), &vars, &var_cnt,
+ PV_NONE))
goto error;
if (var_cnt == dict_get_var_cnt (dataset_dict (ds)))
{
"of variables."));
goto done;
}
- dict_get_vars (dataset_dict (ds), &v, &nv, 1u << DC_SYSTEM);
+ dict_get_vars_mutable (dataset_dict (ds), &v, &nv, 1u << DC_SYSTEM);
}
else
{
sort (keep_vars, keep_cnt, sizeof *keep_vars,
compare_variables_given_ordering, &forward_positional_ordering);
- dict_get_vars (dataset_dict (ds), &all_vars, &all_cnt, 0);
+ dict_get_vars_mutable (dataset_dict (ds), &all_vars, &all_cnt, 0);
assert (all_cnt >= keep_cnt);
drop_cnt = all_cnt - keep_cnt;
size_t i;
/* All variables, in index order. */
- dict_get_vars (d, &all_vars, &all_cnt, 0);
+ dict_get_vars_mutable (d, &all_vars, &all_cnt, 0);
/* Drop variables, in index order. */
drop_cnt = vm->drop_cnt;
output_split_file_values (const struct dataset *ds, const struct ccase *c)
{
const struct dictionary *dict = dataset_dict (ds);
- struct variable *const *split;
+ const struct variable *const *split;
struct tab_table *t;
size_t split_cnt;
int i;
split = dict_get_split_vars (dict);
for (i = 0; i < split_cnt; i++)
{
- struct variable *v = split[i];
+ const struct variable *v = split[i];
char temp_buf[80];
const char *val_lab;
const struct fmt_spec *print = var_get_print_format (v);
AS_VECTOR
};
-static int describe_variable (struct variable *v, struct tab_table *t, int r, int as);
+static int describe_variable (const struct variable *v, struct tab_table *t, int r, int as);
/* Sets the widths of all the columns and heights of all the rows in
table T for driver D. */
static void display_macros (void);
static void display_documents (const struct dictionary *dict);
-static void display_variables (struct variable **, size_t, int);
+static void display_variables (const struct variable **, size_t, int);
static void display_vectors (const struct dictionary *dict, int sorted);
int
/* Variables to display. */
size_t n;
- struct variable **vl;
+ const struct variable **vl;
if (lex_match_id (lexer, "MACROS"))
display_macros ();
if (lex_token (lexer) != '.')
{
- if (!parse_variables (lexer, dataset_dict (ds), &vl, &n, PV_NONE))
+ if (!parse_variables_const (lexer, dataset_dict (ds), &vl, &n, PV_NONE))
{
free (vl);
return CMD_FAILURE;
}
static void
-display_variables (struct variable **vl, size_t n, int as)
+display_variables (const struct variable **vl, size_t n, int as)
{
- struct variable **vp = vl; /* Variable pointer. */
+ const struct variable **vp = vl; /* Variable pointer. */
struct tab_table *t;
int nc; /* Number of columns. */
int nr; /* Number of rows. */
for (i = r = 1; i <= n; i++)
{
- struct variable *v;
+ const struct variable *v;
while (*vp == NULL)
vp++;
The variable will be described in the format AS. Returns the next
row available for use in the table. */
static int
-describe_variable (struct variable *v, struct tab_table *t, int r, int as)
+describe_variable (const struct variable *v, struct tab_table *t, int r, int as)
{
const struct fmt_spec *print = var_get_print_format (v);
const struct fmt_spec *write = var_get_write_format (v);
/* Declarations. */
static int do_value_labels (struct lexer *,
- const struct dictionary *dict, int);
+ const struct dictionary *dict, bool);
static int verify_val_labs (struct variable **vars, size_t var_cnt);
static void erase_labels (struct variable **vars, size_t var_cnt);
static int get_label (struct lexer *, struct variable **vars, size_t var_cnt);
int
cmd_value_labels (struct lexer *lexer, struct dataset *ds)
{
- return do_value_labels (lexer, dataset_dict (ds), 1);
+ return do_value_labels (lexer, dataset_dict (ds), true);
}
int
cmd_add_value_labels (struct lexer *lexer, struct dataset *ds)
{
- return do_value_labels (lexer, dataset_dict (ds), 0);
+ return do_value_labels (lexer, dataset_dict (ds), false);
}
\f
/* Do it. */
static int
-do_value_labels (struct lexer *lexer, const struct dictionary *dict, int erase)
+do_value_labels (struct lexer *lexer, const struct dictionary *dict, bool erase)
{
struct variable **vars; /* Variable list. */
size_t var_cnt; /* Number of variables. */
for (i = 0; i < var_cnt; i++)
{
- struct variable *vp = vars[i];
+ const struct variable *vp = vars[i];
if (var_is_long_string (vp))
{
}
static void
-emit_variable (struct expression *e, struct variable *v)
+emit_variable (struct expression *e, const struct variable *v)
{
allocate_aux (e, OP_variable)->variable = v;
}
static bool type_check (struct expression *, union any_node **,
enum expr_type expected_type);
static union any_node *allocate_unary_variable (struct expression *,
- struct variable *);
+ const struct variable *);
\f
/* Public functions. */
if (lex_token (lexer) == T_ID
&& toupper (lex_look_ahead (lexer)) == 'T')
{
- struct variable **vars;
+ const struct variable **vars;
size_t var_cnt;
size_t i;
- if (!parse_variables (lexer, dataset_dict (e->ds), &vars, &var_cnt, PV_SINGLE))
+ if (!parse_variables_const (lexer, dataset_dict (e->ds), &vars, &var_cnt, PV_SINGLE))
goto fail;
for (i = 0; i < var_cnt; i++)
add_arg (&args, &arg_cnt, &arg_cap,
}
union any_node *
-expr_allocate_variable (struct expression *e, struct variable *v)
+expr_allocate_variable (struct expression *e, const struct variable *v)
{
union any_node *n = pool_alloc (e->expr_pool, sizeof n->variable);
n->type = var_is_numeric (v) ? OP_num_var : OP_str_var;
/* Allocates a unary composite node that represents the value of
variable V in expression E. */
static union any_node *
-allocate_unary_variable (struct expression *e, struct variable *v)
+allocate_unary_variable (struct expression *e, const struct variable *v)
{
assert (v != NULL);
return expr_allocate_unary (e, var_is_numeric (v) ? OP_NUM_VAR : OP_STR_VAR,
struct variable_node
{
operation_type type; /* OP_variable. */
- struct variable *v;
+ const struct variable *v;
};
struct integer_node
operation_type operation;
double number;
struct substring string;
- struct variable *variable;
+ const struct variable *variable;
const struct vector *vector;
struct fmt_spec *format;
int integer;
union any_node *expr_allocate_string (struct expression *e,
struct substring);
union any_node *expr_allocate_variable (struct expression *e,
- struct variable *);
+ const struct variable *);
union any_node *expr_allocate_format (struct expression *e,
const struct fmt_spec *);
union any_node *expr_allocate_vector (struct expression *e,
case SBC_VARLIST:
dump (0, "size_t %sn_%s;", st_lower (sbc->prefix),
st_lower (sbc->name));
- dump (0, "struct variable **%sv_%s;", st_lower (sbc->prefix),
+ dump (0, "const struct variable **%sv_%s;", st_lower (sbc->prefix),
st_lower (sbc->name));
break;
case SBC_VAR:
- dump (0, "struct variable *%sv_%s;", st_lower (sbc->prefix),
+ dump (0, "const struct variable *%sv_%s;", st_lower (sbc->prefix),
st_lower (sbc->name));
break;
}
else if (sbc->type == SBC_VARLIST)
{
- dump (1, "if (!parse_variables (lexer, dataset_dict (ds), &p->%sv_%s, &p->%sn_%s, "
+ dump (1, "if (!parse_variables_const (lexer, dataset_dict (ds), &p->%sv_%s, &p->%sn_%s, "
"PV_APPEND%s%s))",
st_lower (sbc->prefix), st_lower (sbc->name),
st_lower (sbc->prefix), st_lower (sbc->name),
}
dump (1, "{");
dump (0, "p->sbc_%s++;", st_lower (def->name));
- dump (1, "if (!parse_variables (lexer, dataset_dict (ds), &p->%sv_%s, &p->%sn_%s, "
+ dump (1, "if (!parse_variables_const (lexer, dataset_dict (ds), &p->%sv_%s, &p->%sn_%s, "
"PV_APPEND))",
st_lower (def->prefix), st_lower (def->name),
st_lower (def->prefix), st_lower (def->name));
#include "gettext.h"
#define _(msgid) gettext (msgid)
+static struct variable * var_set_get_var (const struct var_set *, size_t );
+
+static struct variable *var_set_lookup_var (const struct var_set *,
+ const char *);
+
+static bool var_set_lookup_var_idx (const struct var_set *, const char *,
+ size_t *);
+
+
+
/* Parses a name as a variable within VS. Sets *IDX to the
variable's index and returns true if successful. On failure
emits an error message and returns false. */
static bool
-parse_vs_variable_idx (struct lexer *lexer, const struct var_set *vs,
+parse_vs_variable_idx (struct lexer *lexer, const struct var_set *vs,
size_t *idx)
{
assert (idx != NULL);
-
+
if (lex_token (lexer) != T_ID)
{
lex_error (lexer, _("expecting variable name"));
return false;
}
- else if (var_set_lookup_var_idx (vs, lex_tokid (lexer), idx))
+ else if (var_set_lookup_var_idx (vs, lex_tokid (lexer), idx))
{
lex_get (lexer);
return true;
}
- else
+ else
{
msg (SE, _("%s is not a variable name."), lex_tokid (lexer));
return false;
variable if successful. On failure emits an error message and
returns a null pointer. */
struct variable *
-parse_variable (struct lexer *lexer, const struct dictionary *d)
+parse_variable (struct lexer *lexer, const struct dictionary *d)
{
struct var_set *vs = var_set_create_from_dict (d);
struct variable *var = parse_vs_variable (lexer, vs);
number of variables into *CNT. Returns true only if
successful. */
bool
-parse_variables (struct lexer *lexer, const struct dictionary *d,
+parse_variables (struct lexer *lexer, const struct dictionary *d,
struct variable ***var,
- size_t *cnt, int opts)
+ size_t *cnt, int opts)
{
struct var_set *vs;
int success;
vs = var_set_create_from_dict (d);
success = parse_var_set_vars (lexer, vs, var, cnt, opts);
- if ( success == 0 )
+ if ( success == 0 )
{
free ( *var ) ;
*var = NULL;
successful. Same behavior as parse_variables, except that all
allocations are taken from the given POOL. */
bool
-parse_variables_pool (struct lexer *lexer, struct pool *pool,
+parse_variables_pool (struct lexer *lexer, struct pool *pool,
const struct dictionary *dict,
- struct variable ***vars, size_t *var_cnt, int opts)
+ struct variable ***vars, size_t *var_cnt, int opts)
{
int retval;
already in the pool, which would attempt to re-free it
later. */
assert (!(opts & PV_APPEND));
-
+
retval = parse_variables (lexer, dict, vars, var_cnt, opts);
if (retval)
pool_register (pool, free, *vars);
dictionary class, and returns true. Returns false on
failure. */
static bool
-parse_var_idx_class (struct lexer *lexer, const struct var_set *vs,
+parse_var_idx_class (struct lexer *lexer, const struct var_set *vs,
size_t *idx,
enum dict_class *class)
{
struct variable *add = var_set_get_var (vs, idx);
const char *add_name = var_get_name (add);
- if ((pv_opts & PV_NUMERIC) && !var_is_numeric (add))
+ if ((pv_opts & PV_NUMERIC) && !var_is_numeric (add))
msg (SW, _("%s is not a numeric variable. It will not be "
"included in the variable list."), add_name);
- else if ((pv_opts & PV_STRING) && !var_is_alpha (add))
+ else if ((pv_opts & PV_STRING) && !var_is_alpha (add))
msg (SE, _("%s is not a string variable. It will not be "
"included in the variable list."), add_name);
else if ((pv_opts & PV_NO_SCRATCH)
msg (SE, _("Scratch variables (such as %s) are not allowed "
"here."), add_name);
else if ((pv_opts & (PV_SAME_TYPE | PV_SAME_WIDTH)) && *nv
- && var_get_type (add) != var_get_type ((*v)[0]))
+ && var_get_type (add) != var_get_type ((*v)[0]))
msg (SE, _("%s and %s are not the same type. All variables in "
"this variable list must be of the same type. %s "
"will be omitted from the list."),
"All variables in this variable list must have the "
"same width. %s will be omttied from the list."),
var_get_name ((*v)[0]), add_name, add_name);
- else if ((pv_opts & PV_NO_DUPLICATE) && included[idx])
+ else if ((pv_opts & PV_NO_DUPLICATE) && included[idx])
msg (SE, _("Variable %s appears twice in variable list."), add_name);
else if ((pv_opts & PV_DUPLICATE) || !included[idx])
{
add_variables (struct variable ***v, size_t *nv, size_t *mv, char *included,
int pv_opts,
const struct var_set *vs, int first_idx, int last_idx,
- enum dict_class class)
+ enum dict_class class)
{
size_t i;
-
+
for (i = first_idx; i <= last_idx; i++)
if (dict_class_from_id (var_get_name (var_set_get_var (vs, i))) == class)
add_variable (v, nv, mv, included, pv_opts, vs, i);
Conversely, if parse_variables() returns true, then *nv is
nonzero and *v is non-NULL. */
bool
-parse_var_set_vars (struct lexer *lexer, const struct var_set *vs,
+parse_var_set_vars (struct lexer *lexer, const struct var_set *vs,
struct variable ***v, size_t *nv,
int pv_opts)
{
if (!(pv_opts & PV_DUPLICATE))
{
size_t i;
-
+
included = xcalloc (var_set_get_cnt (vs), sizeof *included);
- for (i = 0; i < *nv; i++)
+ for (i = 0; i < *nv; i++)
{
size_t index;
if (!var_set_lookup_var_idx (vs, var_get_name ((*v)[i]), &index))
NOT_REACHED ();
- included[index] = 1;
+ included[index] = 1;
}
}
else
if (lex_match (lexer, T_ALL))
add_variables (v, nv, &mv, included, pv_opts,
vs, 0, var_set_get_cnt (vs) - 1, DC_ORDINARY);
- else
+ else
{
enum dict_class class;
size_t first_idx;
if (!lex_match (lexer, T_TO))
add_variable (v, nv, &mv, included, pv_opts, vs, first_idx);
- else
+ else
{
size_t last_idx;
enum dict_class last_class;
add_variables (v, nv, &mv, included, pv_opts,
vs, first_idx, last_idx, class);
- }
+ }
}
if (pv_opts & PV_SINGLE)
}
while (lex_token (lexer) == T_ALL
|| (lex_token (lexer) == T_ID && var_set_lookup_var (vs, lex_tokid (lexer)) != NULL));
-
+
if (*nv == 0)
goto fail;
presumably already in the pool, which would attempt to
re-free it later. */
assert (!(pv_opts & PV_APPEND));
-
+
retval = parse_DATA_LIST_vars (lexer, names, nnames, pv_opts);
if (retval)
register_vars_pool (pool, *names, *nnames);
existing and the rest are to be created. Same args as
parse_DATA_LIST_vars(). */
bool
-parse_mixed_vars (struct lexer *lexer, const struct dictionary *dict,
+parse_mixed_vars (struct lexer *lexer, const struct dictionary *dict,
char ***names, size_t *nnames, int pv_opts)
{
size_t i;
}
\f
/* A set of variables. */
-struct var_set
+struct var_set
{
size_t (*get_cnt) (const struct var_set *);
struct variable *(*get_var) (const struct var_set *, size_t idx);
/* Returns the number of variables in VS. */
size_t
-var_set_get_cnt (const struct var_set *vs)
+var_set_get_cnt (const struct var_set *vs)
{
assert (vs != NULL);
/* Return variable with index IDX in VS.
IDX must be less than the number of variables in VS. */
-struct variable *
-var_set_get_var (const struct var_set *vs, size_t idx)
+static struct variable *
+var_set_get_var (const struct var_set *vs, size_t idx)
{
assert (vs != NULL);
assert (idx < var_set_get_cnt (vs));
/* Returns the variable in VS named NAME, or a null pointer if VS
contains no variable with that name. */
struct variable *
-var_set_lookup_var (const struct var_set *vs, const char *name)
+var_set_lookup_var (const struct var_set *vs, const char *name)
{
size_t idx;
return (var_set_lookup_var_idx (vs, name, &idx)
/* Destroys VS. */
void
-var_set_destroy (struct var_set *vs)
+var_set_destroy (struct var_set *vs)
{
if (vs != NULL)
vs->destroy (vs);
\f
/* Returns the number of variables in VS. */
static size_t
-dict_var_set_get_cnt (const struct var_set *vs)
+dict_var_set_get_cnt (const struct var_set *vs)
{
struct dictionary *d = vs->aux;
/* Return variable with index IDX in VS.
IDX must be less than the number of variables in VS. */
static struct variable *
-dict_var_set_get_var (const struct var_set *vs, size_t idx)
+dict_var_set_get_var (const struct var_set *vs, size_t idx)
{
struct dictionary *d = vs->aux;
and returns true. Otherwise, returns false. */
static bool
dict_var_set_lookup_var_idx (const struct var_set *vs, const char *name,
- size_t *idx)
+ size_t *idx)
{
struct dictionary *d = vs->aux;
struct variable *v = dict_lookup_var (d, name);
- if (v != NULL)
+ if (v != NULL)
{
*idx = var_get_dict_index (v);
return true;
/* Destroys VS. */
static void
-dict_var_set_destroy (struct var_set *vs)
+dict_var_set_destroy (struct var_set *vs)
{
free (vs);
}
/* Returns a variable set based on D. */
struct var_set *
-var_set_create_from_dict (const struct dictionary *d)
+var_set_create_from_dict (const struct dictionary *d)
{
struct var_set *vs = xmalloc (sizeof *vs);
vs->get_cnt = dict_var_set_get_cnt;
}
\f
/* A variable set based on an array. */
-struct array_var_set
+struct array_var_set
{
struct variable *const *var;/* Array of variables. */
size_t var_cnt; /* Number of elements in var. */
/* Returns the number of variables in VS. */
static size_t
-array_var_set_get_cnt (const struct var_set *vs)
+array_var_set_get_cnt (const struct var_set *vs)
{
struct array_var_set *avs = vs->aux;
/* Return variable with index IDX in VS.
IDX must be less than the number of variables in VS. */
static struct variable *
-array_var_set_get_var (const struct var_set *vs, size_t idx)
+array_var_set_get_var (const struct var_set *vs, size_t idx)
{
struct array_var_set *avs = vs->aux;
and returns true. Otherwise, returns false. */
static bool
array_var_set_lookup_var_idx (const struct var_set *vs, const char *name,
- size_t *idx)
+ size_t *idx)
{
struct array_var_set *avs = vs->aux;
struct variable *v, *const *vpp;
v = var_create (name, 0);
vpp = hsh_find (avs->name_tab, &v);
var_destroy (v);
-
- if (vpp != NULL)
+
+ if (vpp != NULL)
{
*idx = vpp - avs->var;
return true;
/* Destroys VS. */
static void
-array_var_set_destroy (struct var_set *vs)
+array_var_set_destroy (struct var_set *vs)
{
struct array_var_set *avs = vs->aux;
/* Returns a variable set based on the VAR_CNT variables in
VAR. */
struct var_set *
-var_set_create_from_array (struct variable *const *var, size_t var_cnt)
+var_set_create_from_array (struct variable *const *var, size_t var_cnt)
{
struct var_set *vs;
struct array_var_set *avs;
compare_var_ptrs_by_name, hash_var_ptr_by_name,
NULL, NULL);
for (i = 0; i < var_cnt; i++)
- if (hsh_insert (avs->name_tab, (void *) &var[i]) != NULL)
+ if (hsh_insert (avs->name_tab, (void *) &var[i]) != NULL)
{
var_set_destroy (vs);
return NULL;
}
-
+
return vs;
}
+
/* PSPP - computes sample statistics.
- Copyright (C) 1997-9, 2000, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 2007 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
struct pool;
struct dictionary;
struct var_set;
+struct const_var_set;
struct variable;
struct lexer ;
size_t);
size_t var_set_get_cnt (const struct var_set *vs);
-struct variable *var_set_get_var (const struct var_set *vs, size_t idx);
-struct variable *var_set_lookup_var (const struct var_set *vs,
- const char *name);
-bool var_set_lookup_var_idx (const struct var_set *vs, const char *name,
- size_t *idx);
+
void var_set_destroy (struct var_set *vs);
+
\f
/* Variable parsers. */
struct pool *,
char ***names, size_t *cnt, int opts);
+
+/* Const wrappers */
+
+static inline const struct variable *
+parse_variable_const (struct lexer *l, const struct dictionary *d)
+{
+ return parse_variable (l, d);
+}
+
+static inline bool
+parse_variables_const (struct lexer *l, const struct dictionary *d,
+ const struct variable ***v, size_t *s,
+ int opts)
+{
+ return parse_variables (l, d, (struct variable ***) v, s, opts);
+}
+
+static inline bool
+parse_variables_const_pool (struct lexer *l, struct pool *p,
+ const struct dictionary *d,
+ const struct variable ***v, size_t *s, int opts)
+{
+ return parse_variables_pool (l, p, d, (struct variable ***) v, s, opts);
+}
+
+
+
+static inline struct const_var_set *
+const_var_set_create_from_dict (const struct dictionary *d)
+{
+ return (struct const_var_set *) var_set_create_from_dict (d);
+}
+
+static inline struct const_var_set *
+const_var_set_create_from_array (const struct variable *const *var,
+ size_t s)
+{
+ return (struct const_var_set *) var_set_create_from_array ((struct variable *const *) var, s);
+}
+
+
+static inline bool
+parse_const_var_set_vars (struct lexer *l, const struct const_var_set *vs,
+ const struct variable ***v, size_t *s, int opts)
+{
+ return parse_var_set_vars (l, (const struct var_set *) vs,
+ (struct variable ***) v, s, opts);
+}
+
+static inline void
+const_var_set_destroy (struct const_var_set *vs)
+{
+ var_set_destroy ( (struct var_set *) vs);
+}
+
+
#endif /* variable-parser.h */
struct agr_var *next; /* Next in list. */
/* Collected during parsing. */
- struct variable *src; /* Source variable. */
+ const struct variable *src; /* Source variable. */
struct variable *dest; /* Target variable. */
int function; /* Function. */
enum mv_class exclude; /* Classes of missing values to exclude. */
/* Break variables. */
struct sort_criteria *sort; /* Sort criteria. */
- struct variable **break_vars; /* Break variables. */
+ const struct variable **break_vars; /* Break variables. */
size_t break_var_cnt; /* Number of break variables. */
struct ccase break_case; /* Last values of break variables. */
union agr_argument arg[2];
- struct variable **src;
+ const struct variable **src;
size_t n_src;
size_t i;
else if (function->n_args)
pv_opts |= PV_SAME_TYPE;
- if (!parse_variables (lexer, dict, &src, &n_src, pv_opts))
+ if (!parse_variables_const (lexer, dict, &src, &n_src, pv_opts))
goto error;
}
for (i = 0; i < agr->break_var_cnt; i++)
{
- struct variable *v = agr->break_vars[i];
+ const struct variable *v = agr->break_vars[i];
size_t value_cnt = var_get_value_cnt (v);
memcpy (case_data_rw_idx (output, value_idx),
case_data (&agr->break_case, v),
/* Explains how to recode an AUTORECODE variable. */
struct arc_spec
{
- struct variable *src; /* Source variable. */
+ const struct variable *src; /* Source variable. */
struct variable *dest; /* Target variable. */
struct hsh_table *items; /* Hash table of `freq's. */
};
/* AUTORECODE data. */
struct autorecode_pgm
{
- struct variable **src_vars; /* Source variables. */
+ const struct variable **src_vars; /* Source variables. */
char **dst_names; /* Target variable names. */
struct variable **dst_vars; /* Target variables. */
struct hsh_table **src_values; /* `union arc_value's of source vars. */
lex_match_id (lexer, "VARIABLES");
lex_match (lexer, '=');
- if (!parse_variables (lexer, dataset_dict (ds), &arc.src_vars, &arc.var_cnt,
+ if (!parse_variables_const (lexer, dataset_dict (ds), &arc.src_vars,
+ &arc.var_cnt,
PV_NO_DUPLICATE))
goto lossage;
if (!lex_force_match_id (lexer, "INTO"))
arc.dst_vars = xnmalloc (arc.var_cnt, sizeof *arc.dst_vars);
arc.src_values = xnmalloc (arc.var_cnt, sizeof *arc.src_values);
for (i = 0; i < dst_cnt; i++)
+ {
+ /* FIXME: consolodate this hsh_create */
if (var_is_alpha (arc.src_vars[i]))
arc.src_values[i] = hsh_create (10, compare_alpha_value,
hash_alpha_value, NULL, arc.src_vars[i]);
else
arc.src_values[i] = hsh_create (10, compare_numeric_value,
hash_numeric_value, NULL, NULL);
+ }
proc_open (ds);
while (proc_read (ds, &c))
struct cor_set
{
struct cor_set *next;
- struct variable **v1, **v2;
+ const struct variable **v1, **v2;
size_t nv1, nv2;
};
static int
cor_custom_variables (struct lexer *lexer, struct dataset *ds, struct cmd_correlations *cmd UNUSED, void *aux UNUSED)
{
- struct variable **v1, **v2;
+ const struct variable **v1, **v2;
size_t nv1, nv2;
struct cor_set *cor;
return 2;
lex_match (lexer, '=');
- if (!parse_variables (lexer, dataset_dict (ds), &v1, &nv1,
+ if (!parse_variables_const (lexer, dataset_dict (ds), &v1, &nv1,
PV_NO_DUPLICATE | PV_NUMERIC))
return 0;
if (lex_match (lexer, T_WITH))
{
- if (!parse_variables (lexer, dataset_dict (ds), &v2, &nv2,
+ if (!parse_variables_const (lexer, dataset_dict (ds), &v2, &nv2,
PV_NO_DUPLICATE | PV_NUMERIC))
{
free (v1);
int nvar; /* Number of variables. */
double missing; /* Missing cases count. */
int ofs; /* Integer mode: Offset into sorted_tab[]. */
- struct variable *vars[2]; /* At least two variables; sorted by
+ const struct variable *vars[2]; /* At least two variables; sorted by
larger indices first. */
};
};
static inline struct var_range *
-get_var_range (struct variable *v)
+get_var_range (const struct variable *v)
{
return var_get_aux (v);
}
static struct table_entry **sorted_tab; /* Sorted table. */
/* Variables specifies on VARIABLES. */
-static struct variable **variables;
+static const struct variable **variables;
static size_t variables_cnt;
/* TABLES. */
static int
crs_custom_tables (struct lexer *lexer, struct dataset *ds, struct cmd_crosstabs *cmd UNUSED, void *aux UNUSED)
{
- struct var_set *var_set;
+ struct const_var_set *var_set;
int n_by;
- struct variable ***by = NULL;
+ const struct variable ***by = NULL;
size_t *by_nvar = NULL;
size_t nx = 1;
int success = 0;
/* Ensure that this is a TABLES subcommand. */
if (!lex_match_id (lexer, "TABLES")
- && (lex_token (lexer) != T_ID || dict_lookup_var (dataset_dict (ds), lex_tokid (lexer)) == NULL)
+ && (lex_token (lexer) != T_ID ||
+ dict_lookup_var (dataset_dict (ds), lex_tokid (lexer)) == NULL)
&& lex_token (lexer) != T_ALL)
return 2;
lex_match (lexer, '=');
if (variables != NULL)
- var_set = var_set_create_from_array (variables, variables_cnt);
+ var_set = const_var_set_create_from_array (variables, variables_cnt);
else
- var_set = var_set_create_from_dict (dataset_dict (ds));
+ var_set = const_var_set_create_from_dict (dataset_dict (ds));
assert (var_set != NULL);
for (n_by = 0; ;)
{
by = xnrealloc (by, n_by + 1, sizeof *by);
by_nvar = xnrealloc (by_nvar, n_by + 1, sizeof *by_nvar);
- if (!parse_var_set_vars (lexer, var_set, &by[n_by], &by_nvar[n_by],
+ if (!parse_const_var_set_vars (lexer, var_set, &by[n_by], &by_nvar[n_by],
PV_NO_DUPLICATE | PV_NO_SCRATCH))
goto done;
if (xalloc_oversized (nx, by_nvar[n_by]))
free (by_nvar);
}
- var_set_destroy (var_set);
+ const_var_set_destroy (var_set);
return success;
}
long min, max;
- if (!parse_variables (lexer, dataset_dict (ds),
+ if (!parse_variables_const (lexer, dataset_dict (ds),
&variables, &variables_cnt,
(PV_APPEND | PV_NUMERIC
| PV_NO_DUPLICATE | PV_NO_SCRATCH)))
ofs = x->ofs;
for (i = 0; i < x->nvar; i++)
{
- struct variable *const v = x->vars[i];
+ const struct variable *const v = x->vars[i];
struct var_range *vr = get_var_range (v);
double value = case_num (c, v);
}
{
- struct variable *row_var = x->vars[ROW_VAR];
+ const struct variable *row_var = x->vars[ROW_VAR];
const int row = case_num (c, row_var) - get_var_range (row_var)->min;
- struct variable *col_var = x->vars[COL_VAR];
+ const struct variable *col_var = x->vars[COL_VAR];
const int col = case_num (c, col_var) - get_var_range (col_var)->min;
const int col_dim = get_var_range (col_var)->count;
enum_var_values (struct table_entry **entries, int entry_cnt, int var_idx,
union value **values, int *value_cnt)
{
- struct variable *v = xtab[(*entries)->table]->vars[var_idx];
+ const struct variable *v = xtab[(*entries)->table]->vars[var_idx];
if (mode == GENERAL)
{
calculating a Z-score. */
struct dsc_z_score
{
- struct variable *src_var; /* Variable on which z-score is based. */
+ const struct variable *src_var; /* Variable on which z-score is based. */
struct variable *z_var; /* New z-score variable. */
double mean; /* Distribution mean. */
double std_dev; /* Distribution standard deviation. */
{
struct dsc_z_score *z_scores; /* Array of Z-scores. */
int z_score_cnt; /* Number of Z-scores. */
- struct variable **vars; /* Variables for listwise missing checks. */
+ const struct variable **vars; /* Variables for listwise missing checks. */
size_t var_cnt; /* Number of variables. */
enum dsc_missing_type missing_type; /* Treatment of missing values. */
enum mv_class exclude; /* Classes of missing values to exclude. */
/* A variable specified on DESCRIPTIVES. */
struct dsc_var
{
- struct variable *v; /* Variable to calculate on. */
+ const struct variable *v; /* Variable to calculate on. */
char z_name[LONG_NAME_LEN + 1]; /* Name for z-score variable. */
double valid, missing; /* Valid, missing counts. */
struct moments *moments; /* Moments. */
{
struct dictionary *dict = dataset_dict (ds);
struct dsc_proc *dsc;
- struct variable **vars = NULL;
+ const struct variable **vars = NULL;
size_t var_cnt = 0;
int save_z_scores = 0;
int z_cnt = 0;
{
int i;
- if (!parse_variables (lexer, dataset_dict (ds), &vars, &var_cnt,
+ if (!parse_variables_const (lexer, dataset_dict (ds),
+ &vars, &var_cnt,
PV_APPEND | PV_NO_DUPLICATE | PV_NUMERIC))
goto error;
- dsc->vars = xnrealloc (dsc->vars, var_cnt, sizeof *dsc->vars);
+ dsc->vars = xnrealloc ((void *)dsc->vars, var_cnt, sizeof *dsc->vars);
for (i = dsc->var_cnt; i < var_cnt; i++)
{
struct dsc_var *dv = &dsc->vars[i];
{
struct dsc_trns *t = trns_;
struct dsc_z_score *z;
- struct variable **vars;
+ const struct variable **vars;
int all_sysmis = 0;
if (t->missing_type == DSC_LISTWISE)
static struct cmd_examine cmd;
-static struct variable **dependent_vars;
+static const struct variable **dependent_vars;
static size_t n_dependent_vars;
/* Output functions */
-static void show_summary (struct variable **dependent_var, int n_dep_var,
+static void show_summary (const struct variable **dependent_var, int n_dep_var,
const struct factor *f);
-static void show_extremes (struct variable **dependent_var,
+static void show_extremes (const struct variable **dependent_var,
int n_dep_var,
const struct factor *factor,
int n_extremities);
-static void show_descriptives (struct variable **dependent_var,
+static void show_descriptives (const struct variable **dependent_var,
int n_dep_var,
struct factor *factor);
-static void show_percentiles (struct variable **dependent_var,
+static void show_percentiles (const struct variable **dependent_var,
int n_dep_var,
struct factor *factor);
return 2;
}
- if (!parse_variables (lexer, dict, &dependent_vars, &n_dependent_vars,
+ if (!parse_variables_const (lexer, dict, &dependent_vars, &n_dependent_vars,
PV_NO_DUPLICATE | PV_NUMERIC | PV_NO_SCRATCH) )
{
free (dependent_vars);
static void
-show_summary (struct variable **dependent_var, int n_dep_var,
+show_summary (const struct variable **dependent_var, int n_dep_var,
const struct factor *fctr)
{
static const char *subtitle[]=
static void
-show_extremes (struct variable **dependent_var, int n_dep_var,
+show_extremes (const struct variable **dependent_var, int n_dep_var,
const struct factor *fctr, int n_extremities)
{
int i;
/* Show the descriptives table */
void
-show_descriptives (struct variable **dependent_var,
+show_descriptives (const struct variable **dependent_var,
int n_dep_var,
struct factor *fctr)
{
/* Show the percentiles */
void
-show_percentiles (struct variable **dependent_var,
+show_percentiles (const struct variable **dependent_var,
int n_dep_var,
struct factor *fctr)
{
struct flip_pgm
{
struct pool *pool; /* Pool containing FLIP data. */
- struct variable **var; /* Variables to transpose. */
+ const struct variable **var; /* Variables to transpose. */
int *idx_to_fv; /* var[]->index to compacted sink case fv. */
size_t var_cnt; /* Number of elements in `var'. */
int case_cnt; /* Pre-flip case count. */
if (lex_match_id (lexer, "VARIABLES"))
{
lex_match (lexer, '=');
- if (!parse_variables (lexer, dict, &flip->var, &flip->var_cnt,
+ if (!parse_variables_const (lexer, dict, &flip->var, &flip->var_cnt,
PV_NO_DUPLICATE))
goto error;
lex_match (lexer, '/');
/* Variables for which to calculate statistics. */
static size_t n_variables;
-static struct variable **v_variables;
+static const struct variable **v_variables;
/* Arenas used to store semi-permanent storage. */
static struct pool *int_pool; /* Integer mode. */
static void determine_charts (void);
-static void calc_stats (struct variable *v, double d[frq_n_stats]);
+static void calc_stats (const struct variable *v, double d[frq_n_stats]);
static void precalc (const struct ccase *, void *, const struct dataset *);
static bool calc (const struct ccase *, void *, const struct dataset *);
static bool postcalc (void *, const struct dataset *);
-static void postprocess_freq_tab (struct variable *);
-static void dump_full (struct variable *);
-static void dump_condensed (struct variable *);
-static void dump_statistics (struct variable *, int show_varname);
-static void cleanup_freq_tab (struct variable *);
+static void postprocess_freq_tab (const struct variable *);
+static void dump_full (const struct variable *);
+static void dump_condensed (const struct variable *);
+static void dump_statistics (const struct variable *, int show_varname);
+static void cleanup_freq_tab (const struct variable *);
static hsh_compare_func compare_value_numeric_a, compare_value_alpha_a;
static hsh_compare_func compare_value_numeric_d, compare_value_alpha_d;
for (i = 0; i < n_variables; i++)
{
- struct variable *v = v_variables[i];
+ const struct variable *v = v_variables[i];
struct freq_tab *ft = &get_var_freqs (v)->tab;
if (ft->mode == FRQM_GENERAL)
for (i = 0; i < n_variables; i++)
{
- struct variable *v = v_variables[i];
+ const struct variable *v = v_variables[i];
struct var_freqs *vf = get_var_freqs (v);
struct freq_tab *ft = &vf->tab;
int n_categories;
/* Summarizes the frequency table data for variable V. */
static void
-postprocess_freq_tab (struct variable *v)
+postprocess_freq_tab (const struct variable *v)
{
hsh_compare_func *compare;
struct freq_tab *ft;
/* Frees the frequency table for variable V. */
static void
-cleanup_freq_tab (struct variable *v)
+cleanup_freq_tab (const struct variable *v)
{
struct freq_tab *ft = &get_var_freqs (v)->tab;
assert (ft->mode == FRQM_GENERAL);
|| dict_lookup_var (dataset_dict (ds), lex_tokid (lexer)) == NULL))
return 2;
- if (!parse_variables (lexer, dataset_dict (ds), &v_variables, &n_variables,
+ if (!parse_variables_const (lexer, dataset_dict (ds), &v_variables, &n_variables,
PV_APPEND | PV_NO_SCRATCH))
return 0;
for (i = old_n_variables; i < n_variables; i++)
{
- struct variable *v = v_variables[i];
+ const struct variable *v = v_variables[i];
struct var_freqs *vf;
if (var_get_aux (v) != NULL)
/* Variable list. */
size_t n;
- struct variable **v;
+ const struct variable **v;
- if (!parse_variables (lexer, dataset_dict (ds), &v, &n,
+ if (!parse_variables_const (lexer, dataset_dict (ds), &v, &n,
PV_NO_DUPLICATE | PV_NUMERIC))
return 0;
if (lex_match (lexer, '('))
/* Displays a full frequency table for variable V. */
static void
-dump_full (struct variable *v)
+dump_full (const struct variable *v)
{
int n_categories;
struct var_freqs *vf;
/* Display condensed frequency table for variable V. */
static void
-dump_condensed (struct variable *v)
+dump_condensed (const struct variable *v)
{
int n_categories;
struct var_freqs *vf;
/* Calculates all the pertinent statistics for variable V, putting
them in array D[]. FIXME: This could be made much more optimal. */
static void
-calc_stats (struct variable *v, double d[frq_n_stats])
+calc_stats (const struct variable *v, double d[frq_n_stats])
{
struct freq_tab *ft = &get_var_freqs (v)->tab;
double W = ft->valid_cases;
/* Displays a table of all the statistics requested for variable V. */
static void
-dump_statistics (struct variable *v, int show_varname)
+dump_statistics (const struct variable *v, int show_varname)
{
struct freq_tab *ft;
double stat_value[frq_n_stats];
/* TABLES: Variable lists for each dimension. */
static int n_dim; /* Number of dimensions. */
static size_t *nv_dim; /* Number of variables in each dimension. */
-static struct variable ***v_dim; /* Variables in each dimension. */
+static const struct variable ***v_dim; /* Variables in each dimension. */
/* VARIABLES: List of variables. */
static struct variable **v_var;
static int
mns_custom_tables (struct lexer *lexer, struct dataset *ds, struct cmd_means *cmd, void *aux UNUSED)
{
- struct var_set *var_set;
+ struct const_var_set *var_set;
if (!lex_match_id (lexer, "TABLES")
&& (lex_token (lexer) != T_ID || dict_lookup_var (dataset_dict (ds), lex_tokid (lexer)) == NULL)
return 0;
}
- var_set = var_set_create_from_dict (dataset_dict (ds));
+ var_set = const_var_set_create_from_dict (dataset_dict (ds));
assert (var_set != NULL);
do
{
size_t nvl;
- struct variable **vl;
+ const struct variable **vl;
- if (!parse_var_set_vars (lexer, var_set, &vl, &nvl,
+ if (!parse_const_var_set_vars (lexer, var_set, &vl, &nvl,
PV_NO_DUPLICATE | PV_NO_SCRATCH))
goto lossage;
}
while (lex_match (lexer, T_BY));
- var_set_destroy (var_set);
+ const_var_set_destroy (var_set);
return 1;
lossage:
- var_set_destroy (var_set);
+ const_var_set_destroy (var_set);
return 0;
}
#if !npar_h
#define npar_h 1
-typedef struct variable *var_ptr;
+typedef const struct variable *var_ptr;
typedef var_ptr variable_pair[2];
struct hsh_table;
+struct const_hsh_table;
struct casefilter ;
struct npar_test
);
void (*insert_variables) (const struct npar_test *,
- struct hsh_table *);
+ struct const_hsh_table *);
};
struct one_sample_test
{
struct npar_test parent;
- struct variable **vars;
+ const struct variable **vars;
size_t n_vars;
};
};
void one_sample_insert_variables (const struct npar_test *test,
- struct hsh_table *variables);
+ struct const_hsh_table *variables);
static bool
npar_execute(const struct ccase *first UNUSED,
bool ok;
int i;
struct npar_specs npar_specs = {0, 0, 0, 0, 0, 0, 0, 0};
- struct hsh_table *var_hash;
+ struct const_hsh_table *var_hash;
npar_specs.pool = pool_create ();
- var_hash = hsh_create_pool (npar_specs.pool, 0,
+ var_hash = const_hsh_create_pool (npar_specs.pool, 0,
compare_vars_by_name, hash_var_by_name,
NULL, NULL);
return CMD_FAILURE;
}
- for (i = 0; i < npar_specs.n_tests; ++i )
+ for (i = 0; i < npar_specs.n_tests; ++i )
{
const struct npar_test *test = npar_specs.test[i];
test->insert_variables (test, var_hash);
}
- npar_specs.vv = (const struct variable *const *) hsh_data (var_hash);
- npar_specs.n_vars = hsh_count (var_hash);
-
- if ( cmd.sbc_statistics )
+ npar_specs.vv = (const struct variable *const *) const_hsh_data (var_hash);
+ npar_specs.n_vars = const_hsh_count (var_hash);
+
+ if ( cmd.sbc_statistics )
{
int i;
- for ( i = 0 ; i < NPAR_ST_count; ++i )
+ for ( i = 0 ; i < NPAR_ST_count; ++i )
{
- if ( cmd.a_statistics[i] )
+ if ( cmd.a_statistics[i] )
{
- switch ( i )
+ switch ( i )
{
case NPAR_ST_DESCRIPTIVES:
npar_specs.descriptives = true;
casefilter_destroy (npar_specs.filter);
- hsh_destroy (var_hash);
+ const_hsh_destroy (var_hash);
pool_destroy (npar_specs.pool);
((struct npar_test *)tp)->execute = chisquare_execute;
((struct npar_test *)tp)->insert_variables = one_sample_insert_variables;
- if (!parse_variables_pool (lexer, specs->pool, dataset_dict (ds),
+ if (!parse_variables_const_pool (lexer, specs->pool, dataset_dict (ds),
&tp->vars, &tp->n_vars,
PV_NO_SCRATCH | PV_NO_DUPLICATE))
{
if ( lex_match (lexer, '=') )
{
- if (parse_variables_pool (lexer, specs->pool, dataset_dict (ds),
+ if (parse_variables_const_pool (lexer, specs->pool, dataset_dict (ds),
&tp->vars, &tp->n_vars,
PV_NUMERIC | PV_NO_SCRATCH | PV_NO_DUPLICATE) )
{
int n = 0;
bool paired = false;
bool with = false;
- struct variable **vlist1;
+ const struct variable **vlist1;
size_t n_vlist1;
- struct variable **vlist2;
+ const struct variable **vlist2;
size_t n_vlist2;
- if (!parse_variables_pool (lexer, pool,
+ if (!parse_variables_const_pool (lexer, pool,
dict,
&vlist1, &n_vlist1,
PV_NUMERIC | PV_NO_SCRATCH | PV_NO_DUPLICATE) )
if ( lex_match(lexer, T_WITH))
{
with = true;
- if ( !parse_variables_pool (lexer, pool, dict,
+ if ( !parse_variables_const_pool (lexer, pool, dict,
&vlist2, &n_vlist2,
PV_NUMERIC | PV_NO_SCRATCH | PV_NO_DUPLICATE) )
return false;
/* Insert the variables for TEST into VAR_HASH */
void
one_sample_insert_variables (const struct npar_test *test,
- struct hsh_table *var_hash)
+ struct const_hsh_table *var_hash)
{
int i;
struct one_sample_test *ost = (struct one_sample_test *) test;
- for ( i = 0 ; i < ost->n_vars ; ++i )
- hsh_insert (var_hash, ost->vars[i]);
+ for ( i = 0 ; i < ost->n_vars ; ++i )
+ const_hsh_insert (var_hash, ost->vars[i]);
}
static struct cmd_oneway cmd;
/* The independent variable */
-static struct variable *indep_var;
+static const struct variable *indep_var;
/* Number of dependent variables */
static size_t n_vars;
/* The dependent variables */
-static struct variable **vars;
+static const struct variable **vars;
/* A hash table containing all the distinct values of the independent
&& lex_token (lexer) != T_ALL)
return 2;
- if (!parse_variables (lexer, dict, &vars, &n_vars,
+ if (!parse_variables_const (lexer, dict, &vars, &n_vars,
PV_DUPLICATE
| PV_NUMERIC | PV_NO_SCRATCH) )
{
static struct sort_criteria *sc;
-static struct variable **group_vars;
+static const struct variable **group_vars;
static size_t n_group_vars;
-static struct variable **src_vars;
+static const struct variable **src_vars;
static size_t n_src_vars;
criteria.crits = xnmalloc (criteria.crit_cnt, sizeof *criteria.crits);
for (i = 0; i < n_splits ; i++)
{
- struct variable *v = dict_get_split_vars (dataset_dict (ds))[i];
+ const struct variable *v = dict_get_split_vars (dataset_dict (ds))[i];
criteria.crits[i].fv = var_get_case_index (v);
criteria.crits[i].width = var_get_width (v);
criteria.crits[i].dir = SRT_ASCEND;
return 2;
}
- if (!parse_variables (lexer, dataset_dict (ds),
+ if (!parse_variables_const (lexer, dataset_dict (ds),
&group_vars, &n_group_vars,
PV_NO_DUPLICATE | PV_NO_SCRATCH) )
{
struct moments_var
{
struct moments1 *m;
- struct variable *v;
+ const struct variable *v;
};
/* Linear regression models. */
/*
Variables used (both explanatory and response).
*/
-static struct variable **v_variables;
+static const struct variable **v_variables;
/*
Number of variables.
Compute the first two moments.
*/
static size_t
-mark_missing_cases (const struct casefile *cf, struct variable *v,
- int *is_missing_case, double n_data, struct moments_var *mom)
+mark_missing_cases (const struct casefile *cf, const struct variable *v,
+ int *is_missing_case, double n_data,
+ struct moments_var *mom)
{
struct casereader *r;
struct ccase c;
return 2;
- if (!parse_variables (lexer, dict, &v_variables, &n_variables, PV_NONE))
+ if (!parse_variables_const (lexer, dict, &v_variables, &n_variables, PV_NONE))
{
free (v_variables);
return 0;
*/
static int
prepare_data (int n_data, int is_missing_case[],
- struct variable **indep_vars,
- struct variable *depvar, const struct casefile *cf, struct moments_var *mom)
+ const struct variable **indep_vars,
+ const struct variable *depvar, const struct casefile *cf,
+ struct moments_var *mom)
{
int i;
int j;
const union value *val;
struct casereader *r;
struct ccase c;
- struct variable **indep_vars;
+ const struct variable **indep_vars;
struct design_matrix *X;
struct moments_var *mom;
gsl_vector *Y;
*/
struct sort_criteria *
sort_parse_criteria (struct lexer *lexer, const struct dictionary *dict,
- struct variable ***vars, size_t *var_cnt,
+ const struct variable ***vars, size_t *var_cnt,
bool *saw_direction,
const int *terminators
)
{
struct sort_criteria *criteria;
- struct variable **local_vars = NULL;
+ const struct variable **local_vars = NULL;
size_t local_var_cnt;
assert ((vars == NULL) == (var_cnt == NULL));
enum sort_direction direction;
/* Variables. */
- if (!parse_variables (lexer, dict, vars, var_cnt,
+ if (!parse_variables_const (lexer, dict, vars, var_cnt,
PV_NO_DUPLICATE | PV_APPEND | PV_NO_SCRATCH))
goto error;
struct lexer ;
struct sort_criteria *sort_parse_criteria (struct lexer *, const struct dictionary *,
- struct variable ***, size_t *,
+ const struct variable ***, size_t *,
bool *saw_direction,
const int *terminators
);
struct pair
{
/* The variables comprising the pair */
- struct variable *v[2];
+ const struct variable *v[2];
/* The number of valid variable pairs */
double n;
int i;
struct hsh_iterator hi;
- struct hsh_table *hash;
- struct variable *v;
+ struct const_hsh_table *hash;
+ const struct variable *v;
- hash = hsh_create (n_pairs, compare_vars_by_name, hash_var_by_name,
+ hash = const_hsh_create (n_pairs, compare_vars_by_name, hash_var_by_name,
0, 0);
for (i=0; i < n_pairs; ++i)
{
- hsh_insert(hash,pairs[i].v[0]);
- hsh_insert(hash,pairs[i].v[1]);
+ const_hsh_insert (hash, pairs[i].v[0]);
+ const_hsh_insert (hash, pairs[i].v[1]);
}
assert(cmd.n_variables == 0);
- cmd.n_variables = hsh_count(hash);
+ cmd.n_variables = const_hsh_count (hash);
cmd.v_variables = xnrealloc (cmd.v_variables, cmd.n_variables,
sizeof *cmd.v_variables);
/* Iterate through the hash */
- for (i=0,v = (struct variable *) hsh_first(hash,&hi);
+ for (i=0,v = const_hsh_first (hash, &hi);
v != 0;
- v=hsh_next(hash,&hi) )
+ v = const_hsh_next (hash, &hi) )
cmd.v_variables[i++]=v;
-
- hsh_destroy(hash);
+ const_hsh_destroy(hash);
}
}
else if ( !cmd.sbc_variables)
static int
tts_custom_pairs (struct lexer *lexer, struct dataset *ds, struct cmd_t_test *cmd UNUSED, void *aux UNUSED)
{
- struct variable **vars;
+ const struct variable **vars;
size_t n_vars;
size_t n_pairs_local;
lex_match (lexer, '=');
n_vars=0;
- if (!parse_variables (lexer, dataset_dict (ds), &vars, &n_vars,
+ if (!parse_variables_const (lexer, dataset_dict (ds), &vars, &n_vars,
PV_DUPLICATE | PV_NUMERIC | PV_NO_SCRATCH))
{
free (vars);
if (lex_match (lexer, T_WITH))
{
n_before_WITH = n_vars;
- if (!parse_variables (lexer, dataset_dict (ds), &vars, &n_vars,
+ if (!parse_variables_const (lexer, dataset_dict (ds), &vars, &n_vars,
PV_DUPLICATE | PV_APPEND
| PV_NUMERIC | PV_NO_SCRATCH))
{
for (i=0; i < cmd->n_variables; ++i)
{
- struct variable *var = cmd->v_variables[i];
+ const struct variable *var = cmd->v_variables[i];
struct hsh_table *grp_hash = group_proc_get (var)->group_hash;
int count=0;
double std_err_diff;
double mean_diff;
- struct variable *var = cmd->v_variables[i];
+ const struct variable *var = cmd->v_variables[i];
struct group_proc *grp_data = group_proc_get (var);
struct hsh_table *grp_hash = grp_data->group_hash;
for(i = 0; i < cmd->n_variables ; ++i)
{
- struct variable *v = cmd->v_variables[i];
+ const struct variable *v = cmd->v_variables[i];
if (! casefilter_variable_missing (filter, c, v) )
{
for(i=0; i< cmd->n_variables ; ++i)
{
struct group_statistics *gs;
- struct variable *v = cmd->v_variables[i];
+ const struct variable *v = cmd->v_variables[i];
const union value *val = case_data (c, v);
gs= &group_proc_get (cmd->v_variables[i])->ugs;
for(i=0; i < n_pairs ; ++i )
{
- struct variable *v0 = pairs[i].v[0];
- struct variable *v1 = pairs[i].v[1];
+ const struct variable *v0 = pairs[i].v[0];
+ const struct variable *v1 = pairs[i].v[1];
const union value *val0 = case_data (c, v0);
const union value *val1 = case_data (c, v1);
for(i=0; i< cmd->n_variables ; ++i)
{
- struct variable *var = cmd->v_variables[i];
+ const struct variable *var = cmd->v_variables[i];
const union value *val = case_data (c, var);
struct hsh_table *grp_hash = group_proc_get (var)->group_hash;
struct group_statistics *gs;
for (i = 0; i < cmd->n_variables ; ++i)
{
- struct variable *var = cmd->v_variables[i];
+ const struct variable *var = cmd->v_variables[i];
struct hsh_table *grp_hash = group_proc_get (var)->group_hash;
struct hsh_iterator g;
struct group_statistics *gs;
struct criteria *next;
/* Variables to count. */
- struct variable **vars;
+ const struct variable **vars;
size_t var_cnt;
/* Count special values? */
for (;;)
{
bool ok;
-
+
crit->next = NULL;
crit->vars = NULL;
- if (!parse_variables (lexer, dataset_dict (ds), &crit->vars, &crit->var_cnt,
+ if (!parse_variables_const (lexer, dataset_dict (ds), &crit->vars,
+ &crit->var_cnt,
PV_DUPLICATE | PV_SAME_TYPE))
goto fail;
pool_register (trns->pool, free, crit->vars);
enum var_type dst_type; /* dst_vars[*]->type. */
/* Variables. */
- struct variable **src_vars; /* Source variables. */
- struct variable **dst_vars; /* Destination variables. */
+ const struct variable **src_vars; /* Source variables. */
+ const struct variable **dst_vars; /* Destination variables. */
char **dst_names; /* Name of dest variables, if they're new. */
size_t var_cnt; /* Number of variables. */
parse_src_vars (struct lexer *lexer,
struct recode_trns *trns, const struct dictionary *dict)
{
- if (!parse_variables (lexer, dict, &trns->src_vars, &trns->var_cnt,
+ if (!parse_variables_const (lexer, dict, &trns->src_vars, &trns->var_cnt,
PV_SAME_TYPE))
return false;
pool_register (trns->pool, free, trns->src_vars);
trns->var_cnt, sizeof *trns->dst_vars);
for (i = 0; i < trns->var_cnt; i++)
{
- struct variable *v;
+ const struct variable *v;
v = trns->dst_vars[i] = dict_lookup_var (dict, trns->dst_names[i]);
if (v == NULL && trns->dst_type == VAR_STRING)
{
for (i = 0; i < trns->var_cnt; i++)
{
- struct variable *v = trns->dst_vars[i];
+ const struct variable *v = trns->dst_vars[i];
if (v != NULL && var_get_type (v) != trns->dst_type)
{
msg (SE, _("Type mismatch. Cannot store %s data in "
max_dst_width = 0;
for (i = 0; i < trns->var_cnt; i++)
{
- struct variable *v = trns->dst_vars[i];
+ const struct variable *v = trns->dst_vars[i];
if (var_get_width (v) > max_dst_width)
max_dst_width = var_get_width (v);
}
for (i = 0; i < trns->var_cnt; i++)
{
- struct variable **var = &trns->dst_vars[i];
+ const struct variable **var = &trns->dst_vars[i];
const char *name = trns->dst_names[i];
*var = dict_lookup_var (dict, name);
/* Returns the output mapping in TRNS for an input of VALUE on
variable V, or a null pointer if there is no mapping. */
static const struct map_out *
-find_src_numeric (struct recode_trns *trns, double value, struct variable *v)
+find_src_numeric (struct recode_trns *trns, double value, const struct variable *v)
{
struct mapping *m;
for (i = 0; i < trns->var_cnt; i++)
{
- struct variable *src_var = trns->src_vars[i];
- struct variable *dst_var = trns->dst_vars[i];
+ const struct variable *src_var = trns->src_vars[i];
+ const struct variable *dst_var = trns->dst_vars[i];
const union value *src_data = case_data (c, src_var);
union value *dst_data = case_data_rw (c, dst_var);
void hsh_dump (struct hsh_table *);
#endif
+
+/* Const Wrappers for the above */
+
+static inline struct const_hsh_table *
+const_hsh_create (int m,
+ hsh_compare_func *hcf,
+ hsh_hash_func *hhf, hsh_free_func *hff,
+ const void *aux)
+{
+ return (struct const_hsh_table *) hsh_create (m, hcf, hhf, hff, aux);
+}
+
+
+
+static inline struct const_hsh_table *
+const_hsh_create_pool (struct pool *pool, int m,
+ hsh_compare_func *cf,
+ hsh_hash_func *hf, hsh_free_func *ff,
+ const void *aux)
+{
+ return (struct const_hsh_table *) hsh_create_pool (pool, m, cf, hf, ff, aux);
+}
+
+
+static inline void
+const_hsh_clear (struct const_hsh_table *h)
+{
+ hsh_clear ( (struct hsh_table *) h);
+}
+
+static inline void
+const_hsh_destroy (struct const_hsh_table *h)
+{
+ hsh_destroy ( (struct hsh_table *) h);
+}
+
+static inline void *const *
+const_hsh_sort (struct const_hsh_table *h)
+{
+ return hsh_sort ( (struct hsh_table *) h);
+}
+
+static inline void *const *
+const_hsh_data (struct const_hsh_table *h)
+{
+ return hsh_data ( (struct hsh_table *) h);
+}
+
+static inline void **
+const_hsh_sort_copy (struct const_hsh_table *h)
+{
+ return hsh_sort_copy ( (struct hsh_table *) h);
+}
+
+static inline void **
+const_hsh_data_copy (struct const_hsh_table *h)
+{
+ return hsh_data_copy ( (struct hsh_table *) h);
+}
+
+
+static inline size_t
+const_hsh_count (struct const_hsh_table *h)
+{
+ return hsh_count ( (struct hsh_table *) h);
+}
+
+static inline void *
+const_hsh_insert (struct const_hsh_table *h, const void *item)
+{
+ return hsh_insert ( (struct hsh_table *) h, (void *) item);
+}
+
+static inline void *
+const_hsh_replace (struct const_hsh_table *h, const void *item)
+{
+ return hsh_replace ( (struct hsh_table *) h, (void *) item);
+}
+
+static inline void *
+const_hsh_find (struct const_hsh_table *h, const void *item)
+{
+ return hsh_find ( (struct hsh_table *) h, (void *) item);
+}
+
+static inline bool
+const_hsh_delete (struct const_hsh_table *h, const void *item)
+{
+ return hsh_delete ( (struct hsh_table *)h, (void *) item);
+}
+
+
+static inline void *
+const_hsh_first (struct const_hsh_table *h, struct hsh_iterator *i)
+{
+ return hsh_first ( (struct hsh_table *) h, i);
+}
+
+static inline void *
+const_hsh_next (struct const_hsh_table *h, struct hsh_iterator *i)
+{
+ return hsh_next ( (struct hsh_table *) h, i);
+}
+
+
#endif /* hash_h */
};
struct variable;
-struct group_proc *group_proc_get (struct variable *);
+struct group_proc *group_proc_get (const struct variable *);
#endif
struct group_proc *
-group_proc_get (struct variable *v)
+group_proc_get (const struct variable *v)
{
/* This is not ideal, obviously. */
struct group_proc *group = var_get_aux (v);
struct t_test_proc **group_stats;
/* The independent variable */
- struct variable *v_indep;
+ const struct variable *v_indep;
/* Number of dependent variables */
size_t n_dep;
/* The dependent variables */
- struct variable **v_dep;
+ const struct variable **v_dep;
/* Filter for missing values */
struct casefilter *filter;
void
levene(const struct dictionary *dict,
const struct casefile *cf,
- struct variable *v_indep, size_t n_dep, struct variable **v_dep,
+ const struct variable *v_indep, size_t n_dep,
+ const struct variable **v_dep,
struct casefilter *filter)
{
struct casereader *r;
for(i = 0; i < l->n_dep ; ++i )
{
- struct variable *var = l->v_dep[i];
+ const struct variable *var = l->v_dep[i];
struct group_proc *gp = group_proc_get (var);
struct group_statistics *gs;
struct hsh_iterator hi;
for (i = 0; i < l->n_dep; ++i)
{
- struct variable *var = l->v_dep[i];
+ const struct variable *var = l->v_dep[i];
struct group_proc *gp = group_proc_get (var);
double levene_z;
const union value *v = case_data (c, var);
struct hsh_iterator hi;
struct group_statistics *g;
- struct variable *var = l->v_dep[v] ;
+ const struct variable *var = l->v_dep[v] ;
struct hsh_table *hash = group_proc_get (var)->group_hash;
for (i = 0; i < l->n_dep; ++i)
{
double levene_z;
- struct variable *var = l->v_dep[i] ;
+ const struct variable *var = l->v_dep[i] ;
const union value *v = case_data (c, var);
struct group_statistics *gs;
struct hsh_iterator hi;
struct group_statistics *g;
- struct variable *var = l->v_dep[v] ;
+ const struct variable *var = l->v_dep[v] ;
struct group_proc *gp = group_proc_get (var);
struct hsh_table *hash = gp->group_hash;
struct casefilter ;
void levene(const struct dictionary *dict, const struct casefile *cf,
- struct variable *v_indep, size_t n_dep, struct variable **v_dep,
+ const struct variable *v_indep, size_t n_dep,
+ const struct variable **v_dep,
struct casefilter *filter);
{
gint i;
GString *text;
- struct variable *const * split_vars = dict_get_split_vars (dict->dict);
+ const struct variable *const * split_vars = dict_get_split_vars (dict->dict);
text = g_string_new (_("Split by "));
#include "dict-display.h"
#include <language/syntax-string-source.h>
#include "syntax-editor.h"
+#include <data/dictionary.h>
#include <gtk/gtk.h>
#include <glade/glade.h>
{
GtkTreeIter iter;
gint i;
- struct variable *const *vars = dict_get_split_vars (d->dict->dict);
+ const struct variable *const *vars = dict_get_split_vars (d->dict->dict);
for (i = 0 ; i < n_vars; ++i )
{
gint response;
struct data_editor *de = data;
struct split_file_dialog sfd;
+ PsppireVarStore *vs ;
GtkWidget *dialog ;
GtkWidget *source ;
var_sheet = GTK_SHEET (get_widget_assert (de->xml, "variable_sheet"));
- PsppireVarStore *vs = PSPPIRE_VAR_STORE (gtk_sheet_get_model (var_sheet));
+ vs = PSPPIRE_VAR_STORE (gtk_sheet_get_model (var_sheet));
sfd.dict = vs->dict;
sfd.tv = GTK_TREE_VIEW (dest);
GladeXML *xml = data;
GtkWidget *dest = get_widget_assert (xml, "variables-treeview");
GtkWidget *entry = get_widget_assert (xml, "new-name-entry");
- GtkTreeModel *dmodel = gtk_tree_view_get_model (dest);
+ GtkTreeModel *dmodel = gtk_tree_view_get_model (GTK_TREE_VIEW (dest));
gtk_list_store_clear (GTK_LIST_STORE (dmodel));
gtk_entry_set_text (GTK_ENTRY (entry), "");