pspp
2 years agoWork on weighting.
Ben Pfaff [Sun, 30 Jan 2022 20:39:30 +0000 (12:39 -0800)]
Work on weighting.

2 years agoAdd ptile support (untested).
Ben Pfaff [Sun, 30 Jan 2022 00:59:31 +0000 (16:59 -0800)]
Add ptile support (untested).

2 years agoctables: Support mode (untested).
Ben Pfaff [Sun, 30 Jan 2022 00:57:26 +0000 (16:57 -0800)]
ctables: Support mode (untested).

2 years agomode: New order statistic.
Ben Pfaff [Sun, 30 Jan 2022 00:56:30 +0000 (16:56 -0800)]
mode: New order statistic.

2 years agomath: Make 'accumulate' a feature of order statistics, not all stats.
Ben Pfaff [Sun, 30 Jan 2022 00:56:18 +0000 (16:56 -0800)]
math: Make 'accumulate' a feature of order statistics, not all stats.

2 years agoimplement MEDIAN (untested)
Ben Pfaff [Sat, 29 Jan 2022 22:44:14 +0000 (14:44 -0800)]
implement MEDIAN (untested)

2 years agosubcase: Rename subcase_destroy() to subcase_uninit().
Ben Pfaff [Sat, 29 Jan 2022 20:21:13 +0000 (12:21 -0800)]
subcase: Rename subcase_destroy() to subcase_uninit().

This reflects the convention that "destroy" frees the pointer passed in
while "uninit" only frees the internals.

2 years agomath: Coding style updates in some order-stat implementations.
Ben Pfaff [Sat, 29 Jan 2022 20:01:16 +0000 (12:01 -0800)]
math: Coding style updates in some order-stat implementations.

I generally find structure assignments clearer than individual assignments
to each of their members these days.

2 years agomath: Improve comments.
Ben Pfaff [Sat, 29 Jan 2022 20:00:16 +0000 (12:00 -0800)]
math: Improve comments.

This includes some changes to parameter names and coding style in
order-stats that I think clarify the code and modernize it.

2 years agomath: Avoid unneeded extra allocations for fixed-size data structures.
Ben Pfaff [Sat, 29 Jan 2022 18:52:49 +0000 (10:52 -0800)]
math: Avoid unneeded extra allocations for fixed-size data structures.

This seems generally a bit cleaner to me.

2 years agoAdd list of unimplemented features.
Ben Pfaff [Sat, 29 Jan 2022 17:48:07 +0000 (09:48 -0800)]
Add list of unimplemented features.

2 years agoMore tests for totals and subtotals, with fixes.
Ben Pfaff [Sat, 29 Jan 2022 03:10:26 +0000 (19:10 -0800)]
More tests for totals and subtotals, with fixes.

2 years ago2-d subtotals work
Ben Pfaff [Sat, 29 Jan 2022 02:30:20 +0000 (18:30 -0800)]
2-d subtotals work

2 years agoFix subtotal calculations.
Ben Pfaff [Sat, 29 Jan 2022 02:23:47 +0000 (18:23 -0800)]
Fix subtotal calculations.

2 years agoSimple test for TOTALS.
Ben Pfaff [Wed, 19 Jan 2022 01:48:58 +0000 (17:48 -0800)]
Simple test for TOTALS.

2 years agoSome basic tests.
Ben Pfaff [Tue, 18 Jan 2022 03:31:08 +0000 (19:31 -0800)]
Some basic tests.

2 years agospv-legacy-decoder: Always give the pivot table a title.
Ben Pfaff [Tue, 18 Jan 2022 03:19:27 +0000 (19:19 -0800)]
spv-legacy-decoder: Always give the pivot table a title.

A pivot table must have a title.  Some parts of PSPP rely on that.  The
legacy SPV decoder didn't ensure this, and one SPV in my corpus didn't have
one, which led to null pointer dereferences, so this commit fixes the
problem.

2 years agooutput-item: Add missing new-line printing tables in output_item_dump().
Ben Pfaff [Tue, 18 Jan 2022 01:39:37 +0000 (17:39 -0800)]
output-item: Add missing new-line printing tables in output_item_dump().

This only affects "pspp-output dump".

2 years agopivot-table: Fix pivot_table_dump() null pointer dereference in special case.
Ben Pfaff [Mon, 17 Jan 2022 22:05:09 +0000 (14:05 -0800)]
pivot-table: Fix pivot_table_dump() null pointer dereference in special case.

This function only gets called from "pspp-output dump", so it's not a very
important bug.

2 years agoA few basic tests pass.
Ben Pfaff [Mon, 17 Jan 2022 06:28:32 +0000 (22:28 -0800)]
A few basic tests pass.

2 years agofix one bug with clabels
Ben Pfaff [Mon, 17 Jan 2022 04:22:55 +0000 (20:22 -0800)]
fix one bug with clabels

2 years agofix parsing
Ben Pfaff [Mon, 17 Jan 2022 03:21:56 +0000 (19:21 -0800)]
fix parsing

2 years agobasics work now
Ben Pfaff [Sun, 16 Jan 2022 05:21:02 +0000 (21:21 -0800)]
basics work now

2 years agonumbers back in tables
Ben Pfaff [Sun, 16 Jan 2022 04:50:36 +0000 (20:50 -0800)]
numbers back in tables

2 years agowe don't really need two forks of the output code
Ben Pfaff [Sun, 16 Jan 2022 04:14:49 +0000 (20:14 -0800)]
we don't really need two forks of the output code

2 years agolabeling, with clabels and slabels, all seems to work right
Ben Pfaff [Sun, 16 Jan 2022 03:48:11 +0000 (19:48 -0800)]
labeling, with clabels and slabels, all seems to work right

2 years agobegin refactoring how to do grouping
Ben Pfaff [Sun, 16 Jan 2022 03:07:07 +0000 (19:07 -0800)]
begin refactoring how to do grouping

2 years agobetter comment
Ben Pfaff [Sun, 16 Jan 2022 00:18:18 +0000 (16:18 -0800)]
better comment

2 years agomake rowlabels and collabels more regular
Ben Pfaff [Sun, 16 Jan 2022 00:06:06 +0000 (16:06 -0800)]
make rowlabels and collabels more regular

2 years agocheck label positions for =OPPOSITE or =LAYER
Ben Pfaff [Sat, 15 Jan 2022 21:35:13 +0000 (13:35 -0800)]
check label positions for =OPPOSITE or =LAYER

2 years agomove code around
Ben Pfaff [Sat, 15 Jan 2022 20:11:23 +0000 (12:11 -0800)]
move code around

2 years agominor improvements and cleanups
Ben Pfaff [Sat, 15 Jan 2022 19:52:12 +0000 (11:52 -0800)]
minor improvements and cleanups

2 years agoStart work on slabels != summary_axis.
Ben Pfaff [Sat, 15 Jan 2022 19:03:21 +0000 (11:03 -0800)]
Start work on slabels != summary_axis.

2 years agomore debug prints
Ben Pfaff [Sat, 15 Jan 2022 18:51:55 +0000 (10:51 -0800)]
more debug prints

2 years agomerging works
Ben Pfaff [Sat, 15 Jan 2022 07:24:53 +0000 (23:24 -0800)]
merging works

2 years agoFix parsing totals.
Ben Pfaff [Sat, 15 Jan 2022 06:08:52 +0000 (22:08 -0800)]
Fix parsing totals.

2 years agoMake all the spec_sets distinct.
Ben Pfaff [Sat, 15 Jan 2022 05:56:35 +0000 (21:56 -0800)]
Make all the spec_sets distinct.

2 years agoparallel members to arrays
Ben Pfaff [Sat, 15 Jan 2022 05:33:57 +0000 (21:33 -0800)]
parallel members to arrays

2 years agoimprove naming
Ben Pfaff [Sat, 15 Jan 2022 05:06:17 +0000 (21:06 -0800)]
improve naming

2 years agoBreak ctables_cell_insert__() from ctables_cell_add__()
Ben Pfaff [Sat, 15 Jan 2022 05:03:11 +0000 (21:03 -0800)]
Break ctables_cell_insert__() from ctables_cell_add__()

2 years agoRename var_array to nest.
Ben Pfaff [Sat, 15 Jan 2022 04:51:12 +0000 (20:51 -0800)]
Rename var_array to nest.

2 years agoRename var_array2 to stack.
Ben Pfaff [Sat, 15 Jan 2022 04:44:36 +0000 (20:44 -0800)]
Rename var_array2 to stack.

2 years agoAllow totals to have different statistics
Ben Pfaff [Sat, 15 Jan 2022 02:44:01 +0000 (18:44 -0800)]
Allow totals to have different statistics

2 years agowork on configurable summaries for totals
Ben Pfaff [Thu, 13 Jan 2022 05:51:10 +0000 (21:51 -0800)]
work on configurable summaries for totals

2 years agosubtotal and hsubtotal work
Ben Pfaff [Thu, 6 Jan 2022 04:55:45 +0000 (20:55 -0800)]
subtotal and hsubtotal work

2 years agototals can go first as well as last
Ben Pfaff [Tue, 4 Jan 2022 07:04:00 +0000 (23:04 -0800)]
totals can go first as well as last

2 years agoFix output to spv.
Ben Pfaff [Tue, 4 Jan 2022 06:57:39 +0000 (22:57 -0800)]
Fix output to spv.

2 years agonested totals
Ben Pfaff [Tue, 4 Jan 2022 06:55:15 +0000 (22:55 -0800)]
nested totals

2 years agosingle totals work
Ben Pfaff [Tue, 4 Jan 2022 06:52:57 +0000 (22:52 -0800)]
single totals work

2 years agoUnify categories as the "explicit" categories.
Ben Pfaff [Tue, 4 Jan 2022 06:02:08 +0000 (22:02 -0800)]
Unify categories as the "explicit" categories.

2 years agoRename ctables_freq to ctables_cell.
Ben Pfaff [Mon, 3 Jan 2022 01:38:32 +0000 (17:38 -0800)]
Rename ctables_freq to ctables_cell.

2 years agocategory sort implicitly
Ben Pfaff [Sun, 2 Jan 2022 23:07:02 +0000 (15:07 -0800)]
category sort implicitly

2 years agoSorting categories by explicit values.
Ben Pfaff [Sun, 2 Jan 2022 22:40:49 +0000 (14:40 -0800)]
Sorting categories by explicit values.

2 years agocategory filtering works
Ben Pfaff [Sun, 2 Jan 2022 22:31:34 +0000 (14:31 -0800)]
category filtering works

2 years agotable sections exist
Ben Pfaff [Sun, 2 Jan 2022 21:37:44 +0000 (13:37 -0800)]
table sections exist

2 years agodomains work
Ben Pfaff [Sun, 2 Jan 2022 20:49:26 +0000 (12:49 -0800)]
domains work

2 years agosubtables work
Ben Pfaff [Sun, 2 Jan 2022 19:57:59 +0000 (11:57 -0800)]
subtables work

2 years agoCTABLES: Support setting the title, caption, ...
Ben Pfaff [Sun, 2 Jan 2022 03:27:42 +0000 (19:27 -0800)]
CTABLES: Support setting the title, caption, ...

2 years agopivot-table: New functions for setting captions, etc.
Ben Pfaff [Sun, 2 Jan 2022 03:27:31 +0000 (19:27 -0800)]
pivot-table: New functions for setting captions, etc.

2 years agoscale variables work more sanely
Ben Pfaff [Sun, 2 Jan 2022 03:04:45 +0000 (19:04 -0800)]
scale variables work more sanely

2 years agosummaries work
Ben Pfaff [Sun, 2 Jan 2022 01:41:50 +0000 (17:41 -0800)]
summaries work

2 years agodata filled in
Ben Pfaff [Sun, 2 Jan 2022 01:23:38 +0000 (17:23 -0800)]
data filled in

2 years agoaxes marked properly
Ben Pfaff [Sun, 2 Jan 2022 00:47:29 +0000 (16:47 -0800)]
axes marked properly

2 years agotoward better summaries
Ben Pfaff [Sat, 1 Jan 2022 23:47:23 +0000 (15:47 -0800)]
toward better summaries

2 years agodimensions work, except for sumamries
Ben Pfaff [Sat, 1 Jan 2022 22:47:52 +0000 (14:47 -0800)]
dimensions work, except for sumamries

2 years agooutput-item: Fix memory leak in output_item_dump().
Ben Pfaff [Sat, 1 Jan 2022 21:31:39 +0000 (13:31 -0800)]
output-item: Fix memory leak in output_item_dump().

2 years agowork
Ben Pfaff [Sat, 1 Jan 2022 18:09:12 +0000 (10:09 -0800)]
work

2 years agotrack axes
Ben Pfaff [Fri, 31 Dec 2021 20:09:27 +0000 (12:09 -0800)]
track axes

2 years agosome summary functions work
Ben Pfaff [Fri, 31 Dec 2021 05:34:47 +0000 (21:34 -0800)]
some summary functions work

2 years agogive CTABLES its own freq structure
Ben Pfaff [Fri, 31 Dec 2021 00:43:29 +0000 (16:43 -0800)]
give CTABLES its own freq structure

2 years agovlabels works a little
Ben Pfaff [Thu, 30 Dec 2021 23:58:42 +0000 (15:58 -0800)]
vlabels works a little

2 years agoall but last category
Ben Pfaff [Thu, 30 Dec 2021 23:14:15 +0000 (15:14 -0800)]
all but last category

2 years agoSkipping missing values.
Ben Pfaff [Thu, 30 Dec 2021 22:18:45 +0000 (14:18 -0800)]
Skipping missing values.

2 years agoCTABLES basics work
Ben Pfaff [Thu, 30 Dec 2021 21:58:21 +0000 (13:58 -0800)]
CTABLES basics work

2 years agofreqtabs are per-table
Ben Pfaff [Thu, 30 Dec 2021 19:47:17 +0000 (11:47 -0800)]
freqtabs are per-table

2 years agosort the frequency tables
Ben Pfaff [Thu, 30 Dec 2021 19:37:09 +0000 (11:37 -0800)]
sort the frequency tables

2 years agonow builds frequency tables
Ben Pfaff [Wed, 29 Dec 2021 22:46:47 +0000 (14:46 -0800)]
now builds frequency tables

2 years agofigure out frequency table structure
Ben Pfaff [Wed, 29 Dec 2021 19:57:06 +0000 (11:57 -0800)]
figure out frequency table structure

2 years agomore work
Ben Pfaff [Tue, 28 Dec 2021 05:03:13 +0000 (21:03 -0800)]
more work

2 years agomore validation
Ben Pfaff [Tue, 28 Dec 2021 02:43:03 +0000 (18:43 -0800)]
more validation

2 years agostart validating
Ben Pfaff [Tue, 28 Dec 2021 01:51:33 +0000 (17:51 -0800)]
start validating

2 years agowork on CTABLES
Ben Pfaff [Mon, 27 Dec 2021 00:01:47 +0000 (16:01 -0800)]
work on CTABLES

2 years agopo: Update Ukrainian translation from translationproject.org.
Ben Pfaff [Fri, 1 Apr 2022 16:14:34 +0000 (09:14 -0700)]
po: Update Ukrainian translation from translationproject.org.

Thanks to Yuri Chornoivan for translating.

2 years agoRelease version 1.5.4.
Ben Pfaff [Fri, 1 Apr 2022 02:57:39 +0000 (19:57 -0700)]
Release version 1.5.4.

2 years agosys-file-encoding: Clean up .c file on distclean.
Ben Pfaff [Fri, 1 Apr 2022 02:57:09 +0000 (19:57 -0700)]
sys-file-encoding: Clean up .c file on distclean.

Found by "make distcheck".

2 years agoicons: Fix uninstall.
Ben Pfaff [Fri, 1 Apr 2022 01:52:42 +0000 (18:52 -0700)]
icons: Fix uninstall.

The uninstall target for the icons looked for filenames that began with
"pspp", but the new names for the application icons don't start that way.

Fixes: 25e030629aed ("Rename icon files to match full application ID.")
2 years agobug #62189: Fixed clipped numbers in histogram legend
Friedrich Beckmann [Fri, 18 Mar 2022 23:11:05 +0000 (00:11 +0100)]
bug #62189: Fixed clipped numbers in histogram legend

I modified the legend rendering to avoid the clipping of mean and
standard deviation in the legend of the histogram plot. In addition
I changed the number print format to also show reasonable numbers
for small values.

fixed: https://savannah.gnu.org/bugs/index.php?62198

2 years agoWindows: Native build failed due to missing gnulib dependencies
Friedrich Beckmann [Fri, 18 Mar 2022 15:31:23 +0000 (15:31 +0000)]
Windows: Native build failed due to missing gnulib dependencies

The windows build failed because the gnulib header files were not
build before the compilation of c files for the native build.
The gnulib headers are
listed in the BUILT_SOURCES but that must be the first dependency
before the object files belonging to the executable. This is the
case for the default make target but not for an individual
executable like src/ui/terminal/pspp. I adapted the make file
to use the default make target.
See: https://www.gnu.org/software/automake/manual/html_node/Sources.html

2 years agoWindows build: Adapted icon names to org.fsf.pspp naming
Friedrich Beckmann [Fri, 18 Mar 2022 15:28:03 +0000 (15:28 +0000)]
Windows build: Adapted icon names to org.fsf.pspp naming

Ben changed the icon names to a naming scheme using org.fsf.xxx
The changes were missing in the windows build resulting in a
build failure for the windows target.

2 years agosvg2png: Use rsvg-convert if GIMP is not available.
Ben Pfaff [Mon, 14 Mar 2022 23:47:53 +0000 (16:47 -0700)]
svg2png: Use rsvg-convert if GIMP is not available.

The GNOME flatpak SDK has rsvg-convert, which does just fine, but not GIMP,
and I have no interest in building GIMP as a step in building PSPP.

2 years agoRename pspp.xml to org.fsf.pspp.xml.
Ben Pfaff [Mon, 14 Mar 2022 21:38:48 +0000 (14:38 -0700)]
Rename pspp.xml to org.fsf.pspp.xml.

This reflects the convention expected by flatpak and seems to reflect the
overall expected convention.

2 years agoRename icon files to match full application ID.
Ben Pfaff [Mon, 14 Mar 2022 21:37:37 +0000 (14:37 -0700)]
Rename icon files to match full application ID.

This seems to be the convention.  It makes building a flatpak easier.

2 years agoorg.fsf.pspp.metainfo.xml.in: Fix release dates.
Ben Pfaff [Mon, 14 Mar 2022 20:20:15 +0000 (13:20 -0700)]
org.fsf.pspp.metainfo.xml.in: Fix release dates.

These dates were in YYYY-DD-MM format, but they should be ISO 8601
compliant YYYY-MM-DD format.

2 years agoconfigure: Also support gtksourceview 4.x.
Ben Pfaff [Mon, 14 Mar 2022 18:51:46 +0000 (11:51 -0700)]
configure: Also support gtksourceview 4.x.

This doesn't require any source code changes because 4.x and 3.x are
source compatible for our purposes.

2 years agoMakefile: Fix running "make dist" before "make all".
Ben Pfaff [Sun, 13 Mar 2022 20:33:51 +0000 (13:33 -0700)]
Makefile: Fix running "make dist" before "make all".

Otherwise, there's a race between generating and using config.h, which
causes build failures.  This happens particularly with the PSPP autobuilder.

2 years agoSwitch from recursive to non-recursive use of Gnulib.
Ben Pfaff [Sun, 13 Mar 2022 19:34:36 +0000 (12:34 -0700)]
Switch from recursive to non-recursive use of Gnulib.

This allows for better use of dependencies in Makefiles.  It causes a new
warning from Automake, which I hope to fix through a change to Gnulib
sometime soon.  I'm consulting the other Gnulib maintainers on that:
https://lists.gnu.org/archive/html/bug-gnulib/2022-03/msg00044.html

2 years agoGnulib needs Automake 1.14 or later.
Ben Pfaff [Sun, 13 Mar 2022 19:12:53 +0000 (12:12 -0700)]
Gnulib needs Automake 1.14 or later.

2 years agotests: Update testsuite results to accomodate new Gnulib.
Ben Pfaff [Sun, 13 Mar 2022 18:41:50 +0000 (11:41 -0700)]
tests: Update testsuite results to accomodate new Gnulib.

It seems that libunistring now does line wrapping slightly differently,
perhaps due to Unicode updates.

2 years agoUpdate to newest gnulib.
Ben Pfaff [Sun, 13 Mar 2022 18:32:58 +0000 (11:32 -0700)]
Update to newest gnulib.

This required a dependency on Automake 1.11 or later.  It also required
dropping C2x compatibility warnings because Gnulib now triggers them.  The
Gnulib tempname module requires linking against $(LIB_GETRANDOM), so this
adds that in each case where the build links against libgl.

2 years agospv-light-decoder: Avoid GCC 11.x warning in decode_spvlb_halign().
Ben Pfaff [Sun, 13 Mar 2022 18:30:49 +0000 (11:30 -0700)]
spv-light-decoder: Avoid GCC 11.x warning in decode_spvlb_halign().

It seems to be wrong, but GCC can't tell and it's hard to blame it.