[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pspp-commits] [SCM] GNU PSPP branch, master, updated. v0.6.1-279-gcc57a
From: |
Ben Pfaff |
Subject: |
[Pspp-commits] [SCM] GNU PSPP branch, master, updated. v0.6.1-279-gcc57a28 |
Date: |
Wed, 07 Jan 2009 14:10:55 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU PSPP".
The branch, master has been updated
via cc57a28ef6796ae9a64ef80d453f72126956d49d (commit)
from 9bf1c33953f7feff2a24a06293f6fe96b75cc41a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit cc57a28ef6796ae9a64ef80d453f72126956d49d
Author: Ben Pfaff <address@hidden>
Date: Tue Jan 6 23:17:32 2009 -0800
Make cases simpler, faster, and easier to understand.
Cases (struct ccase) is reference-counted to avoid copying more
data than necessary. But the existing implementation that uses
separate structures for references to cases (struct ccase) and
the cases themselves (struct case_data) has a number of issues:
- The semantics of struct ccase are tricky to remember; one
has to remember to treat struct ccase as essentially a
pointer type. I get confused sometimes myself.
(One of the symptoms of this was the existence of
the case_nullify and case_is_null functions, which are
exactly analogous to setting a pointer to null and comparing
one against null, respectively.)
- Every reference to data in a case involves two levels of
indirection, which is one more than actually necessary.
- The implementation is somewhat complicated.
This commit simplifies things, by dropping a level of indirection.
Now, a case is just a pointer to a struct ccase, which contains
the actual data. Reference counting is still present, but it is
simplified. The only thing that must be remembered is that, before
modifying a case that may be shared, it must be passed through
case_unshare() to make a new unshared copy if necessary.
-----------------------------------------------------------------------
Summary of changes:
src/data/case-map.c | 43 +++--
src/data/case-map.h | 5 +-
src/data/case-matcher.c | 16 +-
src/data/case-matcher.h | 4 +-
src/data/case-tmpfile.c | 24 +-
src/data/case-tmpfile.h | 7 +-
src/data/case.c | 375 ++++++++++++-------------------
src/data/case.h | 125 ++++++++--
src/data/casegrouper.c | 24 +-
src/data/caseinit.c | 5 +-
src/data/casereader-filter.c | 26 +-
src/data/casereader-provider.h | 75 ++++---
src/data/casereader-translator.c | 73 +++----
src/data/casereader.c | 111 +++++-----
src/data/casereader.h | 12 +-
src/data/casewindow.c | 55 ++---
src/data/casewindow.h | 6 +-
src/data/casewriter-provider.h | 5 +-
src/data/casewriter-translator.c | 29 ++-
src/data/casewriter.c | 19 +-
src/data/casewriter.h | 7 +-
src/data/datasheet.c | 84 ++++----
src/data/datasheet.h | 6 +-
src/data/gnumeric-reader.c | 38 ++--
src/data/lazy-casereader.c | 16 +-
src/data/por-file-reader.c | 22 +-
src/data/por-file-reader.h | 3 +-
src/data/por-file-writer.c | 4 +-
src/data/por-file-writer.h | 3 +-
src/data/procedure.c | 69 +++----
src/data/procedure.h | 4 +-
src/data/psql-reader.c | 29 +--
src/data/scratch-reader.h | 3 +-
src/data/scratch-writer.c | 13 +-
src/data/scratch-writer.h | 3 +-
src/data/sparse-cases.c | 110 ++++++----
src/data/subcase.c | 6 +-
src/data/sys-file-reader.c | 26 +-
src/data/sys-file-reader.h | 3 +-
src/data/sys-file-writer.c | 15 +-
src/data/sys-file-writer.h | 3 +-
src/data/transformations.c | 7 +-
src/data/transformations.h | 9 +-
src/language/control/do-if.c | 9 +-
src/language/control/loop.c | 27 ++-
src/language/data-io/combine-files.c | 99 ++++----
src/language/data-io/data-list.c | 11 +-
src/language/data-io/data-parser.c | 29 ++-
src/language/data-io/inpt-pgm.c | 31 ++--
src/language/data-io/list.q | 22 +-
src/language/data-io/print-space.c | 6 +-
src/language/data-io/print.c | 6 +-
src/language/data-io/save.c | 10 +-
src/language/expressions/evaluate.c | 15 +-
src/language/expressions/operations.def | 10 +-
src/language/stats/aggregate.c | 49 ++---
src/language/stats/autorecode.c | 20 +-
src/language/stats/binomial.c | 12 +-
src/language/stats/chisquare.c | 22 +-
src/language/stats/crosstabs.q | 27 ++-
src/language/stats/descriptives.c | 36 ++--
src/language/stats/examine.q | 56 +++---
src/language/stats/flip.c | 31 ++--
src/language/stats/frequencies.q | 17 +-
src/language/stats/glm.q | 15 +-
src/language/stats/npar-summary.c | 12 +-
src/language/stats/oneway.q | 19 +-
src/language/stats/rank.q | 24 +-
src/language/stats/regression.q | 42 ++--
src/language/stats/reliability.q | 10 +-
src/language/stats/t-test.q | 27 ++-
src/language/stats/wilcoxon.c | 40 ++--
src/language/tests/datasheet-check.c | 32 ++--
src/language/tests/datasheet-check.h | 6 +-
src/language/xforms/compute.c | 48 +++--
src/language/xforms/count.c | 19 +-
src/language/xforms/fail.c | 6 +-
src/language/xforms/recode.c | 9 +-
src/language/xforms/sample.c | 4 +-
src/language/xforms/select-if.c | 6 +-
src/math/levene.c | 12 +-
src/math/merge.c | 13 +-
src/math/np.c | 16 +-
src/math/order-stats.c | 26 +--
src/math/sort.c | 45 ++--
src/ui/gui/psppire-data-editor.c | 33 ++--
src/ui/gui/psppire-data-store.c | 29 +--
src/ui/gui/psppire-data-store.h | 7 +-
88 files changed, 1287 insertions(+), 1280 deletions(-)
hooks/post-receive
--
GNU PSPP
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pspp-commits] [SCM] GNU PSPP branch, master, updated. v0.6.1-279-gcc57a28,
Ben Pfaff <=