Ben Pfaff [Thu, 13 Nov 2025 16:59:36 +0000 (08:59 -0800)]
rust: Move CLI implementation into `cli` module.
Ben Pfaff [Thu, 13 Nov 2025 16:51:52 +0000 (08:51 -0800)]
one xml test file works OK at least for text output
Ben Pfaff [Wed, 12 Nov 2025 16:05:08 +0000 (08:05 -0800)]
work on xml spvs
Ben Pfaff [Wed, 5 Nov 2025 15:50:43 +0000 (07:50 -0800)]
legacy xml starts to work
Ben Pfaff [Tue, 4 Nov 2025 20:57:01 +0000 (12:57 -0800)]
work
Ben Pfaff [Tue, 4 Nov 2025 17:17:39 +0000 (09:17 -0800)]
first version of xml decoder that might do something
Ben Pfaff [Sat, 1 Nov 2025 00:01:05 +0000 (17:01 -0700)]
work
Ben Pfaff [Wed, 29 Oct 2025 14:57:10 +0000 (07:57 -0700)]
work
Ben Pfaff [Thu, 23 Oct 2025 15:27:56 +0000 (08:27 -0700)]
add rustfmt file
Ben Pfaff [Thu, 23 Oct 2025 15:27:20 +0000 (08:27 -0700)]
work
Ben Pfaff [Thu, 23 Oct 2025 15:23:46 +0000 (08:23 -0700)]
work
Ben Pfaff [Thu, 23 Oct 2025 14:45:53 +0000 (07:45 -0700)]
work
Ben Pfaff [Sat, 18 Oct 2025 16:02:10 +0000 (09:02 -0700)]
seems to work
Ben Pfaff [Sat, 18 Oct 2025 15:17:23 +0000 (08:17 -0700)]
work on reading binary legacy member
Ben Pfaff [Sat, 18 Oct 2025 15:09:28 +0000 (08:09 -0700)]
work - now reads everything in ~/pspp/spv/spv too
Ben Pfaff [Sat, 18 Oct 2025 15:06:02 +0000 (08:06 -0700)]
work
Ben Pfaff [Sat, 18 Oct 2025 14:41:16 +0000 (07:41 -0700)]
all files in submissions/spv parse
Ben Pfaff [Fri, 17 Oct 2025 23:13:42 +0000 (16:13 -0700)]
some tables parse
Ben Pfaff [Fri, 17 Oct 2025 21:36:51 +0000 (14:36 -0700)]
work
Ben Pfaff [Fri, 17 Oct 2025 20:44:33 +0000 (13:44 -0700)]
work on legacy spvs
Ben Pfaff [Thu, 16 Oct 2025 23:13:56 +0000 (16:13 -0700)]
support images in spv files
Ben Pfaff [Thu, 16 Oct 2025 20:05:46 +0000 (13:05 -0700)]
work - now all files in the corpus successfully load
Ben Pfaff [Thu, 16 Oct 2025 16:08:13 +0000 (09:08 -0700)]
work
Ben Pfaff [Thu, 16 Oct 2025 14:35:04 +0000 (07:35 -0700)]
work
Ben Pfaff [Thu, 16 Oct 2025 14:18:54 +0000 (07:18 -0700)]
work
Ben Pfaff [Wed, 15 Oct 2025 21:51:19 +0000 (14:51 -0700)]
work
Ben Pfaff [Tue, 14 Oct 2025 23:36:11 +0000 (16:36 -0700)]
fix
Ben Pfaff [Tue, 14 Oct 2025 20:57:57 +0000 (13:57 -0700)]
improve value parsing
Ben Pfaff [Tue, 14 Oct 2025 17:01:52 +0000 (10:01 -0700)]
work
Ben Pfaff [Tue, 14 Oct 2025 15:50:34 +0000 (08:50 -0700)]
work
Ben Pfaff [Mon, 13 Oct 2025 15:46:42 +0000 (08:46 -0700)]
work
Ben Pfaff [Mon, 13 Oct 2025 02:36:57 +0000 (19:36 -0700)]
work
Ben Pfaff [Mon, 13 Oct 2025 02:00:15 +0000 (19:00 -0700)]
work
Ben Pfaff [Sun, 12 Oct 2025 18:10:58 +0000 (11:10 -0700)]
work on output items
Ben Pfaff [Sun, 12 Oct 2025 17:48:46 +0000 (10:48 -0700)]
Introduce Heading type and into_item().
Ben Pfaff [Sun, 12 Oct 2025 17:09:51 +0000 (10:09 -0700)]
work
Ben Pfaff [Sun, 12 Oct 2025 00:52:54 +0000 (17:52 -0700)]
work
Ben Pfaff [Sat, 11 Oct 2025 05:12:25 +0000 (22:12 -0700)]
work
Ben Pfaff [Sat, 11 Oct 2025 05:11:08 +0000 (22:11 -0700)]
Drop flagset crate in favor of enumset.
Ben Pfaff [Sat, 11 Oct 2025 05:08:02 +0000 (22:08 -0700)]
Drop bitflags crate in favor of enumset.
Ben Pfaff [Fri, 10 Oct 2025 22:34:25 +0000 (15:34 -0700)]
can parse selections
Ben Pfaff [Fri, 10 Oct 2025 16:36:12 +0000 (09:36 -0700)]
work
Ben Pfaff [Thu, 9 Oct 2025 16:10:54 +0000 (09:10 -0700)]
work
Ben Pfaff [Thu, 9 Oct 2025 15:40:25 +0000 (08:40 -0700)]
work
Ben Pfaff [Mon, 6 Oct 2025 16:26:11 +0000 (09:26 -0700)]
Add serde support to paper-sizes.
Ben Pfaff [Mon, 6 Oct 2025 01:11:10 +0000 (18:11 -0700)]
work on pagesetup
Ben Pfaff [Thu, 25 Sep 2025 14:50:18 +0000 (07:50 -0700)]
work on reading spv files
Ben Pfaff [Wed, 24 Sep 2025 15:56:09 +0000 (08:56 -0700)]
rust: Move output drivers to drivers module.
Ben Pfaff [Mon, 6 Oct 2025 01:10:54 +0000 (18:10 -0700)]
rust: Add `PaperSize` parsing and formatting 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.
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.
Ben Pfaff [Wed, 24 Sep 2025 15:12:00 +0000 (08:12 -0700)]
rust: Release version 0.5.0.
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>
Ben Pfaff [Wed, 24 Sep 2025 00:16:56 +0000 (17:16 -0700)]
rust: Run `cargo fmt`.
Ben Pfaff [Wed, 17 Sep 2025 15:41:16 +0000 (08:41 -0700)]
doc: Remove unused file.
Ben Pfaff [Wed, 17 Sep 2025 15:29:00 +0000 (08:29 -0700)]
rust: Release version 0.4.0
Ben Pfaff [Wed, 17 Sep 2025 15:17:38 +0000 (08:17 -0700)]
rust: Add support for portable files.
Ben Pfaff [Sun, 14 Sep 2025 21:02:59 +0000 (14:02 -0700)]
rust: Rename `test` modules to `tests` for consistency.
Ben Pfaff [Mon, 15 Sep 2025 19:51:19 +0000 (12:51 -0700)]
rust: Allow creation date in system files to contain dashes.
Ben Pfaff [Thu, 4 Sep 2025 20:34:28 +0000 (13:34 -0700)]
rust: Add license and copyright text to the rendered documentation.
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.
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.
Ben Pfaff [Tue, 2 Sep 2025 23:42:29 +0000 (16:42 -0700)]
rust: Release version 0.3.0.
Ben Pfaff [Tue, 2 Sep 2025 23:41:48 +0000 (16:41 -0700)]
rust: Add top-level documentation for the PSPP crate.
Ben Pfaff [Tue, 2 Sep 2025 23:08:35 +0000 (16:08 -0700)]
rust: Minor documentation update.
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.
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.
Ben Pfaff [Fri, 29 Aug 2025 00:01:58 +0000 (17:01 -0700)]
rust: Fix clippy warnings.
Ben Pfaff [Thu, 28 Aug 2025 23:22:43 +0000 (16:22 -0700)]
rust: Fix warnings from newer version of rustc.
Ben Pfaff [Mon, 25 Aug 2025 19:01:36 +0000 (12:01 -0700)]
rust: Document `pspp decrypt`.
Ben Pfaff [Mon, 25 Aug 2025 03:15:38 +0000 (20:15 -0700)]
rust: Work on chapter in manual on invoking PSPP.
Ben Pfaff [Mon, 25 Aug 2025 02:48:22 +0000 (19:48 -0700)]
rust: Break CLI commands into separate Rust modules.
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.
Ben Pfaff [Mon, 25 Aug 2025 02:30:28 +0000 (19:30 -0700)]
rust: Introduce Datum::is_string, Datum::is_number.
Ben Pfaff [Mon, 25 Aug 2025 02:30:02 +0000 (19:30 -0700)]
rust: Introduce `.to_small_string()` helper trait.
Ben Pfaff [Sun, 24 Aug 2025 20:32:01 +0000 (13:32 -0700)]
rust: Implement the remaining CSV output options for `pspp convert`.
Ben Pfaff [Sun, 24 Aug 2025 22:17:47 +0000 (15:17 -0700)]
rust: Make .display_plain() for f64 support alternate decimal points.
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.
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>
Ben Pfaff [Sun, 24 Aug 2025 18:41:15 +0000 (11:41 -0700)]
rust: Update README.
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.
Ben Pfaff [Fri, 18 Jul 2025 01:12:26 +0000 (18:12 -0700)]
rust: Add element_offset() and subslice_range() functions.
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.
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).
Ben Pfaff [Fri, 11 Jul 2025 23:53:49 +0000 (16:53 -0700)]
rust: Fix `cargo doc` warnings.
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.
Ben Pfaff [Fri, 11 Jul 2025 00:23:02 +0000 (17:23 -0700)]
Fix expected output for compressed data tests.
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>
Ben Pfaff [Thu, 5 Jun 2025 20:18:02 +0000 (13:18 -0700)]
ext-array: Use fseeko64 instead of fseeko, if available.
Ben Pfaff [Wed, 4 Jun 2025 21:34:03 +0000 (14:34 -0700)]
DESCRIPTIVES: Fix calculation of Z-scores with listwise missing values.
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.
Ben Pfaff [Fri, 7 Mar 2025 00:44:07 +0000 (16:44 -0800)]
po: Update 'sv' translation from translationproject.org.
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.
Ben Pfaff [Tue, 11 Feb 2025 16:40:24 +0000 (08:40 -0800)]
po: Add sv (Swedish) translation from translationproject.org.
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
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.
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.
Ben Pfaff [Sun, 1 Dec 2024 23:33:55 +0000 (15:33 -0800)]
po: Update translations.
Ben Pfaff [Tue, 26 Nov 2024 19:28:10 +0000 (11:28 -0800)]
po: Update translations.
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.