Skip to content

Commit f2c3cf4

Browse files
authored
Merge branch 'master' into doc
2 parents 51339cc + 8723378 commit f2c3cf4

304 files changed

Lines changed: 18384 additions & 9542 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/msolve.yml

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,26 @@ jobs:
3232
- name: autogen
3333
run: ./autogen.sh
3434
- name: configure
35-
run: ./configure
35+
run: |
36+
if [ "$RUNNER_OS" == "Linux" ]; then
37+
./configure
38+
elif [ "$RUNNER_OS" == "macOS" ]; then
39+
./configure LDFLAGS="-L$(brew --prefix)/lib/" CFLAGS="-g -O2 -I$(brew --prefix)/include/"
40+
else
41+
echo "$RUNNER_OS not supported"
42+
exit 1
43+
fi
3644
- name: make
3745
run: make
3846
- name: make check
3947
run: make check
4048
- name: make distcheck
41-
run: make distcheck
49+
run: |
50+
if [ "$RUNNER_OS" == "Linux" ]; then
51+
make distcheck
52+
elif [ "$RUNNER_OS" == "macOS" ]; then
53+
make distcheck LDFLAGS="-L$(brew --prefix)/lib/" CFLAGS="-g -O2 -I$(brew --prefix)/include/"
54+
else
55+
echo "$RUNNER_OS not supported"
56+
exit 1
57+
fi

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
*.so
44
*.lo
55
*.la
6+
*.log
7+
*.trs
68
*~
79
*.libs
810
*.in
@@ -31,4 +33,5 @@ libtool
3133
ltmain.sh
3234
missing
3335
stamp-h1
36+
msolve.pc
3437
/msolve

INSTALL

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,30 @@ You will need to have autotools installed on your system.
44
1. Run `./autogen.sh` which generates configure and the Makefiles.
55
2. Run `./configure` (possibly with options, see `./configure -h` for
66
more information).
7-
3. Run make (possibly with CFLAGS and LDFLAGS adjusted).
8-
4. Run `make install` in order to globally install the library and the binary
7+
3. Run `make` (possibly with CFLAGS and LDFLAGS adjusted).
8+
4. Run `make check`.
9+
5. Run `make install` in order to globally install the library and the binary
910
of msolve.
1011

11-
If you are working on a distriubtion (downloaded *.tar.gz)
12+
If you are working on a distribution (downloaded *.tar.gz)
1213
==========================================================
13-
1. Run ./configure (possibly with options, see ./configure -h for more
14+
1. Run `./configure` (possibly with options, see `./configure -help` for more
1415
information).
1516
2. Run `make` (possibly with CFLAGS and LDFLAGS adjusted).
16-
3. Run `make install` in order to globally install the library and the binary
17+
3. Run `make check`.
18+
4. Run `make install` in order to globally install the library and the binary
1719
of msolve.
1820

1921
NOTE TO MAC OS users
2022
====================
21-
You need to proceed slightly differently by modifying the `Makefile` file as follows
23+
To build a static binary file, you may need to run `./configure --enable-static`.
24+
25+
You may also need to proceed slightly differently by modifying the `Makefile` file as follows
2226
- add to the `LIBS` variable the `-fopenmp` option
2327
```
2428
LIBS = -lflint -lmpfr -lgmp -lm -fopenmp
2529
```
26-
- change the `CC` variable to your actual `gcc` compiler
30+
- change the `CC` variable to your actual `gcc` compiler, e.g.
2731
```
2832
CC = gcc-11
2933
```
@@ -35,4 +39,4 @@ Run `make dist`.
3539

3640
If you want to generate a static binary
3741
=======================================
38-
Add `-all-static` to your LDFLAGS as follows `make LDFLAGS="all-static"`.
42+
Add `-all-static` to your LDFLAGS as follows `make LDFLAGS="-all-static"`.

Makefile.am

Lines changed: 60 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
AUTOMAKE_OPTIONS = color-tests
2-
SUBDIRS = src/usolve src/fglm src/neogb src/msolve/
3-
EXTRA_DIST = $(srcdir)/test/input_files
2+
SUBDIRS = src/usolve src/fglm src/neogb src/msolve
43

54
AM_CFLAGS = $(SIMD_FLAGS) $(CPUEXT_FLAGS) $(OPENMP_CFLAGS)
65
LDADD = src/neogb/libneogb.la src/fglm/libfglm.la src/usolve/libusolve.la
@@ -11,12 +10,69 @@ msolve_SOURCES = src/msolve/main.c
1110
check_PROGRAMS = neogb_io \
1211
fglm_build_matrixn_radical_shape-31 \
1312
fglm_build_matrixn_nonradical_shape-31 \
14-
fglm_build_matrixn_nonradical_radicalshape-31
13+
fglm_build_matrixn_nonradical_radicalshape-31 \
14+
line_endings_support
15+
16+
checkdiff = test/diff/diff_cp_d_3_n_4_p_2.sh \
17+
test/diff/diff_cyclic5-16.sh \
18+
test/diff/diff_cyclic5-31.sh \
19+
test/diff/diff_cyclic5-qq.sh \
20+
test/diff/diff_eco6-16.sh \
21+
test/diff/diff_eco6-31.sh \
22+
test/diff/diff_eco6-qq.sh \
23+
test/diff/diff_groebner-g2.sh \
24+
test/diff/diff_henrion5-qq.sh \
25+
test/diff/diff_eco10-31.sh \
26+
test/diff/diff_truncate_gb.sh \
27+
test/diff/diff_elim-31.sh \
28+
test/diff/diff_elim-qq.sh \
29+
test/diff/diff_F4SAT-31.sh \
30+
test/diff/diff_F4SAT-byone-31.sh \
31+
test/diff/diff_kat6-31.sh \
32+
test/diff/diff_kat7-qq.sh \
33+
test/diff/diff_multy-16.sh \
34+
test/diff/diff_multy-31.sh \
35+
test/diff/diff_multy-qq.sh \
36+
test/diff/diff_nonradical_shape-qq.sh \
37+
test/diff/diff_nonradical_radicalshape-qq.sh \
38+
test/diff/diff_nonradical_radicalshape-no-square-31.sh \
39+
test/diff/diff_nonradical_radicalshape-no-square-qq.sh \
40+
test/diff/diff_one-16.sh \
41+
test/diff/diff_one-31.sh \
42+
test/diff/diff_one-qq.sh \
43+
test/diff/diff_radical_shape-31.sh \
44+
test/diff/diff_radical_shape-qq.sh \
45+
test/diff/diff_realroot-extraction-exact-root.sh \
46+
test/diff/diff_reals_dim0.sh \
47+
test/diff/diff_realroot1.sh \
48+
test/diff/diff_reals_dim0-chgvar.sh \
49+
test/diff/diff_reals_dim0-extract.sh \
50+
test/diff/diff_reals_dim0-swapvar.sh \
51+
test/diff/diff_bug_empty_tracer.sh \
52+
test/diff/diff_bug_2nd_prime_bad.sh \
53+
test/diff/diff_bug_68.sh \
54+
test/diff/diff_mq_2_1.sh \
55+
test/diff/diff_xy-qq.sh \
56+
test/diff/diff_test-lifting2.sh \
57+
test/diff/diff_linear-qq.sh \
58+
test/diff/diff_input-overflow-16.sh \
59+
test/diff/diff_nf_8.sh \
60+
test/diff/diff_nf_16.sh \
61+
test/diff/diff_nf_31.sh \
62+
test/diff/diff_nf_lm_bug.sh \
63+
test/diff/diff_f4sat-field-char.sh \
64+
test/diff/diff_f4sat-zero-input.sh \
65+
test/diff/diff_f4sat-is-saturated-check.sh \
66+
test/diff/diff_maxbitsize-bug.sh
67+
1568
# dist_check_DATA = test/input_files
1669
neogb_io_SOURCES = test/neogb/io/validate_input_data.c
1770
fglm_build_matrixn_radical_shape_31_SOURCES = test/fglm/build_matrixn_radical_shape-31.c
1871
fglm_build_matrixn_nonradical_shape_31_SOURCES = test/fglm/build_matrixn_nonradical_shape-31.c
1972
fglm_build_matrixn_nonradical_radicalshape_31_SOURCES = test/fglm/build_matrixn_nonradical_radicalshape-31.c
73+
line_endings_support_SOURCES = test/msolve/line_endings_support.c
2074

75+
TESTS = $(check_PROGRAMS) $(checkdiff)
2176

22-
TESTS = $(check_PROGRAMS)
77+
pkgconfigdir = $(libdir)/pkgconfig
78+
pkgconfig_DATA = msolve.pc

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ Polynomials may be multiline, thus `,` as a separator.
4949

5050
Coefficients can be rational, using `/`, e.g. `-2/3*x2*y1^2+...`.
5151

52+
In each polynomial, a single occurrence of each monomial is expected; the
53+
behaviour of msolve's parser is undefined if some monomial is repeated, as in
54+
`x1+x2+x3+x4-x1`.
55+
5256
# Basic usage
5357

5458
Some basic commands are as follows:

0 commit comments

Comments
 (0)