- Update to new upstream release 0.6.2
OBS-URL: https://build.opensuse.org/package/show/science/gfan?expand=0&rev=17
This commit is contained in:
parent
223c3f6105
commit
ea8646746c
@ -5,266 +5,50 @@ Upstream: dead?
|
||||
Use much simpler Makefiles.
|
||||
|
||||
---
|
||||
Makefile.am | 241 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
configure.ac | 8 +
|
||||
2 files changed, 249 insertions(+)
|
||||
Makefile.am | 1 +
|
||||
configure.ac | 6 ++++++
|
||||
src/Makefile.am | 20 ++++++++++++++++++++
|
||||
3 files changed, 27 insertions(+)
|
||||
|
||||
Index: gfan0.5/Makefile.am
|
||||
Index: gfan0.6.2/Makefile.am
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ gfan0.5/Makefile.am
|
||||
@@ -0,0 +1,241 @@
|
||||
+# -*- Makefile -*-
|
||||
+
|
||||
+AM_CPPFLAGS = -DGMPRATIONAL
|
||||
+AM_CXXFLAGS = -Wuninitialized
|
||||
+
|
||||
+lib_LTLIBRARIES = libgfan.la
|
||||
+
|
||||
+libgfan_la_LIBADD = -lcddgmp
|
||||
+libgfan_la_LDFLAGS = -release ${PACKAGE_VERSION}
|
||||
+libgfan_la_SOURCES = \
|
||||
+ gfanlib_polyhedralfan.cpp \
|
||||
+ gfanlib_polymakefile.cpp \
|
||||
+ gfanlib_symmetriccomplex.cpp \
|
||||
+ gfanlib_symmetry.cpp \
|
||||
+ gfanlib_zcone.cpp \
|
||||
+ gfanlib_zfan.cpp
|
||||
+
|
||||
+bin_PROGRAMS = gfan
|
||||
+
|
||||
+app_sources = \
|
||||
+ app_buchberger.cpp \
|
||||
+ app_combinerays.cpp \
|
||||
+ app_commonrefinement.cpp \
|
||||
+ app_composepermutations.cpp \
|
||||
+ app_doesidealcontain.cpp \
|
||||
+ app_evaluate.cpp \
|
||||
+ app_exponentlattice.cpp \
|
||||
+ app_facets.cpp \
|
||||
+ app_fancoarsening.cpp \
|
||||
+ app_fancones.cpp \
|
||||
+ app_fanhomology.cpp \
|
||||
+ app_fansubfan.cpp \
|
||||
+ app_fiberpolytope.cpp \
|
||||
+ app_genericlinearchange.cpp \
|
||||
+ app_groebnercone.cpp \
|
||||
+ app_groebnerfan.cpp \
|
||||
+ app_homogeneityspace.cpp \
|
||||
+ app_homogenize.cpp \
|
||||
+ app_idealintersection.cpp \
|
||||
+ app_idealproduct.cpp \
|
||||
+ app_initialdeterminant.cpp \
|
||||
+ app_initialforms.cpp \
|
||||
+ app_integergb.cpp \
|
||||
+ app_interactive.cpp \
|
||||
+ app_intsinpolytope.cpp\
|
||||
+ app_isconnected.cpp \
|
||||
+ app_isgroebnerbasis.cpp \
|
||||
+ app_ismarkedgroebnerbasis.cpp \
|
||||
+ app_issmooth.cpp \
|
||||
+ app_krulldimension.cpp \
|
||||
+ app_lattice.cpp \
|
||||
+ app_latticeideal.cpp \
|
||||
+ app_leadingterms.cpp \
|
||||
+ app_librarytest.cpp \
|
||||
+ app_link.cpp \
|
||||
+ app_lll.cpp \
|
||||
+ app_lpsolve.cpp \
|
||||
+ app_main.cpp \
|
||||
+ app_markpolynomialset.cpp \
|
||||
+ app_matrixproduct.cpp \
|
||||
+ app_minimalassociatedprimes.cpp \
|
||||
+ app_minkowski.cpp \
|
||||
+ app_minors.cpp \
|
||||
+ app_mixedvolume.cpp \
|
||||
+ app_multiplymatrix.cpp \
|
||||
+ app_nbody.cpp \
|
||||
+ app_normalfancleanup.cpp \
|
||||
+ app_padic.cpp \
|
||||
+ app_pointconfiguration.cpp \
|
||||
+ app_polynomialsetunion.cpp \
|
||||
+ app_product.cpp \
|
||||
+ app_realroots.cpp \
|
||||
+ app_regularsubdivision.cpp \
|
||||
+ app_render.cpp \
|
||||
+ app_renderstaircase.cpp \
|
||||
+ app_representatives.cpp \
|
||||
+ app_saturation.cpp \
|
||||
+ app_scarfcomplex.cpp \
|
||||
+ app_scarfisgeneric.cpp \
|
||||
+ app_scarfvisualize.cpp \
|
||||
+ app_secondaryfan.cpp \
|
||||
+ app_smalessixth.cpp \
|
||||
+ app_smalessixth2.cpp \
|
||||
+ app_spolynomial.cpp \
|
||||
+ app_stats.cpp \
|
||||
+ app_sturmsequence.cpp \
|
||||
+ app_substitute.cpp \
|
||||
+ app_supportindices.cpp \
|
||||
+ app_symmetries.cpp \
|
||||
+ app_test.cpp \
|
||||
+ app_tolatex.cpp \
|
||||
+ app_topolyhedralfan.cpp \
|
||||
+ app_transposematrix.cpp \
|
||||
+ app_traversetropicalintersection.cpp \
|
||||
+ app_triangulate.cpp \
|
||||
+ app_tropicalbasis.cpp \
|
||||
+ app_tropicalbruteforce.cpp \
|
||||
+ app_tropicalevaluation.cpp \
|
||||
+ app_tropicalfunction.cpp \
|
||||
+ app_tropicalhypersurface.cpp \
|
||||
+ app_tropicalimage.cpp \
|
||||
+ app_tropicalintersection.cpp \
|
||||
+ app_tropicallifting.cpp \
|
||||
+ app_tropicallinearspace.cpp \
|
||||
+ app_tropicalmultiplicity.cpp \
|
||||
+ app_tropicalrank.cpp \
|
||||
+ app_tropicalstartingcone.cpp \
|
||||
+ app_tropicaltraverse.cpp \
|
||||
+ app_tropicalweildivisor.cpp \
|
||||
+ app_volume.cpp \
|
||||
+ app_walk.cpp \
|
||||
+ app_weightvector.cpp
|
||||
+
|
||||
+app_delete_sources = \
|
||||
+ app_add.cpp \
|
||||
+ app_berndssuggestion.cpp \
|
||||
+ app_grassmanndata2.cpp \
|
||||
+ app_grassmanndata3.cpp \
|
||||
+ app_construction.cpp \
|
||||
+ app_checkridges.cpp \
|
||||
+ app_edwinsconjecture.cpp \
|
||||
+ app_fvector.cpp \
|
||||
+ app_grassmanndata.cpp \
|
||||
+ app_groupfacetbinomials.cpp \
|
||||
+ app_istriangulation.cpp \
|
||||
+ app_latticetest.cpp \
|
||||
+ app_markpolynomialset.cpp \
|
||||
+ app_moeckel.cpp \
|
||||
+ app_polytopetopolynomial.cpp \
|
||||
+ app_rendernewtonpolytope.cpp \
|
||||
+ app_tropical.cpp \
|
||||
+ app_xfigconstruction.cpp \
|
||||
+ app_liststandardmonomials.cpp
|
||||
+# needs to be fixed so that it compiles with gcc version 2.96 (legolas.imf.au.dk)
|
||||
+#app_delete_sources += app_isrefinement.cpp
|
||||
+
|
||||
+cats_sources = \
|
||||
+ binomial.cpp \
|
||||
+ codimoneconnectedness.cpp \
|
||||
+ continuedfractions.cpp \
|
||||
+ determinant.cpp \
|
||||
+ determinantpoly.cpp \
|
||||
+ field_rationalfunctions.cpp \
|
||||
+ field_rationalfunctions2.cpp \
|
||||
+ fieldlp.cpp \
|
||||
+ ge_gfan.cpp \
|
||||
+ graph.cpp \
|
||||
+ groebnerengine.cpp \
|
||||
+ halfopencone.cpp \
|
||||
+ integergb.cpp \
|
||||
+ intsinpolytope.cpp\
|
||||
+ lattice.cpp \
|
||||
+ latticeideal.cpp \
|
||||
+ linalg.cpp \
|
||||
+ linalgfloat.cpp \
|
||||
+ lll.cpp \
|
||||
+ log.cpp \
|
||||
+ matrix.cpp \
|
||||
+ minkowskidual.cpp \
|
||||
+ minors.cpp \
|
||||
+ mixedvolume.cpp \
|
||||
+ multiplicity.cpp \
|
||||
+ nbody.cpp \
|
||||
+ padic.cpp \
|
||||
+ polymakefile.cpp \
|
||||
+ polynomialring.cpp \
|
||||
+ primarydecomposition.cpp \
|
||||
+ regularsubdivision.cpp \
|
||||
+ restrictedautoreduction.cpp \
|
||||
+ saturation.cpp \
|
||||
+ scarf.cpp \
|
||||
+ substitute.cpp \
|
||||
+ symmetriccomplex.cpp \
|
||||
+ symmetrictraversal.cpp \
|
||||
+ traverser_groebnerfan.cpp \
|
||||
+ traverser_secondaryfan.cpp \
|
||||
+ traverser_sphere.cpp \
|
||||
+ traverser_stableintersection.cpp \
|
||||
+ traverser_tropical.cpp \
|
||||
+ triangulation.cpp \
|
||||
+ tropical_weildivisor.cpp \
|
||||
+ tropicalbasis.cpp \
|
||||
+ tropicaldeterminant.cpp \
|
||||
+ tropicalmap.cpp \
|
||||
+ tropicaltraverse.cpp \
|
||||
+ xfig.cpp
|
||||
+#cats_sources += restrictedgfan.cpp
|
||||
+
|
||||
+gcats_sources = \
|
||||
+ application.cpp \
|
||||
+ bergman.cpp \
|
||||
+ breadthfirstsearch.cpp \
|
||||
+ buchberger.cpp \
|
||||
+ dimension.cpp \
|
||||
+ division.cpp \
|
||||
+ enumeration.cpp \
|
||||
+ ep_standard.cpp \
|
||||
+ ep_xfig.cpp \
|
||||
+ field.cpp \
|
||||
+ field_rationals.cpp \
|
||||
+ field_zmodpz.cpp \
|
||||
+ genericwalk.cpp \
|
||||
+ gfanapplication.cpp \
|
||||
+ gmpallocator.cpp \
|
||||
+ lp.cpp \
|
||||
+ lp_cdd.cpp \
|
||||
+ minkowskisum.cpp \
|
||||
+ monomial.cpp \
|
||||
+ newtonpolytope.cpp \
|
||||
+ parser.cpp \
|
||||
+ polyhedralcone.cpp \
|
||||
+ polyhedralfan.cpp \
|
||||
+ polynomial.cpp \
|
||||
+ printer.cpp \
|
||||
+ renderer.cpp \
|
||||
+ reversesearch.cpp \
|
||||
+ subspace.cpp \
|
||||
+ symmetry.cpp \
|
||||
+ term.cpp \
|
||||
+ termorder.cpp \
|
||||
+ timer.cpp \
|
||||
+ tropical.cpp \
|
||||
+ tropical2.cpp \
|
||||
+ vektor.cpp \
|
||||
+ wallideal.cpp
|
||||
+
|
||||
+gfan_LDADD = libgfan.la -lgmp -lcddgmp
|
||||
+gfan_SOURCES = ${gcats_sources} ${cats_sources} ${app_sources}
|
||||
+
|
||||
+include_HEADERS = \
|
||||
+ gfanlib.h \
|
||||
+ gfanlib_matrix.h \
|
||||
+ gfanlib_polyhedralfan.h \
|
||||
+ gfanlib_polymakefile.h \
|
||||
+ gfanlib_q.h \
|
||||
+ gfanlib_symmetriccomplex.h \
|
||||
+ gfanlib_symmetry.h \
|
||||
+ gfanlib_vector.h \
|
||||
+ gfanlib_z.h \
|
||||
+ gfanlib_zcone.h \
|
||||
+ gfanlib_zfan.h
|
||||
Index: gfan0.5/configure.ac
|
||||
+++ gfan0.6.2/Makefile.am
|
||||
@@ -0,0 +1 @@
|
||||
+SUBDIRS=src
|
||||
Index: gfan0.6.2/configure.ac
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ gfan0.5/configure.ac
|
||||
@@ -0,0 +1,8 @@
|
||||
+AC_INIT([gfan], [0.5])
|
||||
+++ gfan0.6.2/configure.ac
|
||||
@@ -0,0 +1,6 @@
|
||||
+AC_INIT([gfan], [0.6.2])
|
||||
+AM_INIT_AUTOMAKE([-Wall foreign])
|
||||
+AC_PROG_INSTALL
|
||||
+AC_PROG_CXX
|
||||
+AC_DISABLE_STATIC
|
||||
+LT_INIT
|
||||
+AC_CONFIG_FILES([Makefile])
|
||||
+AC_CONFIG_FILES([Makefile src/Makefile])
|
||||
+AC_OUTPUT
|
||||
Index: gfan0.6.2/src/Makefile.am
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ gfan0.6.2/src/Makefile.am
|
||||
@@ -0,0 +1,20 @@
|
||||
+AM_CPPFLAGS = -DGMPRATIONAL
|
||||
+AM_CXXFLAGS = -Wuninitialized
|
||||
+bin_PROGRAMS = gfan
|
||||
+gfan_SOURCES = \
|
||||
+app_buchberger.cpp app_chowbetti.cpp app_combinerays.cpp app_commonrefinement.cpp app_composepermutations.cpp app_debug.cpp app_doesidealcontain.cpp app_evaluate.cpp app_exponentlattice.cpp app_facets.cpp app_fancoarsening.cpp app_fancones.cpp app_fanhomology.cpp app_fansubfan.cpp \
|
||||
+app_fiberpolytope.cpp app_genericlinearchange.cpp app_groebnercone.cpp app_groebnerfan.cpp app_homogeneityspace.cpp app_homogenize.cpp app_idealintersection.cpp app_idealproduct.cpp app_initialdeterminant.cpp app_initialforms.cpp app_integerfactorization.cpp app_integergb.cpp \
|
||||
+app_interactive.cpp app_intsinpolytope.cpp app_isbalanced.cpp app_isconnected.cpp app_isgroebnerbasis.cpp app_ismarkedgroebnerbasis.cpp app_issmooth.cpp app_krulldimension.cpp app_latticeideal.cpp app_lattice.cpp app_leadingterms.cpp app_librarytest.cpp application.cpp app_link.cpp \
|
||||
+app_lll.cpp app_lpsolve.cpp app_main.cpp app_markpolynomialset.cpp app_matrixproduct.cpp app_minimalassociatedprimes.cpp app_minkowski.cpp app_minors.cpp app_mixedvolume.cpp app_multiplymatrix.cpp app_nbody.cpp app_normalfancleanup.cpp app_padic.cpp app_pointconfiguration.cpp \
|
||||
+app_polynomialsetunion.cpp app_polytopealgebra.cpp app_product.cpp app_randompolynomials.cpp app_realroots.cpp app_regularsubdivision.cpp app_render.cpp app_renderstaircase.cpp app_representatives.cpp app_resultantfan.cpp app_saturation.cpp app_scarfcomplex.cpp \
|
||||
+app_scarfisgeneric.cpp app_scarfvisualize.cpp app_secondaryfan.cpp app_smalessixth2.cpp app_smalessixth.cpp app_spolynomial.cpp app_stats.cpp app_sturmsequence.cpp app_substitute.cpp app_supportindices.cpp app_symmetries.cpp app_test.cpp app_tolatex.cpp app_topolyhedralfan.cpp \
|
||||
+app_transposematrix.cpp app_traversetropicalintersection.cpp app_triangulate.cpp app_tropicalbasis.cpp app_tropicalbruteforce.cpp app_tropicalcurve.cpp app_tropicalevaluation.cpp app_tropicalfunction.cpp app_tropicalhomotopy.cpp app_tropicalhypersurface.cpp \
|
||||
+app_tropicalhypersurfacereconstruction.cpp app_tropicalimage.cpp app_tropicalintersection.cpp app_tropicallifting.cpp app_tropicallinearspace.cpp app_tropicalmultiplicity.cpp app_tropicalrank.cpp app_tropicalstartingcone.cpp app_tropicaltraverse.cpp \
|
||||
+app_tropicalvarietyspan.cpp app_tropicalweildivisor.cpp app_volume.cpp app_walk.cpp app_weightvector.cpp bergman.cpp binomial.cpp breadthfirstsearch.cpp bsptree.cpp buchberger.cpp codimoneconnectedness.cpp continuedfractions.cpp determinant.cpp determinantpoly.cpp dimension.cpp \
|
||||
+division.cpp enumeration.cpp ep_standard.cpp ep_xfig.cpp fieldlp.cpp field.cpp field_rationalfunctions2.cpp field_rationalfunctions.cpp field_rationals.cpp field_zmodpz.cpp ge_gfan.cpp genericwalk.cpp gfanapplication.cpp gfanlib_circuittableint.cpp gfanlib_mixedvolume.cpp \
|
||||
+gfanlib_paralleltraverser.cpp gfanlib_polyhedralfan.cpp gfanlib_polymakefile.cpp gfanlib_symmetriccomplex.cpp gfanlib_symmetry.cpp gfanlib_traversal.cpp gfanlib_zcone.cpp gfanlib_zfan.cpp gmpallocator.cpp graph.cpp groebnerengine.cpp halfopencone.cpp integergb.cpp intsinpolytope.cpp \
|
||||
+latticeideal.cpp lattice.cpp linalgfloat.cpp linalg.cpp lll.cpp log.cpp lp_cdd.cpp lp.cpp matrix.cpp minkowskidual.cpp minkowskisum.cpp minors.cpp mixedvolume.cpp monomial.cpp multiplicity.cpp myassert.cpp nbody.cpp newtonpolytope.cpp packedmonomial.cpp padic.cpp parser.cpp polyhedralcone.cpp \
|
||||
+polyhedralfan.cpp polymakefile.cpp polynomialgcd.cpp polynomial.cpp polynomialring.cpp primarydecomposition.cpp printer.cpp regularsubdivision.cpp renderer.cpp restrictedautoreduction.cpp reversesearch.cpp saturation.cpp scarf.cpp subspace.cpp substitute.cpp symmetriccomplex.cpp \
|
||||
+symmetrictraversal.cpp symmetry.cpp term.cpp termorder.cpp timer.cpp traverser_bsptree.cpp traverser_groebnerfan.cpp traverser_resultantfan.cpp traverser_resultantfanspecialization.cpp traverser_secondaryfan.cpp traverser_sphere.cpp traverser_stableintersection.cpp \
|
||||
+traverser_tropical.cpp triangulation.cpp tropical2.cpp tropicalbasis.cpp tropicalcurve.cpp tropicaldeterminant.cpp tropicalmap.cpp tropical.cpp tropicaltraverse.cpp tropical_weildivisor.cpp vektor.cpp wallideal.cpp xfig.cpp
|
||||
+gfan_LDADD = -lpthread -lgmp -lcddgmp
|
||||
|
335
gfan-format.diff
335
gfan-format.diff
@ -1,335 +0,0 @@
|
||||
From: Jan Engelhardt <jengelh@medozas.de>
|
||||
Date: 2011-09-27 04:06:42.735354010 +0200
|
||||
Upstream: dead?
|
||||
|
||||
%i wants an int, not a size_type. Use proper %z specifier.
|
||||
|
||||
---
|
||||
app_intsinpolytope.cpp | 4 ++--
|
||||
app_isgroebnerbasis.cpp | 2 +-
|
||||
app_normalfancleanup.cpp | 2 +-
|
||||
app_secondaryfan.cpp | 6 +++---
|
||||
app_test.cpp | 2 +-
|
||||
app_tropicaltraverse.cpp | 2 +-
|
||||
bergman.cpp | 4 ++--
|
||||
buchberger.cpp | 4 ++--
|
||||
genericwalk.cpp | 2 +-
|
||||
gmpallocator.cpp | 6 +++---
|
||||
halfopencone.cpp | 6 +++---
|
||||
lp_cdd.cpp | 4 ++--
|
||||
minkowskisum.cpp | 2 +-
|
||||
polyhedralfan.cpp | 6 +++---
|
||||
symmetry.cpp | 2 +-
|
||||
xfig.cpp | 2 +-
|
||||
xfig.h | 2 +-
|
||||
17 files changed, 29 insertions(+), 29 deletions(-)
|
||||
|
||||
Index: gfan0.5/app_intsinpolytope.cpp
|
||||
===================================================================
|
||||
--- gfan0.5.orig/app_intsinpolytope.cpp
|
||||
+++ gfan0.5/app_intsinpolytope.cpp
|
||||
@@ -104,7 +104,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
- fprintf(stderr,"Sets to test: %i\n",setsToCheck.size());
|
||||
+ fprintf(stderr,"Sets to test: %zu\n",setsToCheck.size());
|
||||
|
||||
set<set<int> > ret;
|
||||
for(set<set<int> >::const_iterator i=setsToCheck.begin();i!=setsToCheck.end();i++)
|
||||
@@ -118,7 +118,7 @@ public:
|
||||
if(isPartOfAZBasis(l))ret.insert(*i);
|
||||
}
|
||||
|
||||
- fprintf(stderr,"Produced sets: %i\n",ret.size());
|
||||
+ fprintf(stderr,"Produced sets: %zu\n",ret.size());
|
||||
|
||||
return ret;
|
||||
}
|
||||
Index: gfan0.5/app_isgroebnerbasis.cpp
|
||||
===================================================================
|
||||
--- gfan0.5.orig/app_isgroebnerbasis.cpp
|
||||
+++ gfan0.5/app_isgroebnerbasis.cpp
|
||||
@@ -47,7 +47,7 @@ public:
|
||||
IntegerVectorListList sums;
|
||||
IntegerVectorList polytope=minkowski(polytopes,&sums);
|
||||
|
||||
- fprintf(Stderr,"Number of extreme vertices in Minkowski sum: %i\n",polytope.size());
|
||||
+ fprintf(Stderr,"Number of extreme vertices in Minkowski sum: %zu\n",polytope.size());
|
||||
|
||||
bool isGroebnerBasis=false;
|
||||
int counter=0;
|
||||
Index: gfan0.5/app_normalfancleanup.cpp
|
||||
===================================================================
|
||||
--- gfan0.5.orig/app_normalfancleanup.cpp
|
||||
+++ gfan0.5/app_normalfancleanup.cpp
|
||||
@@ -71,7 +71,7 @@ public:
|
||||
FILE *f=fopen("iteraTIon","w");
|
||||
if(f)
|
||||
{
|
||||
- fprintf(f,"%i:%i\n",a,l2.size());
|
||||
+ fprintf(f,"%i:%zu\n",a,l2.size());
|
||||
fclose(f);
|
||||
}
|
||||
}
|
||||
Index: gfan0.5/app_secondaryfan.cpp
|
||||
===================================================================
|
||||
--- gfan0.5.orig/app_secondaryfan.cpp
|
||||
+++ gfan0.5/app_secondaryfan.cpp
|
||||
@@ -142,7 +142,7 @@ public:
|
||||
|
||||
while(1)
|
||||
{
|
||||
- fprintf(stdout,"Triangles in current triangulation:%i\n",a.bases.size());
|
||||
+ fprintf(stdout,"Triangles in current triangulation:%zu\n",a.bases.size());
|
||||
PolyhedralCone C=a.secondaryCone();
|
||||
|
||||
C.canonicalize();
|
||||
@@ -198,7 +198,7 @@ public:
|
||||
|
||||
while(1)
|
||||
{
|
||||
- fprintf(stdout,"Triangles in current triangulation:%i\n",a.bases.size());
|
||||
+ fprintf(stdout,"Triangles in current triangulation:%zu\n",a.bases.size());
|
||||
// PolyhedralCone C=a.secondaryCone();
|
||||
|
||||
// C.canonicalize();
|
||||
@@ -214,7 +214,7 @@ public:
|
||||
{
|
||||
Triangulation2 b=a;
|
||||
b.flipNew(-*i);
|
||||
- fprintf(stdout,"Triangles in new triangulation:%i\n",b.bases.size());
|
||||
+ fprintf(stdout,"Triangles in new triangulation:%zu\n",b.bases.size());
|
||||
|
||||
if(b.bases.size()==abortAtSize)
|
||||
{
|
||||
Index: gfan0.5/app_test.cpp
|
||||
===================================================================
|
||||
--- gfan0.5.orig/app_test.cpp
|
||||
+++ gfan0.5/app_test.cpp
|
||||
@@ -128,7 +128,7 @@ public:
|
||||
|
||||
M[I]=minusOne*M[I];
|
||||
}
|
||||
- fprintf(Stdout,"Extreme permutations (%i):\n",extreme.size());
|
||||
+ fprintf(Stdout,"Extreme permutations (%zu):\n",extreme.size());
|
||||
P.printVectorList(extreme);
|
||||
}
|
||||
|
||||
Index: gfan0.5/app_tropicaltraverse.cpp
|
||||
===================================================================
|
||||
--- gfan0.5.orig/app_tropicaltraverse.cpp
|
||||
+++ gfan0.5/app_tropicaltraverse.cpp
|
||||
@@ -156,7 +156,7 @@ public:
|
||||
BergmanFan f=bergman(coneGroebnerBasis,idealGroebnerBasis,&s);
|
||||
f.computeMultiplicities();
|
||||
/* log1 fprintf(Stderr,"Is simplicial: %s\n",f.isSimplicial()?"true":"false");*/
|
||||
- log1 fprintf(Stderr,"Order of input symmetry group: %i\n",s.elements.size());
|
||||
+ log1 fprintf(Stderr,"Order of input symmetry group: %zu\n",s.elements.size());
|
||||
log1 fprintf(Stderr,"Number of maximal cones: %i\n",f.numberOfMaximalCones());
|
||||
log1 fprintf(Stderr,"Modulo the homogeneity space:\n");
|
||||
log1 AsciiPrinter(Stderr).printVectorList(hv);
|
||||
Index: gfan0.5/bergman.cpp
|
||||
===================================================================
|
||||
--- gfan0.5.orig/bergman.cpp
|
||||
+++ gfan0.5/bergman.cpp
|
||||
@@ -149,7 +149,7 @@ BergmanFan bergmanRay(PolynomialSet cons
|
||||
if(0)
|
||||
{
|
||||
s=fullColoredIdeals(*g,false);
|
||||
- fprintf(Stderr,"Full colored ideals computed, #=%i\n",s.size());
|
||||
+ fprintf(Stderr,"Full colored ideals computed, #=%zu\n",s.size());
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -539,7 +539,7 @@ BergmanFan bergman(PolynomialSet const &
|
||||
while(!active.empty())
|
||||
{
|
||||
log1 fprintf(Stderr,"\n-------------------------------------\n");
|
||||
- log1 fprintf(Stderr,"Size of active set: %i, Completed: %i\n",active.size(),ret.cones.size());
|
||||
+ log1 fprintf(Stderr,"Size of active set: %i, Completed: %zu\n",active.size(),ret.cones.size());
|
||||
log1 fprintf(Stderr,"-------------------------------------\n");
|
||||
AsciiPrinter p(Stderr);
|
||||
|
||||
Index: gfan0.5/buchberger.cpp
|
||||
===================================================================
|
||||
--- gfan0.5.orig/buchberger.cpp
|
||||
+++ gfan0.5/buchberger.cpp
|
||||
@@ -540,7 +540,7 @@ void buchberger2(PolynomialSet *g, TermO
|
||||
{
|
||||
static int t;
|
||||
t++;
|
||||
- if((t&31)==0)fprintf(Stderr," spolys:%i\n",sPolynomials.size());
|
||||
+ if((t&31)==0)fprintf(Stderr," spolys:%zu\n",sPolynomials.size());
|
||||
}
|
||||
|
||||
{
|
||||
@@ -565,7 +565,7 @@ void buchberger2(PolynomialSet *g, TermO
|
||||
{
|
||||
static int t;
|
||||
if(((++t)&=31)==0)
|
||||
- fprintf(Stderr,"gsize:%i spolys:%i\n",g->size()+1,sPolynomials.size());
|
||||
+ fprintf(Stderr,"gsize:%zu spolys:%zu\n",g->size()+1,sPolynomials.size());
|
||||
}
|
||||
PolynomialSet::iterator j=g->end();j--;
|
||||
updatePairs(sPolynomials,g,&redundantOnes,j,indexj,truncationDegree,&grading);
|
||||
Index: gfan0.5/genericwalk.cpp
|
||||
===================================================================
|
||||
--- gfan0.5.orig/genericwalk.cpp
|
||||
+++ gfan0.5/genericwalk.cpp
|
||||
@@ -202,7 +202,7 @@ PolynomialSet genericWalkPerturbation(Po
|
||||
g=newG;
|
||||
|
||||
nflips++;
|
||||
- fprintf(Stderr,"Flip %i, new size %i\n",nflips,g.size());
|
||||
+ fprintf(Stderr,"Flip %i, new size %zu\n",nflips,g.size());
|
||||
}
|
||||
fprintf(Stderr,"Number of flips:%i\n",nflips);
|
||||
|
||||
Index: gfan0.5/gmpallocator.cpp
|
||||
===================================================================
|
||||
--- gfan0.5.orig/gmpallocator.cpp
|
||||
+++ gfan0.5/gmpallocator.cpp
|
||||
@@ -145,19 +145,19 @@ void myDeallocateFunction (void *ptr, si
|
||||
//Debug
|
||||
void *myAllocateFunctionD(size_t alloc_size)
|
||||
{
|
||||
- fprintf(stderr,"Allocating: %i bytes.\n",alloc_size);
|
||||
+ fprintf(stderr,"Allocating: %zu bytes.\n",alloc_size);
|
||||
return malloc(alloc_size);
|
||||
}
|
||||
|
||||
void *myReallocateFunctionD(void *ptr, size_t old_size, size_t new_size)
|
||||
{
|
||||
- fprintf(stderr,"Reallocating: %i --> %i bytes.\n",old_size,new_size);
|
||||
+ fprintf(stderr,"Reallocating: %zu --> %zu bytes.\n",old_size,new_size);
|
||||
return realloc(ptr,new_size);
|
||||
}
|
||||
|
||||
void myDeallocateFunctionD(void *ptr, size_t size)
|
||||
{
|
||||
- fprintf(stderr,"Freeing: %i bytes.\n",size);
|
||||
+ fprintf(stderr,"Freeing: %zu bytes.\n",size);
|
||||
return free(ptr);
|
||||
}
|
||||
|
||||
Index: gfan0.5/halfopencone.cpp
|
||||
===================================================================
|
||||
--- gfan0.5.orig/halfopencone.cpp
|
||||
+++ gfan0.5/halfopencone.cpp
|
||||
@@ -555,14 +555,14 @@ HalfOpenConeList tropicalHyperSurfaceInt
|
||||
{
|
||||
HalfOpenConeList surface=tropicalHyperSurface(*i);
|
||||
|
||||
- fprintf(Stderr,"Number of cones in current intersection:%i\n",intersection.size());
|
||||
- fprintf(Stderr,"Number of cones in next surface:%i\n",surface.size());
|
||||
+ fprintf(Stderr,"Number of cones in current intersection:%zu\n",intersection.size());
|
||||
+ fprintf(Stderr,"Number of cones in next surface:%zu\n",surface.size());
|
||||
|
||||
fprintf(Stderr,"A\n");
|
||||
intersection=refinement(intersection,surface);
|
||||
fprintf(Stderr,"B\n");
|
||||
}
|
||||
- fprintf(Stderr,"%i",intersection.size());
|
||||
+ fprintf(Stderr,"%zu",intersection.size());
|
||||
|
||||
return intersection;
|
||||
}
|
||||
Index: gfan0.5/lp_cdd.cpp
|
||||
===================================================================
|
||||
--- gfan0.5.orig/lp_cdd.cpp
|
||||
+++ gfan0.5/lp_cdd.cpp
|
||||
@@ -1287,8 +1287,8 @@ void LpSolverCddGmp::removeRedundantRows
|
||||
if(A->rowsize!=newLin.size()+newIn.size())
|
||||
{
|
||||
fprintf(stderr,"A->rowsize: %i\n",(int)A->rowsize);
|
||||
- fprintf(stderr,"newLin.size(): %i\n",newLin.size());
|
||||
- fprintf(stderr,"newIn.size(): %i\n",newIn.size());
|
||||
+ fprintf(stderr,"newLin.size(): %zu\n",newLin.size());
|
||||
+ fprintf(stderr,"newIn.size(): %zu\n",newIn.size());
|
||||
|
||||
dd_WriteMatrix(Stderr,A);
|
||||
|
||||
Index: gfan0.5/minkowskisum.cpp
|
||||
===================================================================
|
||||
--- gfan0.5.orig/minkowskisum.cpp
|
||||
+++ gfan0.5/minkowskisum.cpp
|
||||
@@ -27,7 +27,7 @@ IntegerVectorList minkowski(IntegerVecto
|
||||
|
||||
assert(f);
|
||||
{
|
||||
- fprintf(f,"%i",polytopes.size());
|
||||
+ fprintf(f,"%zu",polytopes.size());
|
||||
TopcomPrinter p(f);
|
||||
//AsciiPrinter p(f);
|
||||
|
||||
Index: gfan0.5/polyhedralfan.cpp
|
||||
===================================================================
|
||||
--- gfan0.5.orig/polyhedralfan.cpp
|
||||
+++ gfan0.5/polyhedralfan.cpp
|
||||
@@ -604,7 +604,7 @@ PolyhedralFan PolyhedralFan::rayComplexS
|
||||
{
|
||||
// log0 fprintf(Stderr,"rayComplexSymmetry - begin\n");
|
||||
PolyhedralFan ret(n);
|
||||
- log1 fprintf(Stderr,"Computing rays of %i cones\n",cones.size());
|
||||
+ log1 fprintf(Stderr,"Computing rays of %zu cones\n",cones.size());
|
||||
for(PolyhedralConeList::const_iterator i=cones.begin();i!=cones.end();i++)
|
||||
{
|
||||
{
|
||||
@@ -812,7 +812,7 @@ IntegerVectorList PolyhedralFan::getRays
|
||||
SymmetryGroup localsym(n);
|
||||
if(!sym)sym=&localsym;
|
||||
set<IntegerVector> rays;
|
||||
- log1 fprintf(Stderr,"Computing rays of %i cones\n",cones.size());
|
||||
+ log1 fprintf(Stderr,"Computing rays of %zu cones\n",cones.size());
|
||||
for(PolyhedralConeList::const_iterator i=cones.begin();i!=cones.end();i++)
|
||||
{
|
||||
{
|
||||
@@ -1212,7 +1212,7 @@ void addFacesToSymmetricComplex(Symmetri
|
||||
static int t;
|
||||
if((t&1023)==0)
|
||||
{
|
||||
- fprintf(Stderr,"clist size:%i\n",clist.size());
|
||||
+ fprintf(Stderr,"clist size:%zu\n",clist.size());
|
||||
}
|
||||
t++;
|
||||
}
|
||||
Index: gfan0.5/symmetry.cpp
|
||||
===================================================================
|
||||
--- gfan0.5.orig/symmetry.cpp
|
||||
+++ gfan0.5/symmetry.cpp
|
||||
@@ -300,7 +300,7 @@ void SymmetryGroup::print(FILE *f)
|
||||
l.push_back(*i);
|
||||
}
|
||||
P.printVectorList(l);
|
||||
- fprintf(f,"Group order=%i\n",elements.size());
|
||||
+ fprintf(f,"Group order=%zu\n",elements.size());
|
||||
P.printString("Done printing SymmetryGroup.\n");
|
||||
}
|
||||
|
||||
Index: gfan0.5/xfig.cpp
|
||||
===================================================================
|
||||
--- gfan0.5.orig/xfig.cpp
|
||||
+++ gfan0.5/xfig.cpp
|
||||
@@ -103,7 +103,7 @@ void XFig::drawPolygon(const Polygon &ve
|
||||
{
|
||||
if(vertices.size())
|
||||
{
|
||||
- fprintf(f,"2 3 0 1 0 %i 50 0 25 0.000 0 0 -1 0 0 %i\n ",7,vertices.size()+1);
|
||||
+ fprintf(f,"2 3 0 1 0 %i 50 0 25 0.000 0 0 -1 0 0 %zu\n ",7,vertices.size()+1);
|
||||
|
||||
for(Polygon::const_iterator i=vertices.begin();i!=vertices.end();i++)
|
||||
kickPoint(*i,mode);
|
||||
Index: gfan0.5/xfig.h
|
||||
===================================================================
|
||||
--- gfan0.5.orig/xfig.h
|
||||
+++ gfan0.5/xfig.h
|
||||
@@ -52,7 +52,7 @@ class XFig
|
||||
void endDrawLine()
|
||||
{
|
||||
assert(p.size()>0);
|
||||
- fprintf(f," %i\n",p.size());
|
||||
+ fprintf(f," %zu\n",p.size());
|
||||
if(arrowOrigin)
|
||||
fprintf(f,"\t 2 1 1.00 60.00 120.00\n");
|
||||
if(arrowTarget)
|
@ -1,27 +0,0 @@
|
||||
From: Jan Engelhardt <jengelh@inai.de>
|
||||
Date: 2012-12-05 14:29:02.523487457 +0100
|
||||
Upstream: dead?
|
||||
|
||||
build: resolve compile error due to doubly-defined variable
|
||||
|
||||
[ 42s] g++ -DPACKAGE_NAME=\"gfan\" -DPACKAGE_TARNAME=\"gfan\" -DPACKAGE_VERSION=\"0.5\" -DPACKAGE_STRING=\"gfan\ 0.5\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"gfan\" -DVERSION=\"0.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -DGMPRATIONAL -Wuninitialized -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wno-sign-compare -Wno-reorder -Wno-unused -Wno-unused-result -c -o app_normalfancleanup.o app_normalfancleanup.cpp
|
||||
[ 42s] app_minkowski.cpp: In member function 'virtual int MinkowskiApplication::main()':
|
||||
[ 42s] app_minkowski.cpp:163:17: error: redeclaration of 'int i'
|
||||
[ 42s] app_minkowski.cpp:134:40: error: 'std::list<Vektor<int> >::const_iterator i' previously declared here
|
||||
---
|
||||
app_minkowski.cpp | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
Index: gfan0.5/app_minkowski.cpp
|
||||
===================================================================
|
||||
--- gfan0.5.orig/app_minkowski.cpp
|
||||
+++ gfan0.5/app_minkowski.cpp
|
||||
@@ -160,8 +160,6 @@ public:
|
||||
//log0 fprintf(Stderr,"4");
|
||||
f.insert(c);
|
||||
//log0 fprintf(Stderr,"5\n");
|
||||
- static int i;
|
||||
- //log0 fprintf(Stderr,"inserted:%i\n",++i);
|
||||
}
|
||||
log1 fprintf(Stderr,"Resolving symmetries.\n");
|
||||
|
@ -1,67 +0,0 @@
|
||||
From: Jan Engelhardt <jengelh@medozas.de>
|
||||
Date: 2011-09-27 04:14:22.744016953 +0200
|
||||
Upstream: ?
|
||||
|
||||
Fix things like:
|
||||
|
||||
gfanlib_vector.h:291:7: warning: no return statement in function
|
||||
returning non-void [-Wreturn-type]
|
||||
app_tropicalintersection.cpp:45:2: warning: control reaches end
|
||||
of non-void function [-Wreturn-type]
|
||||
|
||||
---
|
||||
app_fancoarsening.cpp | 2 ++
|
||||
app_tropicalintersection.cpp | 1 +
|
||||
gfanlib_vector.h | 1 +
|
||||
gfanlib_zcone.cpp | 1 +
|
||||
4 files changed, 5 insertions(+)
|
||||
|
||||
Index: gfan0.5/app_fancoarsening.cpp
|
||||
===================================================================
|
||||
--- gfan0.5.orig/app_fancoarsening.cpp
|
||||
+++ gfan0.5/app_fancoarsening.cpp
|
||||
@@ -38,6 +38,8 @@ public:
|
||||
|
||||
int i=0;
|
||||
|
||||
+ /* unused function */
|
||||
+ return IntegerVectorList();
|
||||
}
|
||||
|
||||
const char *helpText()
|
||||
Index: gfan0.5/app_tropicalintersection.cpp
|
||||
===================================================================
|
||||
--- gfan0.5.orig/app_tropicalintersection.cpp
|
||||
+++ gfan0.5/app_tropicalintersection.cpp
|
||||
@@ -42,6 +42,7 @@ public:
|
||||
AsciiPrinter(Stdout)<<"The following vector is in intersection, but initial ideal contains a monomial:\n"<<w;
|
||||
assert(0);
|
||||
}
|
||||
+ return true;
|
||||
}
|
||||
};
|
||||
|
||||
Index: gfan0.5/gfanlib_vector.h
|
||||
===================================================================
|
||||
--- gfan0.5.orig/gfanlib_vector.h
|
||||
+++ gfan0.5/gfanlib_vector.h
|
||||
@@ -288,6 +288,7 @@ public:
|
||||
f<<*i;
|
||||
}
|
||||
f<<")";
|
||||
+ return f;
|
||||
}
|
||||
typ gcd()const
|
||||
{
|
||||
Index: gfan0.5/gfanlib_zcone.cpp
|
||||
===================================================================
|
||||
--- gfan0.5.orig/gfanlib_zcone.cpp
|
||||
+++ gfan0.5/gfanlib_zcone.cpp
|
||||
@@ -726,6 +726,7 @@ std::ostream &operator<<(std::ostream &f
|
||||
f<<c.inequalities<<std::endl;
|
||||
f<<"Equations:"<<std::endl;
|
||||
f<<c.equations<<std::endl;
|
||||
+ return f;
|
||||
}
|
||||
|
||||
|
16
gfan.changes
16
gfan.changes
@ -1,3 +1,19 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 25 21:21:45 UTC 2017 - jengelh@inai.de
|
||||
|
||||
- Update to new upstream release 0.6.2
|
||||
* Improved mixed volume computation, improved Gröbner basis
|
||||
implementation.
|
||||
* New tropical starting cone algorithm, resultant fan
|
||||
algorithms, tropical hypersurface reconstruction algorithm,
|
||||
tropical basis detection (in _tropicalintersection -t was
|
||||
replaced by --tropicalbasistest)
|
||||
* Stable intersection of tropical cycles (_fancommonrefinement
|
||||
--stable)
|
||||
* Better implementation of the field of rational functions).
|
||||
- Delete gfan-format.diff, gfan-returns.diff,
|
||||
gfan-remove-debug-code.diff (fixed upstream)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 16 21:38:19 UTC 2016 - jengelh@inai.de
|
||||
|
||||
|
54
gfan.spec
54
gfan.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package gfan
|
||||
#
|
||||
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -17,8 +17,7 @@
|
||||
|
||||
|
||||
Name: gfan
|
||||
%define lname libgfan-0_5
|
||||
Version: 0.5
|
||||
Version: 0.6.2
|
||||
Release: 0
|
||||
Summary: Calculation of Gröbner fans
|
||||
License: GPL-2.0
|
||||
@ -27,14 +26,11 @@ Url: http://home.imf.au.dk/jensen/software/gfan/gfan.html
|
||||
|
||||
Source: http://home.imf.au.dk/jensen/software/gfan/%name%version.tar.gz
|
||||
Patch1: gfan-automake.diff
|
||||
Patch2: gfan-format.diff
|
||||
Patch3: gfan-returns.diff
|
||||
Patch4: gfan-remove-debug-code.diff
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildRequires: automake
|
||||
BuildRequires: cddlib-devel
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gmp-devel
|
||||
BuildRequires: libtool >= 2
|
||||
%define with_pdf 1
|
||||
%if 0%{?with_pdf}
|
||||
BuildRequires: texlive-latex
|
||||
@ -55,50 +51,25 @@ BuildRequires: tex(english.ldf)
|
||||
Gfan is a software package for computing Gröbner fans and tropical
|
||||
varieties. These are polyhedral fans associated to polynomial ideals.
|
||||
|
||||
%package -n %lname
|
||||
Summary: Library for calculation of Gröbner fans
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n %lname
|
||||
Gfan is a software package for computing Gröbner fans and tropical
|
||||
varieties. These are polyhedral fans associated to polynomial ideals.
|
||||
|
||||
%package -n libgfan-devel
|
||||
Summary: Development files for libgfan
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: %lname = %version
|
||||
|
||||
%description -n libgfan-devel
|
||||
Gfan is a software package for computing Gröbner fans and tropical
|
||||
varieties. These are polyhedral fans associated to polynomial ideals.
|
||||
|
||||
%prep
|
||||
%setup -qn %name%version
|
||||
%patch -P 1 -P 2 -P 3 -P 4 -p1
|
||||
%patch -P 1 -p1
|
||||
|
||||
%build
|
||||
autoreconf -fi
|
||||
export CXXFLAGS="%optflags -Wno-sign-compare -Wno-reorder -Wno-unused -std=gnu++98"
|
||||
%if 0%{?suse_version} > 1110
|
||||
# -Wno-unused-result not known in old SUSE
|
||||
export CXXFLAGS="$CXXFLAGS -Wno-unused-result"
|
||||
%endif
|
||||
%configure --disable-static --enable-silent-rules
|
||||
make %{?_smp_mflags}
|
||||
export CXXFLAGS="%optflags -Wno-sign-compare -Wno-reorder -Wno-unused"
|
||||
%configure
|
||||
make %{?_smp_mflags} V=1
|
||||
%if 0%{?with_pdf}
|
||||
make -C doc %{?_smp_mflags}
|
||||
%endif
|
||||
|
||||
%install
|
||||
b="%buildroot"
|
||||
make install DESTDIR="$b"
|
||||
%make_install
|
||||
for i in $(./gfan _list | grep ^gfan_); do
|
||||
ln -s gfan "$b/%_bindir/$i"
|
||||
done;
|
||||
rm -fv "$b/%_libdir"/*.la
|
||||
|
||||
%post -n %lname -p /sbin/ldconfig
|
||||
%postun -n %lname -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
@ -108,13 +79,4 @@ rm -fv "$b/%_libdir"/*.la
|
||||
%doc doc/manual.pdf
|
||||
%endif
|
||||
|
||||
%files -n %lname
|
||||
%defattr(-,root,root)
|
||||
%_libdir/libgfan-%version.so
|
||||
|
||||
%files -n libgfan-devel
|
||||
%defattr(-,root,root)
|
||||
%_libdir/libgfan.so
|
||||
%_includedir/*
|
||||
|
||||
%changelog
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:aaeabcf03aad9e426f1ace1f633ffa3200349600314063a7717c20a3e24db329
|
||||
size 1135356
|
3
gfan0.6.2.tar.gz
Normal file
3
gfan0.6.2.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a674d5e5dc43634397de0d55dd5da3c32bd358d05f72b73a50e62c1a1686f10a
|
||||
size 1321059
|
Loading…
Reference in New Issue
Block a user