John Darrington [Sun, 23 Nov 2008 08:07:33 +0000 (17:07 +0900)]
Replace gsheet-column interface by psppire-axis
Created a new object psppire-axis, which is a thinish
wrapper around src/libpspp/tower.c, and can be used
to maintain the positions and widths of rows/columns
in the data/variable sheets.
This change also deletes the lib/gtksheet/*-column-*
modules, and uses a psppire-axis in their place.
Some functions previously performed by gsheet-column-iface
have been moved to gsheetmodel.
This change doesn't touch lib/gtksheet/*-row-* but it
will be straightforward to replace that too.
Prevent the "changed" signal from invoking a handler
whilst the cells are changing. This sometimes resulted
in data erroneously getting entered into the new cell.
John Darrington [Thu, 13 Nov 2008 06:02:58 +0000 (15:02 +0900)]
Simplified the scrolling behaviour
Made all the scrolling take place via the horizontal or vertical GtkAdjustments
instead of directly. Some key events have been removed.
We'll add them back again as and when necessary.
John Darrington [Sat, 8 Nov 2008 03:44:56 +0000 (12:44 +0900)]
Rewrote the command line parser using argp.
Reimplemented the command line parser using argp.
Removed some unimplemented options and added the ability
for the gui to open system or portable files whose names
are specified on the command line.
Jason H Stover [Thu, 6 Nov 2008 15:45:40 +0000 (10:45 -0500)]
covariance-matrix.c: Added one-pass algorithm to compute covariance
matrices. New structure covariance_matrix contains the covariance
matrix, related data and member functions. Added different routines to
handle pairwise or listwise deletion of missing values. Added many
new functions.
glm.q: Changed run_glm to use the new interface to the covariance
matrix. Removed unused function data_pass_one().
Jason H Stover [Wed, 15 Oct 2008 16:12:35 +0000 (12:12 -0400)]
glm.q: Removed code to us QR decomposition, which requires the entire data
set to be stored in a matrix.
glm.q: fit_model: New function.
design-matrix.[ch]: Added array of size_t's to store the number of
data for each variable in struct design_matrix. Added accessor
functions design_matrix_increment_case_count,
design_matrix_set_case_count and design_matrix_get_case_count.
Jason H Stover [Wed, 15 Oct 2008 14:06:50 +0000 (10:06 -0400)]
covariance_accumulate: New function for one-pass computation of the
covariance matrix.
Added hash table to temporarily store the elements that will be in the
covariance matrix. The hash consists of the new data structure
covariance_accumulator. New functions hash_numeric_alpha,
covariance_accumulator_compare, match_nodes,
covariance_accumulator_free, covariance_hsh_create,
covariance_accumulator_hash, to assist with the hashing.
update_product: New function.
covariance_accumulator_to_matrix: New function to put hash elements
into the covariance matrix.
get_center: New function to center a value prior to adding it to
the covariance matrix.
covariance_matrix_insert: New function to add a value to the
covariance matrix.
Ben Pfaff [Thu, 9 Oct 2008 05:25:36 +0000 (22:25 -0700)]
Make [ and ] valid tokens in the lexer.
The VARIABLE ATTRIBUTE and DATAFILE ATTRIBUTE commands use [ and ]
to designate array elements. This is the first use for these tokens
in the language implemented by PSPP, so until now these characters
were rejected with an error whenever they appeared in a syntax file
outside a comment or a quoted string.
Ben Pfaff [Sun, 5 Oct 2008 18:17:10 +0000 (11:17 -0700)]
Use Gnulib module "regex", to fix linking on Mingw.
The GUI code uses POSIX regular expressions, which Mingw has in a separate
library (-lregex). We could just search for that library, but by including
our own implementation (via Gnulib) we also work around known bugs in
system regular expression implementations.