pspp
5 days agowork rust
Ben Pfaff [Mon, 18 Aug 2025 16:05:21 +0000 (09:05 -0700)]
work

8 days agoadd json output driver
Ben Pfaff [Thu, 14 Aug 2025 23:36:37 +0000 (16:36 -0700)]
add json output driver

10 days agowork
Ben Pfaff [Wed, 13 Aug 2025 15:55:11 +0000 (08:55 -0700)]
work

10 days agowork
Ben Pfaff [Tue, 12 Aug 2025 21:33:32 +0000 (14:33 -0700)]
work

11 days agowork
Ben Pfaff [Mon, 11 Aug 2025 21:09:18 +0000 (14:09 -0700)]
work

11 days agowork
Ben Pfaff [Mon, 11 Aug 2025 20:32:57 +0000 (13:32 -0700)]
work

11 days agowork
Ben Pfaff [Mon, 11 Aug 2025 20:30:26 +0000 (13:30 -0700)]
work

11 days agowork
Ben Pfaff [Mon, 11 Aug 2025 20:28:08 +0000 (13:28 -0700)]
work

11 days agowork
Ben Pfaff [Mon, 11 Aug 2025 20:25:55 +0000 (13:25 -0700)]
work

11 days agowork
Ben Pfaff [Mon, 11 Aug 2025 20:20:26 +0000 (13:20 -0700)]
work

13 days agowork toward user configuration of drivers
Ben Pfaff [Sun, 10 Aug 2025 18:13:07 +0000 (11:13 -0700)]
work toward user configuration of drivers

13 days agocodepage_to_unicode tests pass
Ben Pfaff [Sun, 10 Aug 2025 03:38:36 +0000 (20:38 -0700)]
codepage_to_unicode tests pass

2 weeks agovectors - mrsets next!
Ben Pfaff [Thu, 7 Aug 2025 15:32:30 +0000 (08:32 -0700)]
vectors - mrsets next!

2 weeks agomove variable into its own module
Ben Pfaff [Tue, 5 Aug 2025 15:16:42 +0000 (08:16 -0700)]
move variable into its own module

2 weeks agowork on converting a file to unicode
Ben Pfaff [Tue, 5 Aug 2025 02:37:18 +0000 (19:37 -0700)]
work on converting a file to unicode

2 weeks agotest writing very long strings
Ben Pfaff [Mon, 4 Aug 2025 20:38:06 +0000 (13:38 -0700)]
test writing very long strings

2 weeks agoFix a few tests that broke.
Ben Pfaff [Mon, 4 Aug 2025 20:20:59 +0000 (13:20 -0700)]
Fix a few tests that broke.

2 weeks agoall write records tested!
Ben Pfaff [Mon, 4 Aug 2025 20:16:17 +0000 (13:16 -0700)]
all write records tested!

2 weeks agotest writing attributes
Ben Pfaff [Mon, 4 Aug 2025 20:10:31 +0000 (13:10 -0700)]
test writing attributes

2 weeks agomore tests
Ben Pfaff [Mon, 4 Aug 2025 17:35:41 +0000 (10:35 -0700)]
more tests

2 weeks agotest writing multiple response sets
Ben Pfaff [Mon, 4 Aug 2025 01:39:02 +0000 (18:39 -0700)]
test writing multiple response sets

2 weeks agotest writing value labels
Ben Pfaff [Sun, 3 Aug 2025 22:51:57 +0000 (15:51 -0700)]
test writing value labels

2 weeks agosegments
Ben Pfaff [Sun, 3 Aug 2025 17:46:37 +0000 (10:46 -0700)]
segments

2 weeks agoAdd more write tests.
Ben Pfaff [Sun, 3 Aug 2025 16:36:19 +0000 (09:36 -0700)]
Add more write tests.

2 weeks agocleanup
Ben Pfaff [Sun, 3 Aug 2025 15:32:48 +0000 (08:32 -0700)]
cleanup

2 weeks agospeed up pick_short_names
Ben Pfaff [Sat, 2 Aug 2025 23:30:34 +0000 (16:30 -0700)]
speed up pick_short_names

This made a real difference for tests, even in release mode

2 weeks agoimprove test
Ben Pfaff [Sat, 2 Aug 2025 18:51:11 +0000 (11:51 -0700)]
improve test

2 weeks agowrite fixes
Ben Pfaff [Sat, 2 Aug 2025 18:48:36 +0000 (11:48 -0700)]
write fixes

3 weeks agocleanup
Ben Pfaff [Sat, 2 Aug 2025 16:49:06 +0000 (09:49 -0700)]
cleanup

3 weeks agocleanup
Ben Pfaff [Sat, 2 Aug 2025 16:45:23 +0000 (09:45 -0700)]
cleanup

3 weeks agoa little cleanup
Ben Pfaff [Sat, 2 Aug 2025 16:34:05 +0000 (09:34 -0700)]
a little cleanup

3 weeks agotraits experiment worked -- needs cleanup
Ben Pfaff [Sat, 2 Aug 2025 16:27:48 +0000 (09:27 -0700)]
traits experiment worked -- needs cleanup

3 weeks agomore experimenting
Ben Pfaff [Thu, 31 Jul 2025 21:24:44 +0000 (14:24 -0700)]
more experimenting

3 weeks agostart experiment with Encoding, RawStringTrait, MutRawString
Ben Pfaff [Thu, 31 Jul 2025 21:01:36 +0000 (14:01 -0700)]
start experiment with Encoding, RawStringTrait, MutRawString

3 weeks agoFirst test for writing a system file.
Ben Pfaff [Wed, 30 Jul 2025 22:26:05 +0000 (15:26 -0700)]
First test for writing a system file.

3 weeks agoworks!
Ben Pfaff [Tue, 29 Jul 2025 19:51:17 +0000 (12:51 -0700)]
works!

3 weeks agoclenaup
Ben Pfaff [Tue, 29 Jul 2025 15:42:16 +0000 (08:42 -0700)]
clenaup

3 weeks agopasses!
Ben Pfaff [Tue, 29 Jul 2025 15:27:52 +0000 (08:27 -0700)]
passes!

3 weeks agostart experiment with merging encodeddatum into datum
Ben Pfaff [Mon, 28 Jul 2025 23:23:51 +0000 (16:23 -0700)]
start experiment with merging encodeddatum into datum

3 weeks agodrop default generic
Ben Pfaff [Mon, 28 Jul 2025 17:00:52 +0000 (10:00 -0700)]
drop default generic

3 weeks agoget rid of encodeddat
Ben Pfaff [Mon, 28 Jul 2025 16:53:32 +0000 (09:53 -0700)]
get rid of encodeddat

3 weeks agosucccess
Ben Pfaff [Mon, 28 Jul 2025 16:52:42 +0000 (09:52 -0700)]
succcess

3 weeks agoprogress
Ben Pfaff [Mon, 28 Jul 2025 16:46:00 +0000 (09:46 -0700)]
progress

4 weeks agogeneralize encodeddatum
Ben Pfaff [Sat, 26 Jul 2025 18:22:07 +0000 (11:22 -0700)]
generalize encodeddatum

4 weeks agoget rid of default generic parameter
Ben Pfaff [Sat, 26 Jul 2025 17:02:25 +0000 (10:02 -0700)]
get rid of default generic parameter

4 weeks agoencodedstr is dead
Ben Pfaff [Sat, 26 Jul 2025 16:57:51 +0000 (09:57 -0700)]
encodedstr is dead

4 weeks agogeneralize encodedstring
Ben Pfaff [Sat, 26 Jul 2025 16:19:51 +0000 (09:19 -0700)]
generalize encodedstring

4 weeks agoRevert "wokr on encodedstring"
Ben Pfaff [Sat, 26 Jul 2025 00:02:57 +0000 (17:02 -0700)]
Revert "wokr on encodedstring"

This reverts commit 412fad0b2ed2f6282fce80cde185c261d87f0b69.

4 weeks agowokr on encodedstring
Ben Pfaff [Sat, 26 Jul 2025 00:02:54 +0000 (17:02 -0700)]
wokr on encodedstring

4 weeks agowokr on types
Ben Pfaff [Fri, 25 Jul 2025 23:24:47 +0000 (16:24 -0700)]
wokr on types

4 weeks agowork on datum
Ben Pfaff [Fri, 25 Jul 2025 14:55:48 +0000 (07:55 -0700)]
work on datum

4 weeks agomore datum
Ben Pfaff [Fri, 25 Jul 2025 14:53:28 +0000 (07:53 -0700)]
more datum

4 weeks agowork on datum
Ben Pfaff [Fri, 25 Jul 2025 14:47:48 +0000 (07:47 -0700)]
work on datum

4 weeks agostart generalizing datum
Ben Pfaff [Fri, 25 Jul 2025 01:55:12 +0000 (18:55 -0700)]
start generalizing datum

4 weeks agoget rid of dat
Ben Pfaff [Fri, 25 Jul 2025 01:49:38 +0000 (18:49 -0700)]
get rid of dat

4 weeks agogeneralize datum, without yet getting rid of dat
Ben Pfaff [Fri, 25 Jul 2025 01:48:51 +0000 (18:48 -0700)]
generalize datum, without yet getting rid of dat

4 weeks agoUse EncodedDatum all over
Ben Pfaff [Fri, 25 Jul 2025 01:34:06 +0000 (18:34 -0700)]
Use EncodedDatum all over

4 weeks agosystematize all the raw/encoded data types
Ben Pfaff [Thu, 24 Jul 2025 17:10:46 +0000 (10:10 -0700)]
systematize all the raw/encoded data types

4 weeks agomake encoding private
Ben Pfaff [Wed, 23 Jul 2025 14:29:56 +0000 (07:29 -0700)]
make encoding private

4 weeks agowork on making dictionary fields private
Ben Pfaff [Wed, 23 Jul 2025 00:26:14 +0000 (17:26 -0700)]
work on making dictionary fields private

4 weeks agoImplement vectors accessor for dictionary
Ben Pfaff [Tue, 22 Jul 2025 21:40:43 +0000 (14:40 -0700)]
Implement vectors accessor for dictionary

4 weeks agowork on json output
Ben Pfaff [Tue, 22 Jul 2025 16:22:49 +0000 (09:22 -0700)]
work on json output

4 weeks agocleanup
Ben Pfaff [Tue, 22 Jul 2025 01:44:08 +0000 (18:44 -0700)]
cleanup

4 weeks agowork
Ben Pfaff [Mon, 21 Jul 2025 23:17:43 +0000 (16:17 -0700)]
work

4 weeks agocleanups
Ben Pfaff [Mon, 21 Jul 2025 16:29:35 +0000 (09:29 -0700)]
cleanups

4 weeks agowork on writing compressed
Ben Pfaff [Sun, 20 Jul 2025 21:57:25 +0000 (14:57 -0700)]
work on writing compressed

4 weeks agocleanup
Ben Pfaff [Sun, 20 Jul 2025 15:18:19 +0000 (08:18 -0700)]
cleanup

4 weeks agocompressed writing
Ben Pfaff [Sat, 19 Jul 2025 21:14:34 +0000 (14:14 -0700)]
compressed writing

4 weeks agowork on writer
Ben Pfaff [Sat, 19 Jul 2025 21:04:10 +0000 (14:04 -0700)]
work on writer

4 weeks agoconvert to sav works!
Ben Pfaff [Sat, 19 Jul 2025 20:30:22 +0000 (13:30 -0700)]
convert to sav works!

5 weeks agobulk of sav writer
Ben Pfaff [Sat, 19 Jul 2025 17:29:25 +0000 (10:29 -0700)]
bulk of sav writer

5 weeks agowork on writing sav files
Ben Pfaff [Sat, 19 Jul 2025 00:34:03 +0000 (17:34 -0700)]
work on writing sav files

5 weeks agowork on writing system files
Ben Pfaff [Fri, 18 Jul 2025 16:10:56 +0000 (09:10 -0700)]
work on writing system files

5 weeks agorust: Add element_offset() and subslice_range() functions.
Ben Pfaff [Fri, 18 Jul 2025 01:12:26 +0000 (18:12 -0700)]
rust: Add element_offset() and subslice_range() functions.

5 weeks agorust: Switch from `finl_unicode` to `unicode-properties` crate.
Ben Pfaff [Fri, 18 Jul 2025 00:14:08 +0000 (17:14 -0700)]
rust: Switch from `finl_unicode` to `unicode-properties` crate.

I like its design better.

5 weeks agorust: Clean up and improve system file handling; add "pspp decrypt".
Ben Pfaff [Sat, 12 Jul 2025 00:05:30 +0000 (17:05 -0700)]
rust: Clean up and improve system file handling; add "pspp decrypt".

This commit substantially improves the system file reader and refactors
and documents it.  It adds the "pspp decrypt" command to the command-line
interface and removes the standalone "sack" example program (which was not
really useful).

6 weeks agorust: Fix `cargo doc` warnings.
Ben Pfaff [Fri, 11 Jul 2025 23:53:49 +0000 (16:53 -0700)]
rust: Fix `cargo doc` warnings.

6 weeks agorust: Add support for decrypting encrypted SPSS files.
Ben Pfaff [Thu, 10 Jul 2025 00:48:13 +0000 (17:48 -0700)]
rust: Add support for decrypting encrypted SPSS files.

Also, fix a bug in the C implementation of password decoding.

6 weeks agoFix expected output for compressed data tests.
Ben Pfaff [Fri, 11 Jul 2025 00:23:02 +0000 (17:23 -0700)]
Fix expected output for compressed data tests.

6 weeks agoInitial work on Rust implementation of PSPP.
Ben Pfaff [Sun, 19 Mar 2023 00:50:19 +0000 (17:50 -0700)]
Initial work on Rust implementation of PSPP.

To run what's here, use `cargo run` inside the `rust` directory to run
it in place, or `cargo install` to install it to a local directory.  The
`convert` command is the only thing that really works so far.

Signed-off-by: Ben Pfaff <blp@cs.stanford.edu>
2 months agoext-array: Use fseeko64 instead of fseeko, if available.
Ben Pfaff [Thu, 5 Jun 2025 20:18:02 +0000 (13:18 -0700)]
ext-array: Use fseeko64 instead of fseeko, if available.

2 months agoDESCRIPTIVES: Fix calculation of Z-scores with listwise missing values.
Ben Pfaff [Wed, 4 Jun 2025 21:34:03 +0000 (14:34 -0700)]
DESCRIPTIVES: Fix calculation of Z-scores with listwise missing values.

2 months agoMacOS: Adapt Readme and initialization for bundle
Friedrich Beckmann [Fri, 30 May 2025 11:51:29 +0000 (13:51 +0200)]
MacOS: Adapt Readme and initialization for bundle

I changed the way the bundle is build to allow codesigning.
The binary is moved to Content/MacOS and therefore the location
of the resources like icons is changed with respect to the
binary location.

5 months agopo: Update 'sv' translation from translationproject.org.
Ben Pfaff [Fri, 7 Mar 2025 00:44:07 +0000 (16:44 -0800)]
po: Update 'sv' translation from translationproject.org.

6 months agoFix order of variables in error message.
Ben Pfaff [Mon, 17 Feb 2025 17:39:54 +0000 (09:39 -0800)]
Fix order of variables in error message.

Thanks to Frans Houweling for reporting the bug.

6 months agopo: Add sv (Swedish) translation from translationproject.org.
Ben Pfaff [Tue, 11 Feb 2025 16:40:24 +0000 (08:40 -0800)]
po: Add sv (Swedish) translation from translationproject.org.

6 months agoIndependent Samples T-Test Dialog: Fix Crash
John Darrington [Mon, 3 Feb 2025 16:27:05 +0000 (17:27 +0100)]
Independent Samples T-Test Dialog: Fix Crash

Only unref the existing grouping variable, if the new one is non-null.
Otherwise it gets unreffed too many times.

Fixes bug 66747

6 months agoQUICK CLUSTER: Use fixed format for cluster centers.
Ben Pfaff [Tue, 28 Jan 2025 22:22:51 +0000 (14:22 -0800)]
QUICK CLUSTER: Use fixed format for cluster centers.

This command used the variables' own formats for their centers.  This was
a bad idea for at least two reasons.  First, the variables might have a
format that does not show any decimal places, but clusters wouldn't
ordinarily have integer centers, so this is confusing.  Second, if a
cluster center happens to have a value label, it could be shown instead,
which is even more confusing.  This fixes the problem by using a fixed
format instead.

Thanks to Andreas Hammer for reporting the problem.

8 months agotests: Make it harder to run the testsuite outside of "make check".
Ben Pfaff [Wed, 4 Dec 2024 22:28:31 +0000 (14:28 -0800)]
tests: Make it harder to run the testsuite outside of "make check".

This confused a user.

8 months agopo: Update translations.
Ben Pfaff [Sun, 1 Dec 2024 23:33:55 +0000 (15:33 -0800)]
po: Update translations.

8 months agopo: Update translations.
Ben Pfaff [Tue, 26 Nov 2024 19:28:10 +0000 (11:28 -0800)]
po: Update translations.

9 months agoREADME.Git: More MacOS build and debug infos. Switch to brew
Friedrich Beckmann [Fri, 22 Nov 2024 13:50:43 +0000 (14:50 +0100)]
README.Git: More MacOS build and debug infos. Switch to brew

I modified the build instructions from macports to brew because
I use brew now. I added some instructions for debugging with lldb.

9 months agoREADME.Git: Just Whitespace
Friedrich Beckmann [Fri, 22 Nov 2024 13:35:16 +0000 (14:35 +0100)]
README.Git: Just Whitespace

9 months agomessage: check if location is present before accessing it
Friedrich Beckmann [Fri, 22 Nov 2024 13:21:27 +0000 (14:21 +0100)]
message: check if location is present before accessing it

The message location is accessed without checking if the
location is actually present. I added a check if the message
location is there. Thanks to Simon Jacobs for reporting the
bug!

Closes: https://savannah.gnu.org/bugs/?66239
9 months agoimport assistant: fix variable width after guesser with output constraints
Friedrich Beckmann [Thu, 21 Nov 2024 12:25:10 +0000 (13:25 +0100)]
import assistant: fix variable width after guesser with output constraints

The current code fixes the guessed variable width according to
input constraints. But the data output stages checks the
width against output constraints. The minimum width for FMT_E
is 1 for input and 6 for output. When the guesser proposes FMT_E
with width 5, then 5 is chosen. With this patch, the width is
fixed to 6.

Thanks to Fatemeh Ilkhani for reporting the bug and providing a
csv that triggers the crash.

Closes: https://savannah.gnu.org/bugs/?66456
10 months agoMATRIX: Fix test for very large matrix.
Ben Pfaff [Mon, 21 Oct 2024 17:49:00 +0000 (10:49 -0700)]
MATRIX: Fix test for very large matrix.

I kept getting processes killed as out-of-memory for the "MATRIX - very
large matrices" test.  Somehow, GSL was really trying to allocate a
matrix with 230,000,000,000 elements, which would require 1.84 PB of
memory, which I don't have.

This makes the matrix allocator report out-of-memory if a sequence would
have more than about 2 billion elements, fixing my OOM killer problem.

10 months agoAdd translation context for statistical "Error"
Theppitak Karoonboonyanan [Fri, 11 Oct 2024 09:46:06 +0000 (16:46 +0700)]
Add translation context for statistical "Error"

Since gnulib's gettext.h defines pgettext() as macro with string
catenation, it's impossible to add pgettext version API for
pivot_value_new_text().  Rather, the pivot_value creation part is
split into pivot_value_new_text_translate() and let's expand
pgettext() upon calling it.

With this, C_() and NC_() macros are defined for translation with
context.

Fixing bug #66244.

10 months agogui: Fix translatability of tip meant for non-free operating systems.
Ben Pfaff [Mon, 21 Oct 2024 16:42:52 +0000 (09:42 -0700)]
gui: Fix translatability of tip meant for non-free operating systems.

Thanks to Theppitak Karoonboonyanan for reporting this bug.

10 months agowindows: update spreadsheet build dependency from 0.8 to 0.10
Friedrich Beckmann [Sun, 13 Oct 2024 14:47:05 +0000 (16:47 +0200)]
windows: update spreadsheet build dependency from 0.8 to 0.10

The windows build on cais.etech.fh-augsburg.de failed because
the windows build dependencies script build spread-sheet 0.8
while pspp now insists on 0.10.

10 months agopo: Update translations from translationproject.org.
Ben Pfaff [Fri, 27 Sep 2024 14:49:21 +0000 (07:49 -0700)]
po: Update translations from translationproject.org.