pspp
19 hours agowork on legacy output
Ben Pfaff [Sun, 21 Dec 2025 18:13:24 +0000 (10:13 -0800)]
work on legacy output

20 hours agoWork on reading legacy tables.
Ben Pfaff [Sun, 21 Dec 2025 17:04:37 +0000 (09:04 -0800)]
Work on reading legacy tables.

36 hours agowork
Ben Pfaff [Sun, 21 Dec 2025 01:38:34 +0000 (17:38 -0800)]
work

36 hours agowork
Ben Pfaff [Sun, 21 Dec 2025 01:11:13 +0000 (17:11 -0800)]
work

2 days agowork
Ben Pfaff [Fri, 19 Dec 2025 20:54:28 +0000 (12:54 -0800)]
work

2 days agoFix layers rendering.
Ben Pfaff [Fri, 19 Dec 2025 18:21:30 +0000 (10:21 -0800)]
Fix layers rendering.

3 days agorendering fixes
Ben Pfaff [Fri, 19 Dec 2025 01:02:10 +0000 (17:02 -0800)]
rendering fixes

3 days agocleanup
Ben Pfaff [Thu, 18 Dec 2025 22:16:39 +0000 (14:16 -0800)]
cleanup

6 days agowork
Ben Pfaff [Tue, 16 Dec 2025 03:43:22 +0000 (19:43 -0800)]
work

7 days agowork
Ben Pfaff [Sun, 14 Dec 2025 21:32:58 +0000 (13:32 -0800)]
work

7 days agowork
Ben Pfaff [Sun, 14 Dec 2025 19:44:49 +0000 (11:44 -0800)]
work

9 days agowork
Ben Pfaff [Sat, 13 Dec 2025 01:16:13 +0000 (17:16 -0800)]
work

9 days agowork
Ben Pfaff [Sat, 13 Dec 2025 00:34:38 +0000 (16:34 -0800)]
work

9 days agowork on documenting
Ben Pfaff [Fri, 12 Dec 2025 23:42:45 +0000 (15:42 -0800)]
work on documenting

10 days agowork
Ben Pfaff [Fri, 12 Dec 2025 01:07:37 +0000 (17:07 -0800)]
work

10 days agoget rid of pub use value::Value;
Ben Pfaff [Thu, 11 Dec 2025 17:35:16 +0000 (09:35 -0800)]
get rid of pub use value::Value;

10 days agoadd new pivot::look module.
Ben Pfaff [Thu, 11 Dec 2025 17:28:47 +0000 (09:28 -0800)]
add new pivot::look module.

10 days agoMove Value into submodule.
Ben Pfaff [Thu, 11 Dec 2025 16:57:11 +0000 (08:57 -0800)]
Move Value into submodule.

11 days agomake spv writer return an error indication
Ben Pfaff [Wed, 10 Dec 2025 19:38:09 +0000 (11:38 -0800)]
make spv writer return an error indication

11 days agoMove spv reader and writer to top-level module.
Ben Pfaff [Wed, 10 Dec 2025 19:25:10 +0000 (11:25 -0800)]
Move spv reader and writer to top-level module.

11 days agoMove spv writer to its own module.
Ben Pfaff [Wed, 10 Dec 2025 16:44:24 +0000 (08:44 -0800)]
Move spv writer to its own module.

12 days agowork
Ben Pfaff [Tue, 9 Dec 2025 23:50:47 +0000 (15:50 -0800)]
work

12 days agowork
Ben Pfaff [Tue, 9 Dec 2025 20:10:10 +0000 (12:10 -0800)]
work

12 days agowork
Ben Pfaff [Tue, 9 Dec 2025 16:58:31 +0000 (08:58 -0800)]
work

13 days agowork
Ben Pfaff [Tue, 9 Dec 2025 01:56:19 +0000 (17:56 -0800)]
work

13 days agowork
Ben Pfaff [Tue, 9 Dec 2025 01:42:35 +0000 (17:42 -0800)]
work

13 days agofix colors
Ben Pfaff [Mon, 8 Dec 2025 18:01:58 +0000 (10:01 -0800)]
fix colors

13 days agobreaking tables mostly works
Ben Pfaff [Mon, 8 Dec 2025 16:44:40 +0000 (08:44 -0800)]
breaking tables mostly works

2 weeks agowork on new approach to rendering
Ben Pfaff [Mon, 8 Dec 2025 01:13:47 +0000 (17:13 -0800)]
work on new approach to rendering

2 weeks agowork
Ben Pfaff [Wed, 3 Dec 2025 21:15:56 +0000 (13:15 -0800)]
work

2 weeks agowork
Ben Pfaff [Tue, 2 Dec 2025 17:23:16 +0000 (09:23 -0800)]
work

2 weeks agowork
Ben Pfaff [Tue, 2 Dec 2025 17:15:00 +0000 (09:15 -0800)]
work

2 weeks agowork
Ben Pfaff [Tue, 2 Dec 2025 17:02:15 +0000 (09:02 -0800)]
work

2 weeks agorenaming
Ben Pfaff [Tue, 2 Dec 2025 16:43:49 +0000 (08:43 -0800)]
renaming

2 weeks agomake plane locations signed
Ben Pfaff [Tue, 2 Dec 2025 16:27:24 +0000 (08:27 -0800)]
make plane locations signed

2 weeks agodistinguish cells from plane locations
Ben Pfaff [Tue, 2 Dec 2025 02:21:25 +0000 (18:21 -0800)]
distinguish cells from plane locations

2 weeks agoRevert "work"
Ben Pfaff [Mon, 1 Dec 2025 16:57:18 +0000 (08:57 -0800)]
Revert "work"

This reverts commit 8c619b5d09368c47c7560a7f63fac15c1d08e6ad.

2 weeks agowork
Ben Pfaff [Mon, 1 Dec 2025 16:57:16 +0000 (08:57 -0800)]
work

2 weeks agowork
Ben Pfaff [Mon, 1 Dec 2025 16:56:18 +0000 (08:56 -0800)]
work

3 weeks agowork
Ben Pfaff [Mon, 1 Dec 2025 01:38:20 +0000 (17:38 -0800)]
work

3 weeks agowork
Ben Pfaff [Sun, 30 Nov 2025 19:08:32 +0000 (11:08 -0800)]
work

3 weeks agowork on reading spv files
Ben Pfaff [Wed, 24 Sep 2025 15:56:09 +0000 (08:56 -0700)]
work on reading spv files

3 weeks agorust: Fix Length conversions in paper-sizes crate and add tests.
Ben Pfaff [Sun, 30 Nov 2025 17:26:48 +0000 (09:26 -0800)]
rust: Fix Length conversions in paper-sizes crate and add tests.

3 weeks agorust: Add Length type to paper-sizes crate.
Ben Pfaff [Mon, 24 Nov 2025 17:09:37 +0000 (09:09 -0800)]
rust: Add Length type to paper-sizes crate.

3 weeks agorust: Release paper-sizes version 2.0.
Ben Pfaff [Mon, 24 Nov 2025 16:42:33 +0000 (08:42 -0800)]
rust: Release paper-sizes version 2.0.

3 weeks agorust: Add serde support to paper-sizes.
Ben Pfaff [Mon, 6 Oct 2025 16:26:11 +0000 (09:26 -0700)]
rust: Add serde support to paper-sizes.

2 months agorust: Add `PaperSize` parsing and formatting in paper-sizes crate.
Ben Pfaff [Mon, 6 Oct 2025 01:10:54 +0000 (18:10 -0700)]
rust: Add `PaperSize` parsing and formatting in paper-sizes crate.

2 months agorust: Fix author in Cargo.toml in paper-sizes crate.
Ben Pfaff [Mon, 6 Oct 2025 01:10:13 +0000 (18:10 -0700)]
rust: Fix author in Cargo.toml in paper-sizes crate.

2 months agorust: New Rust crate `paper-sizes` for detecting paper sizes and defaults.
Ben Pfaff [Fri, 3 Oct 2025 18:45:05 +0000 (11:45 -0700)]
rust: New Rust crate `paper-sizes` for detecting paper sizes and defaults.

2 months agorust: Release version 0.5.0.
Ben Pfaff [Wed, 24 Sep 2025 15:12:00 +0000 (08:12 -0700)]
rust: Release version 0.5.0.

2 months agorust: Add support for reading SPSS/PC+ system files.
Ben Pfaff [Wed, 17 Sep 2025 15:45:57 +0000 (08:45 -0700)]
rust: Add support for reading SPSS/PC+ system files.

Signed-off-by: Ben Pfaff <blp@cs.stanford.edu>
2 months agorust: Run `cargo fmt`.
Ben Pfaff [Wed, 24 Sep 2025 00:16:56 +0000 (17:16 -0700)]
rust: Run `cargo fmt`.

3 months agodoc: Remove unused file.
Ben Pfaff [Wed, 17 Sep 2025 15:41:16 +0000 (08:41 -0700)]
doc: Remove unused file.

3 months agorust: Release version 0.4.0
Ben Pfaff [Wed, 17 Sep 2025 15:29:00 +0000 (08:29 -0700)]
rust: Release version 0.4.0

3 months agorust: Add support for portable files.
Ben Pfaff [Wed, 17 Sep 2025 15:17:38 +0000 (08:17 -0700)]
rust: Add support for portable files.

3 months agorust: Rename `test` modules to `tests` for consistency.
Ben Pfaff [Sun, 14 Sep 2025 21:02:59 +0000 (14:02 -0700)]
rust: Rename `test` modules to `tests` for consistency.

3 months agorust: Allow creation date in system files to contain dashes.
Ben Pfaff [Mon, 15 Sep 2025 19:51:19 +0000 (12:51 -0700)]
rust: Allow creation date in system files to contain dashes.

3 months agorust: Add license and copyright text to the rendered documentation.
Ben Pfaff [Thu, 4 Sep 2025 20:34:28 +0000 (13:34 -0700)]
rust: Add license and copyright text to the rendered documentation.

3 months agorust: Fix doctests for lib.rs.
Ben Pfaff [Wed, 3 Sep 2025 18:27:01 +0000 (11:27 -0700)]
rust: Fix doctests for lib.rs.

Shell commands should not be tested as if they are Rust source code.

3 months agorust: Rename `mod.rs` files to reflect module names.
Ben Pfaff [Wed, 3 Sep 2025 18:24:28 +0000 (11:24 -0700)]
rust: Rename `mod.rs` files to reflect module names.

This is the more modern Rust style of file naming, which avoids having
many files named `mod.rs`, reducing confusion in editors.

3 months agorust: Release version 0.3.0.
Ben Pfaff [Tue, 2 Sep 2025 23:42:29 +0000 (16:42 -0700)]
rust: Release version 0.3.0.

3 months agorust: Add top-level documentation for the PSPP crate.
Ben Pfaff [Tue, 2 Sep 2025 23:41:48 +0000 (16:41 -0700)]
rust: Add top-level documentation for the PSPP crate.

3 months agorust: Minor documentation update.
Ben Pfaff [Tue, 2 Sep 2025 23:08:35 +0000 (16:08 -0700)]
rust: Minor documentation update.

3 months agorust: Move all command documentation into a single directory.
Ben Pfaff [Tue, 2 Sep 2025 22:37:42 +0000 (15:37 -0700)]
rust: Move all command documentation into a single directory.

This makes it much easier to find the documentation for a command, or to
reference a command's documentation, because it's not necessary to guess
which chapter it is documented in.

3 months agorust: Improve documentation for `pspp decrypt` and `pspp show`.
Ben Pfaff [Tue, 2 Sep 2025 21:56:23 +0000 (14:56 -0700)]
rust: Improve documentation for `pspp decrypt` and `pspp show`.

Also, update `pspp show` implementation to match.

3 months agorust: Fix clippy warnings.
Ben Pfaff [Fri, 29 Aug 2025 00:01:58 +0000 (17:01 -0700)]
rust: Fix clippy warnings.

3 months agorust: Fix warnings from newer version of rustc.
Ben Pfaff [Thu, 28 Aug 2025 23:22:43 +0000 (16:22 -0700)]
rust: Fix warnings from newer version of rustc.

3 months agorust: Document `pspp decrypt`.
Ben Pfaff [Mon, 25 Aug 2025 19:01:36 +0000 (12:01 -0700)]
rust: Document `pspp decrypt`.

3 months agorust: Work on chapter in manual on invoking PSPP.
Ben Pfaff [Mon, 25 Aug 2025 03:15:38 +0000 (20:15 -0700)]
rust: Work on chapter in manual on invoking PSPP.

3 months agorust: Break CLI commands into separate Rust modules.
Ben Pfaff [Mon, 25 Aug 2025 02:48:22 +0000 (19:48 -0700)]
rust: Break CLI commands into separate Rust modules.

3 months agorust: Refactor how CSV output is written to avoid most heap allocations.
Ben Pfaff [Mon, 25 Aug 2025 02:33:29 +0000 (19:33 -0700)]
rust: Refactor how CSV output is written to avoid most heap allocations.

3 months agorust: Introduce Datum::is_string, Datum::is_number.
Ben Pfaff [Mon, 25 Aug 2025 02:30:28 +0000 (19:30 -0700)]
rust: Introduce Datum::is_string, Datum::is_number.

3 months agorust: Introduce `.to_small_string()` helper trait.
Ben Pfaff [Mon, 25 Aug 2025 02:30:02 +0000 (19:30 -0700)]
rust: Introduce `.to_small_string()` helper trait.

3 months agorust: Implement the remaining CSV output options for `pspp convert`.
Ben Pfaff [Sun, 24 Aug 2025 20:32:01 +0000 (13:32 -0700)]
rust: Implement the remaining CSV output options for `pspp convert`.

3 months agorust: Make .display_plain() for f64 support alternate decimal points.
Ben Pfaff [Sun, 24 Aug 2025 22:17:47 +0000 (15:17 -0700)]
rust: Make .display_plain() for f64 support alternate decimal points.

3 months agorust: Switch to `hashbrown` for value labels to allow more flexible lookup.
Ben Pfaff [Sun, 24 Aug 2025 22:16:19 +0000 (15:16 -0700)]
rust: Switch to `hashbrown` for value labels to allow more flexible lookup.

The `Equivalent` trait allows us to look up keys that cannot directly
`Borrow` the values in the hash table, which increases the flexibility
and makes value label lookup much easier.

3 months agorust: Change ByteStr from wrapping &[u8] to wrapping [u8].
Ben Pfaff [Sun, 24 Aug 2025 20:51:09 +0000 (13:51 -0700)]
rust: Change ByteStr from wrapping &[u8] to wrapping [u8].

This allows ByteString to implement Borrow<ByteStr>, which makes lookup
in collections easier.

Signed-off-by: Ben Pfaff <blp@cs.stanford.edu>
3 months agorust: Update README.
Ben Pfaff [Sun, 24 Aug 2025 18:41:15 +0000 (11:41 -0700)]
rust: Update README.

3 months agorust: Major additions.
Ben Pfaff [Fri, 18 Jul 2025 16:10:56 +0000 (09:10 -0700)]
rust: Major additions.

This adds support for writing system files to the Rust pspp library and
to the `convert` command in the Rust CLI.  It also renames the `dissect`
command in the CLI to `show` and adds numerous features to it.

This makes many bug fixes across the Rust pspp library and changes the
library internals in several ways.

5 months 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 months 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 months 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).

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

5 months 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.

5 months 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.

5 months 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>
6 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.

6 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.

6 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.

9 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.

10 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.

10 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.

10 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

10 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.

12 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.

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

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

12 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.

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

12 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