[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pspp-commits] [SCM] GNU PSPP branch, value-rep, created. v0.6.1-613-gef
From: |
Ben Pfaff |
Subject: |
[Pspp-commits] [SCM] GNU PSPP branch, value-rep, created. v0.6.1-613-gef69f7b |
Date: |
Mon, 11 May 2009 05:30:31 +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, value-rep has been created
at ef69f7be809f9559e711c73e29eafa04a6ba7332 (commit)
- Log -----------------------------------------------------------------
commit ef69f7be809f9559e711c73e29eafa04a6ba7332
Author: Ben Pfaff <address@hidden>
Date: Sun May 10 22:23:00 2009 -0700
Change "union value" to dynamically allocate long strings.
Until now, a single "union value" could hold a numeric value or a short
string value. A long string value (one longer than MAX_SHORT_STRING)
required a number of contiguous "union value"s. This situation was
inconvenient sometimes, because any occasion where a long string value
might be required (even if it was unlikely) required using dynamic
memory allocation.
With this change, a value of any type, regardless of whether it is numeric
or short or long string, occupies a single "union value". The internal
representation of short and long strings is now different, however: long
strings are now internally represented by a pointer to dynamically
allocated memory. This means that "union value"s must now be initialized
and uninitialized properly, to ensure that memory is properly allocated
and freed behind the scenese.
This change thus has a ripple effect on PSPP code that works with values.
In particular, code that deals with cases is greatly changed, because a
case now needs to know the type of each value that it contains. Thus, a
new concept called a "case prototype", which represents the type and
width of each value within a case, is introduced, and every place in PSPP
that creates a case must now create a corresponding prototype to go with
it. This is why this commit is so big.
As part of writing up this commit, it became clear that some code was poor
enough that it needed to be rewritten entirely. Therefore, CROSSTABS and
T-TEST are almost completely modified by this commit.
commit f568a08ac6a4c5c8894728b6359c88af6f829510
Author: Ben Pfaff <address@hidden>
Date: Wed May 6 22:58:01 2009 -0700
output: Add auxiliary data parameter to tab_dim.
Until now, the tab_dim function has not provided any way to pass auxiliary
data to the table dimensioning function. This commit adds this ability
and updates all the callers of tab_dim to do so.
commit 653da53a0bb61120dadeca9898317a85d65c48df
Author: Ben Pfaff <address@hidden>
Date: Wed May 6 22:47:51 2009 -0700
New data structure sparse_xarray.
commit 037c20758c23e0bece995189aa44b901b935332e
Author: Ben Pfaff <address@hidden>
Date: Wed May 6 20:34:14 2009 -0700
New wrapper for access to temporary files.
commit 8b81a0ba7862d73f42e0255e998ac8640207c358
Author: Ben Pfaff <address@hidden>
Date: Tue May 5 05:42:23 2009 -0700
model-checker: Add command-line parser for model checking options.
This adds a parser for command-line options to configure a set of
mc_options for running the model checker. It is used by an upcoming test
for the sparse_xarray. It might also make sense to break the datasheet
tests out of PSPP into a separate program using this parser.
commit 0d5d2e32e690d0629e369b5dec84c568d0620779
Author: Ben Pfaff <address@hidden>
Date: Tue May 5 05:39:03 2009 -0700
Implement new command-line argument parser.
glibc has two option parsers, but neither one of them feels quite
right:
- getopt_long is simple, but not modular, in that there is no
easy way to make it accept multiple collections of options
supported by different modules.
- argp is more sophisticated and more complete, and hence more
complex. It still lacks one important feature for
modularity: there is no straightforward way for option groups
that are implemented independently to have separate auxiliary
data,
The parser implemented in this commit is meant to be simple and
modular. It is based internally on getopt_long.
The initial use for this option parser is for an upcoming commit of a test
program that has some of its own options and some from the model checker,
but it should also be appropriate for PSPP and PSPPIRE if anyone wants to
adapt them to use it.
commit f7768caf9f426d8ff5fd157aca0f053c1257aa56
Author: Ben Pfaff <address@hidden>
Date: Mon May 4 22:30:02 2009 -0700
model-checker: Don't discard error states.
Even if a state with an error is a duplicate, we don't want to discard it,
because then we lose information about bugs.
commit b81c023ef78511a2aed4ac28e8f0546efca3c403
Author: Ben Pfaff <address@hidden>
Date: Mon May 4 22:27:05 2009 -0700
model-checker: Revise advice on checking for duplicates.
Until now the documentation on the model checker has advised checking for
a duplicate state before checking for consistency, but in fact this can
cause bugs to be missed if only some paths to a given state yield
incorrect results. So revise the advice to check for consistency before
checking for a duplicate state.
commit 32d7529bc9552fce15e4f01b2a0be91518e1645a
Author: Ben Pfaff <address@hidden>
Date: Mon May 4 22:20:42 2009 -0700
model-checker: Add more progress functions.
The model checker supports "progress functions" that report the current
status of the model checking run. Until now the implementation only
exported a single progress function that printed a line of dots across
stderr. This commit moves the "fancy" progress function that was
previously part of the PSPP language code into the model checker itself
and adds an even more verbose progress function as well.
commit a887de785bcd3a17082083f1a3461e6a0baa84cd
Author: Ben Pfaff <address@hidden>
Date: Mon May 4 22:33:48 2009 -0700
model-checker: Move summary printing function into model checker.
There is no reason that the model checker itself should not be able to
print a summary of its results. Until now, this code was buried in the
PSPP language code, but the model checker itself is a better place for it.
commit e91e43790bb695bbb4dba12b471fb9caa79e7ed3
Author: Ben Pfaff <address@hidden>
Date: Thu Apr 23 21:09:12 2009 -0700
model-checker: Kill dependencies and move back to libpspp.
Commit 95b074ff3 "Moved the datasheet testing code out of
src/{libspp,data}" moved the model-checker implementation from libpspp
into language/tests because it depended on math/moments.h and
data/val-type.h, which violates the dependency structure of the PSPP
libraries.
However, now I want to use the model checker in a test that should not
need to use anything from language/tests, so this commit eliminates these
dependencies and moves the model checker back to src/libpspp.
commit f9b087ed49271589dade8549bf28100855502708
Author: Ben Pfaff <address@hidden>
Date: Mon May 4 21:53:07 2009 -0700
sparse-array: Simplify code slightly.
Instead of checking whether the key is in range in each caller of
find_leaf_node, do it in find_leaf_node itself. This also allows checking
the cache before checking whether the key is in range, which might be an
optimization.
commit 6b202c0917136f81fd40d155904fad87d20c4b30
Author: Ben Pfaff <address@hidden>
Date: Wed May 6 20:22:09 2009 -0700
sparse-array: Improve iteration interface.
The sparse_array_scan function only supports iteration in the forward
direction and its interface is somewhat awkward. This commit replaces it
by four new functions that allow iteration in both forward and reverse
directions and have a more conventional interface.
commit 762217784d1e65f768c50ac6ebe9a44b51f62dd0
Author: Ben Pfaff <address@hidden>
Date: Tue May 5 05:51:54 2009 -0700
sparse-array: Use __builtin_ctzl on GCC 4.0 or later, as an optimization.
This should be a worthwhile optimization in many cases, because
__builtin_ctzl compiles to a single machine instruction on x86, whereas
the generic implementation compiles to several.
commit 9e6cd664864de9d9bb84f07e506e4170bfce2bc5
Author: Ben Pfaff <address@hidden>
Date: Mon May 4 19:31:16 2009 -0700
range-set: New functions range_set_last and range_set_prev.
These are useful for iterating through a range set in reverse order.
commit 931e673fd6697a0ba1fe3568031f682a575de1d9
Author: Ben Pfaff <address@hidden>
Date: Thu Apr 23 20:27:54 2009 -0700
range-set: Add new function range_set_scan().
commit f592e1928b3b9837b3354df335d1b309dc0d2bd7
Author: Ben Pfaff <address@hidden>
Date: Thu Apr 23 20:27:10 2009 -0700
range-set: Inline some simple functions.
Some of the range-set functions are very simple and worth inlining, so
move the definitions of those functions into range-set.h. This required
moving the definition of struct range_set and struct range_set_node into
the header. Some of the functions used internally by those functions had
to be moved too, and renamed as well since for internal use in range-set.c
their names did not respect the namespace.
commit d925b7673892961eeb721ab01ffda97cfb21e7df
Author: Ben Pfaff <address@hidden>
Date: Thu Apr 23 20:14:52 2009 -0700
range-set: Add test coverage for range_set_destroy(NULL).
"gcov -b" showed that range_set_destroy() was never called with a NULL
argument. There's no reason not to test that too (although of course it
is unlikely to be broken).
commit acb5c0b50aa128b39aa2e6a511994ad042e3c412
Author: Ben Pfaff <address@hidden>
Date: Tue May 5 07:03:24 2009 -0700
range-set: New function range_set_allocate_fully.
commit 28a76e61cdd93275a1eb48ba5956cad71ee35c99
Author: Ben Pfaff <address@hidden>
Date: Tue Mar 31 22:00:44 2009 -0700
Delete CORRELATIONS skeletal parser.
This code didn't do anything useful, it just parsed syntax. We can
resurrect it when someone wants to implement CORRELATIONS later.
commit 23cbe1687b3ab1e069635635ffbfbf22ee289552
Author: Ben Pfaff <address@hidden>
Date: Tue May 5 07:03:02 2009 -0700
pool: New function pool_strdup0.
This function is the pool analogue of xmemdup0, except that it is only
appropriate for use with strings.
commit b2024810c6bcd94c8dd929b0e2bf8b862874f747
Author: Ben Pfaff <address@hidden>
Date: Tue May 5 05:46:01 2009 -0700
datasheet: Drop false dependency on md4.h.
datasheet-check.c doesn't use anything from md4.h, so there's no point in
including it.
commit 5a2351f985bc084a3484c6f518821f8365d76074
Author: Ben Pfaff <address@hidden>
Date: Wed Apr 15 22:31:56 2009 -0700
perl-module: Better document "make test" requirements.
commit 5e459a46ad567ca2a84b2d60928192264000e995
Author: Ben Pfaff <address@hidden>
Date: Thu Jan 15 20:39:18 2009 -0800
t-test: Move 'mode' variable from file scope into cmd_t_test().
commit 85a5a2c2ec643256f67aca6b8f4ed3ae906cb6aa
Author: Ben Pfaff <address@hidden>
Date: Thu Jan 15 20:37:32 2009 -0800
t-test: Move 'cmd' variable from file scope into cmd_t_test().
This variable was only used inside cmd_t_test() anyhow.
commit 0eddd95ce06749a614710c9282bbd20400a9239e
Author: Ben Pfaff <address@hidden>
Date: Thu Jan 15 20:34:43 2009 -0800
t-test: Remove write-only variable.
-----------------------------------------------------------------------
hooks/post-receive
--
GNU PSPP
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pspp-commits] [SCM] GNU PSPP branch, value-rep, created. v0.6.1-613-gef69f7b,
Ben Pfaff <=