passagemath-gap-pkg-normalizinterface 10.6.23__cp311-cp311-macosx_13_0_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of passagemath-gap-pkg-normalizinterface might be problematic. Click here for more details.
- gap/pkg/normalizinterface/CHANGES +102 -0
- gap/pkg/normalizinterface/LICENSE +351 -0
- gap/pkg/normalizinterface/Makefile +19 -0
- gap/pkg/normalizinterface/Makefile.gappkg +220 -0
- gap/pkg/normalizinterface/Makefile.in +19 -0
- gap/pkg/normalizinterface/PackageInfo.g +122 -0
- gap/pkg/normalizinterface/README.md +96 -0
- gap/pkg/normalizinterface/autogen.sh +5 -0
- gap/pkg/normalizinterface/bin/x86_64-apple-darwin22-default64-kv9/NormalizInterface.so +0 -0
- gap/pkg/normalizinterface/config.log +337 -0
- gap/pkg/normalizinterface/config.status +897 -0
- gap/pkg/normalizinterface/configure +5163 -0
- gap/pkg/normalizinterface/configure.ac +115 -0
- gap/pkg/normalizinterface/etc/download.sh +85 -0
- gap/pkg/normalizinterface/etc/generate_cone_property_wrappers.g +380 -0
- gap/pkg/normalizinterface/examples/5x5.g +22 -0
- gap/pkg/normalizinterface/examples/demo.g +53 -0
- gap/pkg/normalizinterface/examples/docs.g +43 -0
- gap/pkg/normalizinterface/examples/dual_mode.g +26 -0
- gap/pkg/normalizinterface/examples/magic_square.g +36 -0
- gap/pkg/normalizinterface/init.g +7 -0
- gap/pkg/normalizinterface/lib/cone_property_wrappers.gd +682 -0
- gap/pkg/normalizinterface/lib/cone_property_wrappers.gi +132 -0
- gap/pkg/normalizinterface/lib/normaliz.gd +158 -0
- gap/pkg/normalizinterface/lib/normaliz.gi +153 -0
- gap/pkg/normalizinterface/makedoc.g +13 -0
- gap/pkg/normalizinterface/read.g +3 -0
- gap/pkg/normalizinterface/tst/InhomIneq.tst +20 -0
- gap/pkg/normalizinterface/tst/bugfix.tst +37 -0
- gap/pkg/normalizinterface/tst/conversion.tst +87 -0
- gap/pkg/normalizinterface/tst/cube-incidence.tst +62 -0
- gap/pkg/normalizinterface/tst/descent.tst +173 -0
- gap/pkg/normalizinterface/tst/dual.tst +533 -0
- gap/pkg/normalizinterface/tst/fractions.tst +29 -0
- gap/pkg/normalizinterface/tst/gorenstein.tst +22 -0
- gap/pkg/normalizinterface/tst/lattice_ideal.tst +147 -0
- gap/pkg/normalizinterface/tst/normalizinterface01.tst +46 -0
- gap/pkg/normalizinterface/tst/normalizinterface02.tst +107 -0
- gap/pkg/normalizinterface/tst/project.tst +136 -0
- gap/pkg/normalizinterface/tst/rational.tst +151 -0
- gap/pkg/normalizinterface/tst/rees.tst +544 -0
- gap/pkg/normalizinterface/tst/rp2poly.tst +351 -0
- gap/pkg/normalizinterface/tst/rproj2.tst +548 -0
- gap/pkg/normalizinterface/tst/testall.g +3 -0
- gap/pkg/normalizinterface/tst/verticesfloat.tst +11 -0
- passagemath_gap_pkg_normalizinterface-10.6.23.dist-info/METADATA +92 -0
- passagemath_gap_pkg_normalizinterface-10.6.23.dist-info/METADATA.bak +93 -0
- passagemath_gap_pkg_normalizinterface-10.6.23.dist-info/RECORD +60 -0
- passagemath_gap_pkg_normalizinterface-10.6.23.dist-info/WHEEL +6 -0
- passagemath_gap_pkg_normalizinterface-10.6.23.dist-info/top_level.txt +1 -0
- passagemath_gap_pkg_normalizinterface.dylibs/libeantic.3.dylib +0 -0
- passagemath_gap_pkg_normalizinterface.dylibs/libeanticxx.3.dylib +0 -0
- passagemath_gap_pkg_normalizinterface.dylibs/libflint.21.0.dylib +0 -0
- passagemath_gap_pkg_normalizinterface.dylibs/libgmp.10.dylib +0 -0
- passagemath_gap_pkg_normalizinterface.dylibs/libgmpxx.4.dylib +0 -0
- passagemath_gap_pkg_normalizinterface.dylibs/libmpfr.6.dylib +0 -0
- passagemath_gap_pkg_normalizinterface.dylibs/libnormaliz.3.dylib +0 -0
- sage/all__sagemath_gap_pkg_normalizinterface.py +1 -0
- sage/libs/all__sagemath_gap_pkg_normalizinterface.py +1 -0
- sage/libs/gap_pkg_normalizinterface.cpython-311-darwin.so +0 -0
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
########################################################################
|
|
2
|
+
#
|
|
3
|
+
# The build rules in this file are intended for use by GAP packages that
|
|
4
|
+
# want to build a simple GAP kernel extensions. They are based on the
|
|
5
|
+
# GAP build system, and require GNU make. To use this in your GAP
|
|
6
|
+
# package, `include` this file from your primary Makefile. You must also
|
|
7
|
+
# set several variables beforehand:
|
|
8
|
+
#
|
|
9
|
+
# - GAPPATH must be set to the location of the GAP installation against
|
|
10
|
+
# which to build your package.
|
|
11
|
+
# - KEXT_NAME should be the name of your kernel extension (without
|
|
12
|
+
# file extensions like .so or .dll)
|
|
13
|
+
# - KEXT_SOURCES must contain a list of .c or .cc files to be linked
|
|
14
|
+
# into your kernel extension
|
|
15
|
+
# - optionally, you can set KEXT_CFLAGS, KEXT_CXXFLAGS, KEXT_LDFLAGS
|
|
16
|
+
# - if you are using autoconf to produce your configure script, set
|
|
17
|
+
# KEXT_USE_AUTOCONF to 1 to enable dependency rules that enable
|
|
18
|
+
# regenerating the configure script etc. when necessary
|
|
19
|
+
#
|
|
20
|
+
# The contents of this file are released into the public domain; hence
|
|
21
|
+
# you may edit this file as you wish, bundle and distribute it with your
|
|
22
|
+
# package, etc.
|
|
23
|
+
#
|
|
24
|
+
# If you bundle this file with your package, please try not to edit it,
|
|
25
|
+
# so that we can keep it identical across all GAP packages. Instead, if
|
|
26
|
+
# you find that you must edit it, please submit your changes back to
|
|
27
|
+
# the GAP team, so that a future version of this file can be adjusted
|
|
28
|
+
# to cover your usecase without modifications, thus ensuring you can
|
|
29
|
+
# always easily update to newer version of it.
|
|
30
|
+
#
|
|
31
|
+
########################################################################
|
|
32
|
+
|
|
33
|
+
# read GAP's build settings
|
|
34
|
+
include $(GAPPATH)/sysinfo.gap
|
|
35
|
+
|
|
36
|
+
# hack to support GAP <= 4.9
|
|
37
|
+
ifndef GAP_KERNEL_MAJOR_VERSION
|
|
38
|
+
KEXT_CFLAGS += -I$(GAP_LIB_DIR)/src
|
|
39
|
+
KEXT_CXXFLAGS += -I$(GAP_LIB_DIR)/src
|
|
40
|
+
endif
|
|
41
|
+
|
|
42
|
+
# honor user supplied flags
|
|
43
|
+
KEXT_CFLAGS += $(CPPFLAGS)
|
|
44
|
+
KEXT_CFLAGS += $(CFLAGS)
|
|
45
|
+
KEXT_CXXFLAGS += $(CPPFLAGS)
|
|
46
|
+
KEXT_CXXFLAGS += $(CXXFLAGS)
|
|
47
|
+
KEXT_LDFLAGS += $(LDFLAGS)
|
|
48
|
+
|
|
49
|
+
# various derived settings
|
|
50
|
+
KEXT_BINARCHDIR = bin/$(GAParch)
|
|
51
|
+
KEXT_SO = $(KEXT_BINARCHDIR)/$(KEXT_NAME).so
|
|
52
|
+
|
|
53
|
+
# the following settings are provided by sysinfo.gap in GAP >= 4.12;
|
|
54
|
+
# for compatibility with older GAP version (at least 4.9, 4.10, 4.11)
|
|
55
|
+
# we try to "guess" suitable values here
|
|
56
|
+
GAP ?= $(GAPPATH)/gap
|
|
57
|
+
GAC ?= $(GAPPATH)/gac
|
|
58
|
+
GAP_OBJEXT ?= lo
|
|
59
|
+
|
|
60
|
+
# override KEXT_RECONF if your package needs a different invocation
|
|
61
|
+
# for reconfiguring (e.g. `./config.status --recheck` for autoconf)
|
|
62
|
+
ifdef KEXT_USE_AUTOCONF
|
|
63
|
+
KEXT_RECONF ?= ./config.status Makefile
|
|
64
|
+
else
|
|
65
|
+
KEXT_RECONF ?= ./configure "$(GAPPATH)"
|
|
66
|
+
endif
|
|
67
|
+
|
|
68
|
+
# default target
|
|
69
|
+
all: $(KEXT_SO)
|
|
70
|
+
.PHONY: all
|
|
71
|
+
|
|
72
|
+
########################################################################
|
|
73
|
+
# Object files
|
|
74
|
+
# For each file FOO.c in SOURCES, add gen/FOO.$(GAP_OBJEXT) to KEXT_OBJS
|
|
75
|
+
# and similar for .cc files
|
|
76
|
+
########################################################################
|
|
77
|
+
KEXT_OBJS = $(patsubst %.s,gen/%.$(GAP_OBJEXT), \
|
|
78
|
+
$(patsubst %.cc,gen/%.$(GAP_OBJEXT), \
|
|
79
|
+
$(patsubst %.c,gen/%.$(GAP_OBJEXT), \
|
|
80
|
+
$(KEXT_SOURCES))))
|
|
81
|
+
|
|
82
|
+
########################################################################
|
|
83
|
+
# Quiet rules.
|
|
84
|
+
#
|
|
85
|
+
# Replace regular output with quiet messages, unless V is set,
|
|
86
|
+
# e.g. "make V=1"
|
|
87
|
+
########################################################################
|
|
88
|
+
ifneq ($(findstring $(MAKEFLAGS),s),s)
|
|
89
|
+
ifndef V
|
|
90
|
+
QUIET_GAC = @echo " GAC $< => $@";>/dev/null # keep the trailing space!
|
|
91
|
+
endif
|
|
92
|
+
endif
|
|
93
|
+
|
|
94
|
+
########################################################################
|
|
95
|
+
# Rules for automatic header dependency tracking.
|
|
96
|
+
# This is based on the GAP build system.
|
|
97
|
+
########################################################################
|
|
98
|
+
|
|
99
|
+
# List of all (potential) dependency files, derived from KEXT_OBJS
|
|
100
|
+
KEXT_DEPFILES = $(patsubst %.$(GAP_OBJEXT),%.d,$(KEXT_OBJS))
|
|
101
|
+
|
|
102
|
+
# Include the dependency tracking files
|
|
103
|
+
-include $(KEXT_DEPFILES)
|
|
104
|
+
|
|
105
|
+
# Mark *.d files as PHONY. This stops make from trying to recreate them
|
|
106
|
+
# (which it can't), and in particular from looking for potential source
|
|
107
|
+
# files. This can save quite a bit of disk access time.
|
|
108
|
+
.PHONY: $(KEXT_DEPFILES)
|
|
109
|
+
|
|
110
|
+
# The following flags instruct the compiler to enable advanced
|
|
111
|
+
# dependency tracking. Supported by GCC 3 and newer; clang; Intel C
|
|
112
|
+
# compiler; and more.
|
|
113
|
+
KEXT_DEPFLAGS = -MQ "$@" -MMD -MP -MF $(@D)/$(*F).d
|
|
114
|
+
|
|
115
|
+
# build rule for C code
|
|
116
|
+
# The dependency on Makefile ensures that re-running configure recompiles everything
|
|
117
|
+
gen/%.$(GAP_OBJEXT): %.c Makefile
|
|
118
|
+
@mkdir -p $(@D)
|
|
119
|
+
$(QUIET_GAC)$(GAC) -d -p "$(KEXT_DEPFLAGS)" -p "$(KEXT_CFLAGS)" -c $< -o $@
|
|
120
|
+
|
|
121
|
+
# build rule for C++ code
|
|
122
|
+
# The dependency on Makefile ensures that re-running configure recompiles everything
|
|
123
|
+
gen/%.$(GAP_OBJEXT): %.cc Makefile
|
|
124
|
+
@mkdir -p $(@D)
|
|
125
|
+
$(QUIET_GAC)$(GAC) -d -p "$(KEXT_DEPFLAGS)" -p "$(KEXT_CXXFLAGS)" -c $< -o $@
|
|
126
|
+
|
|
127
|
+
# build rule for assembler code
|
|
128
|
+
# The dependency on Makefile ensures that re-running configure recompiles everything
|
|
129
|
+
gen/%.$(GAP_OBJEXT): %.s Makefile
|
|
130
|
+
@mkdir -p $(@D)
|
|
131
|
+
$(QUIET_GAC)$(GAC) -d -p "$(KEXT_DEPFLAGS)" -p "$(KEXT_CFLAGS)" -c $< -o $@
|
|
132
|
+
|
|
133
|
+
# build rule for linking all object files together into a kernel extension
|
|
134
|
+
$(KEXT_SO): $(KEXT_OBJS)
|
|
135
|
+
@mkdir -p $(@D)
|
|
136
|
+
$(QUIET_GAC)$(GAC) -d -p "$(KEXT_DEPFLAGS)" -P "$(KEXT_LDFLAGS)" $(KEXT_OBJS) -o $@
|
|
137
|
+
|
|
138
|
+
# hook into `make clean`
|
|
139
|
+
clean: clean-kext
|
|
140
|
+
clean-kext:
|
|
141
|
+
rm -rf $(KEXT_BINARCHDIR) gen
|
|
142
|
+
|
|
143
|
+
# hook into `make distclean`
|
|
144
|
+
distclean: distclean-kext
|
|
145
|
+
distclean-kext:
|
|
146
|
+
rm -rf bin gen Makefile
|
|
147
|
+
rm -rf doc/_*.xml
|
|
148
|
+
rm -rf doc/*.aux doc/*.bbl doc/*.blg doc/*.brf doc/*.idx doc/*.idx
|
|
149
|
+
rm -rf doc/*.ilg doc/*.ind doc/*.log doc/*.out doc/*.pnr doc/*.toc
|
|
150
|
+
|
|
151
|
+
# hook into `make doc`
|
|
152
|
+
doc: doc-kext
|
|
153
|
+
doc-kext:
|
|
154
|
+
$(GAP) --quitonbreak -b -q < makedoc.g
|
|
155
|
+
|
|
156
|
+
# hook into `make check`
|
|
157
|
+
check: check-kext
|
|
158
|
+
check-kext:
|
|
159
|
+
$(GAP) tst/testall.g
|
|
160
|
+
|
|
161
|
+
# re-run configure if configure, Makefile.in or GAP itself changed
|
|
162
|
+
Makefile: configure Makefile.in $(GAPPATH)/sysinfo.gap
|
|
163
|
+
$(KEXT_RECONF)
|
|
164
|
+
|
|
165
|
+
ifdef KEXT_USE_AUTOCONF
|
|
166
|
+
|
|
167
|
+
# react to modifications of the build system
|
|
168
|
+
configure_deps = configure.ac $(wildcard m4/*.m4)
|
|
169
|
+
|
|
170
|
+
ifneq ($(MAINTAINER_MODE),no)
|
|
171
|
+
configure: $(configure_deps)
|
|
172
|
+
@if command -v autoconf >/dev/null 2>&1 ; then \
|
|
173
|
+
echo "running autoconf" ; \
|
|
174
|
+
autoconf ; \
|
|
175
|
+
else \
|
|
176
|
+
echo "autoconf not available, proceeding with stale configure" ; \
|
|
177
|
+
fi
|
|
178
|
+
endif # MAINTAINER_MODE
|
|
179
|
+
|
|
180
|
+
# re-run configure if configure, Makefile.in or GAP itself changed
|
|
181
|
+
config.status: configure $(GAPPATH)/sysinfo.gap
|
|
182
|
+
./config.status --recheck
|
|
183
|
+
|
|
184
|
+
# update Makefile if config.status changed
|
|
185
|
+
Makefile: config.status
|
|
186
|
+
|
|
187
|
+
gen/pkgconfig.h: gen/pkgconfig.h.stamp
|
|
188
|
+
@if test ! -f $@; then rm -f $<; else :; fi
|
|
189
|
+
@if test ! -f $@; then $(MAKE) $<; else :; fi
|
|
190
|
+
|
|
191
|
+
gen/pkgconfig.h.stamp: src/pkgconfig.h.in config.status
|
|
192
|
+
@rm -f $@
|
|
193
|
+
@mkdir -p $(@D)
|
|
194
|
+
./config.status gen/pkgconfig.h
|
|
195
|
+
echo > $@
|
|
196
|
+
|
|
197
|
+
ifneq ($(MAINTAINER_MODE),no)
|
|
198
|
+
src/pkgconfig.h.in: $(configure_deps)
|
|
199
|
+
@if command -v autoheader >/dev/null 2>&1 ; then \
|
|
200
|
+
mkdir -p $(@D) ; \
|
|
201
|
+
echo "running autoheader" ; \
|
|
202
|
+
autoheader ; \
|
|
203
|
+
rm -f gen/pkgconfig.h.stamp ; \
|
|
204
|
+
else \
|
|
205
|
+
echo "autoheader not available, proceeding with stale config.h" ; \
|
|
206
|
+
fi
|
|
207
|
+
touch $@
|
|
208
|
+
endif # MAINTAINER_MODE
|
|
209
|
+
|
|
210
|
+
endif # KEXT_USE_AUTOCONF
|
|
211
|
+
|
|
212
|
+
.PHONY: check clean distclean doc
|
|
213
|
+
.PHONY: check-kext clean-kext distclean-kext doc-kext
|
|
214
|
+
|
|
215
|
+
########################################################################
|
|
216
|
+
# Makefile debugging trick:
|
|
217
|
+
# call print-VARIABLE to see the runtime value of any variable
|
|
218
|
+
########################################################################
|
|
219
|
+
print-%:
|
|
220
|
+
@echo '$*=$($*)'
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Makefile rules for the NormalizInterface package
|
|
3
|
+
#
|
|
4
|
+
KEXT_NAME = NormalizInterface
|
|
5
|
+
KEXT_SOURCES = src/normaliz.cc
|
|
6
|
+
|
|
7
|
+
# Normaliz requires C++11; but some of its dependencies (well at least
|
|
8
|
+
# e-Antic) requires C++14. Since that's been in compilers for a decade
|
|
9
|
+
# now, just always request C++14 support. Note: we use gnu++14 instead
|
|
10
|
+
# of std++14 only for compatibility with GAP versions before 4.12 on
|
|
11
|
+
# Cygwin, see <https://github.com/gap-packages/NormalizInterface/pull/91>.
|
|
12
|
+
KEXT_CXXFLAGS = @CPPFLAGS@ @NORMALIZ_CPPFLAGS@ @GMP_CPPFLAGS@ -std=gnu++14
|
|
13
|
+
KEXT_LDFLAGS = @LDFLAGS@ @GMP_LDFLAGS@ -lgmp @NORMALIZ_LDFLAGS@ -lnormaliz -lstdc++
|
|
14
|
+
|
|
15
|
+
KEXT_USE_AUTOCONF = 1
|
|
16
|
+
|
|
17
|
+
# include shared GAP package build system
|
|
18
|
+
GAPPATH = @GAPROOT@
|
|
19
|
+
include Makefile.gappkg
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
SetPackageInfo( rec(
|
|
2
|
+
|
|
3
|
+
PackageName := "NormalizInterface",
|
|
4
|
+
Subtitle := "GAP wrapper for Normaliz",
|
|
5
|
+
Version := "1.3.7",
|
|
6
|
+
Date := "07/07/2024", # dd/mm/yyyy format
|
|
7
|
+
License := "GPL-2.0-or-later",
|
|
8
|
+
|
|
9
|
+
Persons := [
|
|
10
|
+
rec(
|
|
11
|
+
LastName := "Gutsche",
|
|
12
|
+
FirstNames := "Sebastian",
|
|
13
|
+
IsAuthor := true,
|
|
14
|
+
IsMaintainer := false,
|
|
15
|
+
Email := "gutsche@mathematik.uni-siegen.de",
|
|
16
|
+
),
|
|
17
|
+
|
|
18
|
+
rec(
|
|
19
|
+
LastName := "Horn",
|
|
20
|
+
FirstNames := "Max",
|
|
21
|
+
IsAuthor := true,
|
|
22
|
+
IsMaintainer := true,
|
|
23
|
+
Email := "mhorn@rptu.de",
|
|
24
|
+
WWWHome := "https://www.quendi.de/math",
|
|
25
|
+
PostalAddress := Concatenation(
|
|
26
|
+
"Fachbereich Mathematik\n",
|
|
27
|
+
"RPTU Kaiserslautern-Landau\n",
|
|
28
|
+
"Gottlieb-Daimler-Straße 48\n",
|
|
29
|
+
"67663 Kaiserslautern\n",
|
|
30
|
+
"Germany" ),
|
|
31
|
+
Place := "Kaiserslautern, Germany",
|
|
32
|
+
Institution := "RPTU Kaiserslautern-Landau"
|
|
33
|
+
),
|
|
34
|
+
|
|
35
|
+
rec(
|
|
36
|
+
LastName := "Söger",
|
|
37
|
+
FirstNames := "Christof",
|
|
38
|
+
IsAuthor := true,
|
|
39
|
+
IsMaintainer := false,
|
|
40
|
+
Email := "csoeger@uos.de",
|
|
41
|
+
),
|
|
42
|
+
],
|
|
43
|
+
|
|
44
|
+
Status := "deposited",
|
|
45
|
+
#CommunicatedBy := "name (place)",
|
|
46
|
+
#AcceptDate := "mm/yyyy",
|
|
47
|
+
|
|
48
|
+
SourceRepository := rec(
|
|
49
|
+
Type := "git",
|
|
50
|
+
URL := Concatenation( "https://github.com/gap-packages/", ~.PackageName ),
|
|
51
|
+
),
|
|
52
|
+
IssueTrackerURL := Concatenation( ~.SourceRepository.URL, "/issues" ),
|
|
53
|
+
PackageWWWHome := Concatenation( "https://gap-packages.github.io/", ~.PackageName ),
|
|
54
|
+
README_URL := Concatenation( ~.PackageWWWHome, "/README.md" ),
|
|
55
|
+
PackageInfoURL := Concatenation( ~.PackageWWWHome, "/PackageInfo.g" ),
|
|
56
|
+
ArchiveURL := Concatenation( ~.SourceRepository.URL,
|
|
57
|
+
"/releases/download/v", ~.Version,
|
|
58
|
+
"/", ~.PackageName, "-", ~.Version ),
|
|
59
|
+
ArchiveFormats := ".tar.gz .tar.bz2",
|
|
60
|
+
|
|
61
|
+
AbstractHTML :=
|
|
62
|
+
"The <span class='pkgname'>NormalizInterface</span> package provides\
|
|
63
|
+
a GAP interface to <a href='https://www.normaliz.uni-osnabrueck.de'>Normaliz</a>,\
|
|
64
|
+
enabling direct access to the complete functionality of Normaliz, such as\
|
|
65
|
+
computations in affine monoids, vector configurations, lattice polytopes, and rational cones.\
|
|
66
|
+
",
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
PackageDoc := rec(
|
|
70
|
+
BookName := "NormalizInterface",
|
|
71
|
+
ArchiveURLSubset := [ "doc" ],
|
|
72
|
+
HTMLStart := "doc/chap0_mj.html",
|
|
73
|
+
PDFFile := "doc/manual.pdf",
|
|
74
|
+
SixFile := "doc/manual.six",
|
|
75
|
+
LongTitle := "GAP wrapper for Normaliz",
|
|
76
|
+
Autoload := true
|
|
77
|
+
),
|
|
78
|
+
|
|
79
|
+
Dependencies := rec(
|
|
80
|
+
GAP := ">= 4.12.1",
|
|
81
|
+
NeededOtherPackages := [ ],
|
|
82
|
+
SuggestedOtherPackages := [ ],
|
|
83
|
+
ExternalConditions := [ ]
|
|
84
|
+
),
|
|
85
|
+
|
|
86
|
+
AvailabilityTest := function()
|
|
87
|
+
local path;
|
|
88
|
+
# test for existence of the compiled binary
|
|
89
|
+
if not IsKernelExtensionAvailable("NormalizInterface") then
|
|
90
|
+
LogPackageLoadingMessage( PACKAGE_WARNING,
|
|
91
|
+
[ "kernel functions for NormalizInterface not available." ] );
|
|
92
|
+
return fail;
|
|
93
|
+
fi;
|
|
94
|
+
return true;
|
|
95
|
+
end,
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
# Show the Normaliz version number in the banner string.
|
|
99
|
+
# (We assume that this function gets called *after* the package has been
|
|
100
|
+
# loaded, in particular after libnormaliz has been loaded.)
|
|
101
|
+
BannerFunction := function( info )
|
|
102
|
+
local str, version;
|
|
103
|
+
|
|
104
|
+
str := DefaultPackageBannerString( info );
|
|
105
|
+
if not IsBoundGlobal( "_NmzVersion" ) then
|
|
106
|
+
return str;
|
|
107
|
+
fi;
|
|
108
|
+
version := ValueGlobal( "_NmzVersion" )();
|
|
109
|
+
version := JoinStringsWithSeparator(version, ".");
|
|
110
|
+
|
|
111
|
+
return ReplacedString( str, "by Sebastian",
|
|
112
|
+
Concatenation( "(Normaliz version is ", version, ")\n", "by Sebastian" ) );
|
|
113
|
+
end,
|
|
114
|
+
|
|
115
|
+
Keywords := [
|
|
116
|
+
"normaliz",
|
|
117
|
+
"cones"
|
|
118
|
+
],
|
|
119
|
+
|
|
120
|
+
TestFile := "tst/testall.g",
|
|
121
|
+
|
|
122
|
+
));
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
[](https://github.com/gap-packages/NormalizInterface/actions?query=workflow%3ACI+branch%3Amaster)
|
|
2
|
+
[](https://codecov.io/gh/gap-packages/NormalizInterface)
|
|
3
|
+
|
|
4
|
+
# The GAP 4 package 'NormalizInterface'
|
|
5
|
+
|
|
6
|
+
## Package description
|
|
7
|
+
|
|
8
|
+
Normaliz is a software for computations with rational cones and affine
|
|
9
|
+
monoids. It pursues two main computational goals: finding the Hilbert
|
|
10
|
+
basis, a minimal generating system of the monoid of lattice points of a
|
|
11
|
+
cone; and counting elements degree-wise in a generating function, the
|
|
12
|
+
Hilbert series.
|
|
13
|
+
As a recent extension, Normaliz can handle unbounded polyhedra. The
|
|
14
|
+
Hilbert basis computation can be considered as solving a linear
|
|
15
|
+
diophantine system of inhomogeneous equations, inequalities and
|
|
16
|
+
congruences.
|
|
17
|
+
|
|
18
|
+
This package allows creating libnormaliz cone objects from within GAP,
|
|
19
|
+
and gives access to it in the GAP environment. In this way GAP can be
|
|
20
|
+
used as interactive interface to libnormaliz.
|
|
21
|
+
|
|
22
|
+
For more information on Normaliz visit
|
|
23
|
+
<https://www.normaliz.uni-osnabrueck.de/>
|
|
24
|
+
and especially have a look at the manual.
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
## Installation
|
|
28
|
+
|
|
29
|
+
NormalizInterface supports GAP 4.9 or later, and Normaliz 3.5.4 or later.
|
|
30
|
+
However, we recommend using the most recent versions -- at the time this
|
|
31
|
+
is written, that means GAP 4.11.1 and Normaliz 3.9.1.
|
|
32
|
+
|
|
33
|
+
Assuming you have a suitable version installed, you still need to
|
|
34
|
+
compile Normaliz. There is a complicating factor, however: Normaliz
|
|
35
|
+
must be compiled against the exact same version of the GMP library
|
|
36
|
+
as GAP. The easiest way to do that is to run the script we provide
|
|
37
|
+
to you for just that. This requires the presence of several further
|
|
38
|
+
system software packages, which you could for example install via
|
|
39
|
+
your system's package manager. At least the following are required,
|
|
40
|
+
in addition to a C++11 compiler:
|
|
41
|
+
|
|
42
|
+
* curl OR wget for downloading the source code
|
|
43
|
+
|
|
44
|
+
Once you have installed these, you can build Normaliz by using the
|
|
45
|
+
`prerequisites.sh` script provided by us. If NormalizInterface is
|
|
46
|
+
installed inside the `pkg` directory of your GAP installation, you
|
|
47
|
+
can simply invoke it from inside the NormalizInterface directory as
|
|
48
|
+
follows:
|
|
49
|
+
|
|
50
|
+
./prerequisites.sh
|
|
51
|
+
|
|
52
|
+
Otherwise, you have to tell the script where your GAP directory is,
|
|
53
|
+
by passing it as an argument:
|
|
54
|
+
|
|
55
|
+
./prerequisites.sh GAPDIR
|
|
56
|
+
|
|
57
|
+
Not specifying GAPDIR is equivalent to passing `../..` as GAPDIR. If
|
|
58
|
+
more than one argument is specified, then any arguments beyond the
|
|
59
|
+
first are passed on to the Normaliz `configure` script.
|
|
60
|
+
|
|
61
|
+
Once the script completed successfully, you can build NormalizInterface
|
|
62
|
+
like this:
|
|
63
|
+
|
|
64
|
+
./configure --with-gaproot=GAPDIR
|
|
65
|
+
make
|
|
66
|
+
|
|
67
|
+
The ` --with-gaproot=GAPDIR` parameter is actually optional, and if omitted,
|
|
68
|
+
the package will search for GAP in `../..`.
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
## Documentation and tests
|
|
72
|
+
|
|
73
|
+
Generate the documentation:
|
|
74
|
+
|
|
75
|
+
gap makedoc.g
|
|
76
|
+
|
|
77
|
+
run automatic tests:
|
|
78
|
+
|
|
79
|
+
gap tst/testall.g
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
## Bug reports and feature requests
|
|
83
|
+
|
|
84
|
+
Please submit bug reports and feature requests via our GitHub issue tracker:
|
|
85
|
+
|
|
86
|
+
<https://github.com/gap-packages/NormalizInterface/issues>
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
## License
|
|
90
|
+
|
|
91
|
+
NormalizInterface is free software; you can redistribute it and/or modify
|
|
92
|
+
it under the terms of the GNU General Public License as published by
|
|
93
|
+
the Free Software Foundation; either version 2 of the License, or
|
|
94
|
+
(at your option) any later version.
|
|
95
|
+
|
|
96
|
+
For details see the file LICENSE.
|