From 3f0510629e422e979b57d3f93791937912a4183a Mon Sep 17 00:00:00 2001 From: Ian Jauslin Date: Tue, 14 Jun 2022 09:26:07 +0200 Subject: [PATCH] Update to v1.5. The update to version 1.5 is rather substantial, and introduces some minor backward-incompatibilities: * The header "#!symbols" has been replaced by "#!virtual_fields" * Multiplying polynomials using the '*' symbol is no longer supported (or, rather, the symbolic capabilities of meankondo were enhanced, and the syntax has been changed). * 'meantools exp' has been removed (its functionality is now handled by other means) * 'meantoolds derive' has been replaced by 'meantools differentiate' * The symbolic capabilities were enhanced: polynomials can now be multiplied, added, exponentiated, and their logarithms can be taken directly in the configuration file. * The flow equation can now be processed after being computed using the various "#!postprocess_*" entries. * Deprecated kondo_preprocess. * Compute the mean using an LU decomposition if possible. * More detailed checks for syntax errors in configuration file. * Check that different '#!group' entries are indeed uncorrelated. * New flags in meankondo: '-p' and '-A'. * New tool: meantools expand. * Improve conversion to LaTeX using meantools-convert * Assign terms randomly to different threads. * Created vim files to implement syntax highlighting for configuration files. * Multiple bug fixes --- Changelog | 39 ++ Makefile | 8 +- doc/meankondo-doc.html | 64 +- editors/vim/ftdetect/meankondo.vim | 7 + editors/vim/ftplugin/meankondo.vim | 8 + editors/vim/syntax/meankondo.vim | 111 +++ man/kondo_preprocess.1 | 35 +- man/meankondo.1 | 185 +++-- man/meantools-convert.1 | 14 +- man/meantools.1 | 107 +-- man/numkondo.1 | 14 +- scripts/config_functions.sh | 2 +- scripts/meantools-convert | 16 +- src/array.c | 69 +- src/array.h | 14 +- src/cli_parser.c | 22 +- src/cli_parser.h | 4 +- src/coefficient.c | 245 ++++++- src/coefficient.h | 12 +- src/definitions.cpp | 10 +- src/determinant.c | 93 +++ src/determinant.h | 17 + src/expansions.c | 28 - src/expansions.h | 34 - src/fields.c | 273 ++++++-- src/fields.h | 58 +- src/flow.c | 73 +- src/flow.h | 4 +- src/flow_mpfr.c | 63 +- src/flow_mpfr.h | 4 +- src/grouped_polynomial.c | 138 +++- src/grouped_polynomial.h | 10 +- src/idtable.c | 2 +- src/idtable.h | 2 +- src/istring.c | 2 +- src/istring.h | 2 +- src/kondo.c | 69 +- src/kondo.h | 14 +- src/kondo_preprocess.c | 7 +- src/mean.c | 141 +++- src/mean.h | 20 +- src/meankondo.c | 213 ++++-- src/meantools.c | 29 +- src/meantools_deriv.c | 14 +- src/meantools_deriv.h | 4 +- src/meantools_eval.c | 6 +- src/meantools_eval.h | 2 +- src/meantools_exp.c | 130 ---- src/meantools_expand.c | 166 +++++ src/{meantools_exp.h => meantools_expand.h} | 14 +- src/number.c | 223 ++++-- src/number.h | 15 +- src/numkondo.c | 27 +- src/parse_file.c | 717 +++++++++++++++++--- src/parse_file.h | 31 +- src/polynomial.c | 77 ++- src/polynomial.h | 12 +- src/rational.h | 2 +- src/rational_float.c | 2 +- src/rational_float.h | 2 +- src/rational_int.c | 22 +- src/rational_int.h | 2 +- src/rcc.c | 9 +- src/rcc.h | 3 +- src/rcc_mpfr.c | 9 +- src/rcc_mpfr.h | 3 +- src/symbolic_parser.c | 330 +++++++++ src/symbolic_parser.h | 42 ++ src/tools.c | 12 +- src/tools.h | 5 +- src/tree.c | 117 ++++ src/tree.h | 48 ++ src/types.h | 34 +- 73 files changed, 3510 insertions(+), 852 deletions(-) create mode 100644 editors/vim/ftdetect/meankondo.vim create mode 100644 editors/vim/ftplugin/meankondo.vim create mode 100644 editors/vim/syntax/meankondo.vim create mode 100644 src/determinant.c create mode 100644 src/determinant.h delete mode 100644 src/expansions.c delete mode 100644 src/expansions.h delete mode 100644 src/meantools_exp.c create mode 100644 src/meantools_expand.c rename src/{meantools_exp.h => meantools_expand.h} (67%) create mode 100644 src/symbolic_parser.c create mode 100644 src/symbolic_parser.h create mode 100644 src/tree.c create mode 100644 src/tree.h diff --git a/Changelog b/Changelog index 2fed1bf..854072a 100644 --- a/Changelog +++ b/Changelog @@ -1,3 +1,42 @@ +1.5: + The update to version 1.5 is rather substantial, and introduces some minor + backward-incompatibilities: + * The header "#!symbols" has been replaced by "#!virtual_fields" + * Multiplying polynomials using the '*' symbol is no longer supported (or, + rather, the symbolic capabilities of meankondo were enhanced, and the + syntax has been changed). + * 'meantools exp' has been removed (its functionality is now handled by + other means) + * 'meantoolds derive' has been replaced by 'meantools differentiate' + + * The symbolic capabilities were enhanced: polynomials can now be + multiplied, added, exponentiated, and their logarithms can be taken + directly in the configuration file. + + * The flow equation can now be processed after being computed using the + various "#!postprocess_*" entries. + + * Deprecated kondo_preprocess. + + * Compute the mean using an LU decomposition if possible. + + * More detailed checks for syntax errors in configuration file. + + * Check that different '#!group' entries are indeed uncorrelated. + + * New flags in meankondo: '-p' and '-A'. + + * New tool: meantools expand. + + * Improve conversion to LaTeX using meantools-convert + + * Assign terms randomly to different threads. + + * Created vim files to implement syntax highlighting for configuration + files. + + * Multiple bug fixes + 1.4: * Support MPFR floats in numkondo. diff --git a/Makefile b/Makefile index d0cd377..5b8c998 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -## Copyright 2015 Ian Jauslin +## Copyright 2015-2022 Ian Jauslin ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. @@ -62,10 +62,10 @@ SRCDIR=./src OBJDIR=./objs # objects -LIBKONDO_OBJS = $(addprefix $(OBJDIR)/,array.o cli_parser.o coefficient.o fields.o grouped_polynomial.o idtable.o istring.o number.o parse_file.o polynomial.o rational_float.o rational_int.o rcc.o rcc_mpfr.o tools.o) -MEANKONDO_OBJS = $(addprefix $(OBJDIR)/,meankondo.o mean.o) +LIBKONDO_OBJS = $(addprefix $(OBJDIR)/,array.o cli_parser.o coefficient.o fields.o grouped_polynomial.o idtable.o istring.o number.o parse_file.o polynomial.o rational_float.o rational_int.o rcc.o rcc_mpfr.o symbolic_parser.o tree.o tools.o) +MEANKONDO_OBJS = $(addprefix $(OBJDIR)/,meankondo.o determinant.o mean.o) NUMKONDO_OBJS = $(addprefix $(OBJDIR)/,numkondo.o flow.o flow_mpfr.o) -MEANTOOLS_OBJS = $(addprefix $(OBJDIR)/,meantools.o meantools_exp.o meantools_deriv.o meantools_eval.o) +MEANTOOLS_OBJS = $(addprefix $(OBJDIR)/,meantools.o meantools_deriv.o meantools_eval.o meantools_expand.o) KONDO_PP_OBJS = $(addprefix $(OBJDIR)/,kondo_preprocess.o kondo.o) diff --git a/doc/meankondo-doc.html b/doc/meankondo-doc.html index 7074b56..75c9583 100644 --- a/doc/meankondo-doc.html +++ b/doc/meankondo-doc.html @@ -1,7 +1,7 @@ - - + +