pspp
16 hours agocleanup
Ben Pfaff [Fri, 2 Jan 2026 04:29:40 +0000 (20:29 -0800)]
cleanup

16 hours agocleanup
Ben Pfaff [Fri, 2 Jan 2026 04:22:46 +0000 (20:22 -0800)]
cleanup

16 hours agocleanup
Ben Pfaff [Fri, 2 Jan 2026 04:18:52 +0000 (20:18 -0800)]
cleanup

16 hours agocleanup
Ben Pfaff [Fri, 2 Jan 2026 04:10:06 +0000 (20:10 -0800)]
cleanup

16 hours agocleanup
Ben Pfaff [Fri, 2 Jan 2026 03:57:31 +0000 (19:57 -0800)]
cleanup

17 hours agocleanup
Ben Pfaff [Fri, 2 Jan 2026 03:29:53 +0000 (19:29 -0800)]
cleanup

17 hours agocleanup
Ben Pfaff [Fri, 2 Jan 2026 03:24:12 +0000 (19:24 -0800)]
cleanup

17 hours agocleanup
Ben Pfaff [Fri, 2 Jan 2026 03:12:22 +0000 (19:12 -0800)]
cleanup

20 hours agocleanup
Ben Pfaff [Fri, 2 Jan 2026 00:00:57 +0000 (16:00 -0800)]
cleanup

21 hours agocleanup
Ben Pfaff [Thu, 1 Jan 2026 23:07:02 +0000 (15:07 -0800)]
cleanup

26 hours agowork
Ben Pfaff [Thu, 1 Jan 2026 18:28:47 +0000 (10:28 -0800)]
work

43 hours agowork
Ben Pfaff [Thu, 1 Jan 2026 01:04:10 +0000 (17:04 -0800)]
work

44 hours agoapply to outline
Ben Pfaff [Thu, 1 Jan 2026 00:29:28 +0000 (16:29 -0800)]
apply to outline

44 hours agosuccessfully read just an outline
Ben Pfaff [Thu, 1 Jan 2026 00:28:16 +0000 (16:28 -0800)]
successfully read just an outline

46 hours agospv outline works
Ben Pfaff [Wed, 31 Dec 2025 22:02:44 +0000 (14:02 -0800)]
spv outline works

2 days agowork on outlines
Ben Pfaff [Wed, 31 Dec 2025 16:44:50 +0000 (08:44 -0800)]
work on outlines

2 days agowork
Ben Pfaff [Wed, 31 Dec 2025 01:03:02 +0000 (17:03 -0800)]
work

3 days agowork
Ben Pfaff [Tue, 30 Dec 2025 16:36:41 +0000 (08:36 -0800)]
work

4 days agowork
Ben Pfaff [Mon, 29 Dec 2025 15:22:54 +0000 (07:22 -0800)]
work

4 days agowork
Ben Pfaff [Mon, 29 Dec 2025 00:06:02 +0000 (16:06 -0800)]
work

4 days agofixes
Ben Pfaff [Mon, 29 Dec 2025 00:04:17 +0000 (16:04 -0800)]
fixes

4 days agofixes
Ben Pfaff [Sun, 28 Dec 2025 22:57:04 +0000 (14:57 -0800)]
fixes

5 days agowork
Ben Pfaff [Sun, 28 Dec 2025 20:00:24 +0000 (12:00 -0800)]
work

6 days agogitignore
Ben Pfaff [Sat, 27 Dec 2025 17:36:04 +0000 (09:36 -0800)]
gitignore

6 days agomore fixes
Ben Pfaff [Sat, 27 Dec 2025 17:34:00 +0000 (09:34 -0800)]
more fixes

6 days agofix
Ben Pfaff [Sat, 27 Dec 2025 03:52:08 +0000 (19:52 -0800)]
fix

6 days agosupport multiple setFormat inside setCellProperties
Ben Pfaff [Sat, 27 Dec 2025 01:20:33 +0000 (17:20 -0800)]
support multiple setFormat inside setCellProperties

6 days agomore simplification
Ben Pfaff [Sat, 27 Dec 2025 01:15:17 +0000 (17:15 -0800)]
more simplification

6 days agomore simplification
Ben Pfaff [Sat, 27 Dec 2025 01:14:39 +0000 (17:14 -0800)]
more simplification

6 days agosimplify more
Ben Pfaff [Sat, 27 Dec 2025 01:11:43 +0000 (17:11 -0800)]
simplify more

6 days agosimplify Target
Ben Pfaff [Sat, 27 Dec 2025 01:04:20 +0000 (17:04 -0800)]
simplify Target

6 days agoXXX Don't decode area styles because they should be in the Look XXX
Ben Pfaff [Fri, 26 Dec 2025 23:49:22 +0000 (15:49 -0800)]
XXX Don't decode area styles because they should be in the Look XXX

6 days agoImplement multiparagraph values.
Ben Pfaff [Fri, 26 Dec 2025 22:54:17 +0000 (14:54 -0800)]
Implement multiparagraph values.

7 days agomore fixes
Ben Pfaff [Fri, 26 Dec 2025 20:09:09 +0000 (12:09 -0800)]
more fixes

7 days agofixes
Ben Pfaff [Fri, 26 Dec 2025 17:16:47 +0000 (09:16 -0800)]
fixes

7 days agowork
Ben Pfaff [Fri, 26 Dec 2025 16:48:47 +0000 (08:48 -0800)]
work

7 days agorendering fix
Ben Pfaff [Fri, 26 Dec 2025 16:21:55 +0000 (08:21 -0800)]
rendering fix

7 days agofix
Ben Pfaff [Fri, 26 Dec 2025 00:40:06 +0000 (16:40 -0800)]
fix

7 days agoFix margins
Ben Pfaff [Fri, 26 Dec 2025 00:39:43 +0000 (16:39 -0800)]
Fix margins

7 days agomore legacy
Ben Pfaff [Thu, 25 Dec 2025 21:18:42 +0000 (13:18 -0800)]
more legacy

8 days agofies
Ben Pfaff [Thu, 25 Dec 2025 19:17:31 +0000 (11:17 -0800)]
fies

8 days agodisplay dimension labels in the corner better
Ben Pfaff [Thu, 25 Dec 2025 15:43:55 +0000 (07:43 -0800)]
display dimension labels in the corner better

8 days agofixes
Ben Pfaff [Thu, 25 Dec 2025 01:25:14 +0000 (17:25 -0800)]
fixes

8 days agofixes
Ben Pfaff [Thu, 25 Dec 2025 00:38:33 +0000 (16:38 -0800)]
fixes

8 days agoimproved styling
Ben Pfaff [Wed, 24 Dec 2025 23:24:01 +0000 (15:24 -0800)]
improved styling

8 days agowriter fix
Ben Pfaff [Wed, 24 Dec 2025 22:51:12 +0000 (14:51 -0800)]
writer fix

8 days agowork
Ben Pfaff [Wed, 24 Dec 2025 22:26:32 +0000 (14:26 -0800)]
work

8 days agotests
Ben Pfaff [Wed, 24 Dec 2025 21:51:52 +0000 (13:51 -0800)]
tests

9 days agowork
Ben Pfaff [Wed, 24 Dec 2025 19:02:29 +0000 (11:02 -0800)]
work

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4 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`.

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

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

4 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>
4 months agorust: Update README.
Ben Pfaff [Sun, 24 Aug 2025 18:41:15 +0000 (11:41 -0700)]
rust: Update README.

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

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