tag:github.com,2008:https://github.com/cddlib/cddlib/releasesRelease notes from cddlib2025-09-11T15:03:36Ztag:github.com,2008:Repository/130606512/0.94n2025-09-11T15:07:57Z0.94n<p><strong>Added:</strong></p>
<ul>
<li>Parameter names in function declarations.</li>
</ul>
<p><strong>Fixed:</strong></p>
<ul>
<li>
<p>Fix potential dd_MatrixCanonicalize segfault.</p>
</li>
<li>
<p>The cddlib.pc file now has correct linkage to cddlib (the non-gmp version).<br>
To link against the gmp version, you can use the new cddgmp.pc file.<br>
For instance::</p>
<p>pkg-config cddlib --cflags --libs</p>
<p>will fetch all compiler and link flags for the non-gmp version of cddlib,<br>
and::</p>
<p>pkg-config cddgmp --cflags --libs</p>
<p>will get them for the gmp version of cddlib.</p>
</li>
<li>
<p>Copy certificate and handle errors correctly in dd_SRedundant<br>
for the V-representation code path</p>
</li>
<li>
<p>cddlib is now thread-safe. We protect static variables with <code>_Thread_local</code> directives in the implementation, as provided by the C11 standard of the C language and supported by all supported recent compilers without adding any extra flags.</p>
</li>
</ul>saraedumtag:github.com,2008:Repository/130606512/0.94m2020-12-08T14:43:52Z0.94m<p><strong>Fixed:</strong></p>
<ul>
<li>Fix and error, where a non-redundant linearity could be considered redundant.</li>
<li>Fix an optimization error in ViaShooting code so that the linear programs are now much smaller.</li>
<li>Fixed memory leaks in the redundancy code.</li>
<li>Updated version number in dd_DDVERSION define.</li>
</ul>saraedumtag:github.com,2008:Repository/130606512/0.94l2020-09-19T22:04:37Z0.94l<p><strong>Fixed:</strong></p>
<ul>
<li><code>extern C</code> block in cdd.h header for C++ (thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jengelh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jengelh">@jengelh</a>)</li>
</ul>saraedumtag:github.com,2008:Repository/130606512/0.94k2020-09-15T16:02:36Z0.94k<ul>
<li>header files are now installed to PREFIX/include/cddlib to avoid clashes<br>
with other libraries.</li>
<li>configuration file for pkg-config added: assuming cddlib installed in<br>
known to pkg-config, "pkg-config --cflags cddlib" etc will<br>
work. (Otherwise, one would need PKG_CONFIG_PATH=/lib/pkgconfig).</li>
</ul>saraedumtag:github.com,2008:Repository/130606512/0.94j2018-06-21T14:14:28Z0.94j<ul>
<li>modernized autotooling</li>
<li>mirrored code on GitHub</li>
<li>introduced <code>cddexec</code> as a replacement of <code>cdd_both_reps</code> that many distributions packaged</li>
<li>made randomization portable</li>
<li>fix representation type in dd_MatrixAppendTo</li>
</ul>saraedumtag:github.com,2008:Repository/130606512/0.942018-04-22T20:24:08ZVersion 0.94<p>dd_MatrixCanonicalize has been added. This reduces matrix M to a minimal<br>
representation by computing all implicit linearity rows and all redundant rows.<br>
It applies lexicographic sorting of rows to remove duplicates before applying<br>
redundancy removal. This function combines the two computations together in<br>
more efficient manner than before. See the new redcheck.c for its use. Several<br>
basic operations for matrices have been added, such as dd_MatrixRowsRemove and<br>
dd_MatrixRowsRemove2.</p>
<p>The representation conversion dd_DDMatrix2Poly now handles the empty<br>
H-polyhedra properly, by calling an LP-based emptiness checker before running<br>
the double description algorithm.</p>
<p>New functions finding specific points in H-polyhedra are added.<br>
dd_ExistsRestrictedFace is a general inequality system solver with specified<br>
equations, inequalities and strict inequalities. dd_FindRelativeInterior finds<br>
a point in the relative interior of a polyhedron.</p>
<p>Imported in Apr 2018 from cddlib-094.tar.gz released Aug 24, 2005.</p>
<p>Some preceding versions had no released tarball available in Apr 2018:</p>
<h2>Version 0.93d (Feb 27, 2005)</h2>
<p>The problem of outputting the running log has been corrected. This problem and<br>
a solution was communicated by Charles Geyer. Now, a new global dd_boolean<br>
variable dd_log (= dd_FALSE by default) controls log output. An scdd/lcdd bug<br>
of terminating with segmentation fault when an input polyhedron is numerically<br>
delicate has been corrected. This bug was reported by Stefan Volkwein.</p>
<h2>Version 0.93c (Dec 26, 2003)</h2>
<p>A bug of Phase I of the dual simplex method in floating-point arithmetics is<br>
fixed. The problem (bus error) occurred when input data is not appropriate for<br>
floating-point arithmetics. The problem occurrs even for the GMP executables as<br>
the exact LP solver first tries to detect the terminal basis with float-point<br>
arithmetics.</p>
<h2>Version 0.93b (Nov 10, 2003)</h2>
<p>The nonterminating problem of the LP solver has been fixed. This was due to a<br>
cycling of the criss-cross method in floating-point arithmetics, that is<br>
extremely rare. Also, the phase I of the dual simplex method has been modified.<br>
The auxiliary LP is perhaps less likely to be degenerate.</p>saraedumtag:github.com,2008:Repository/130606512/0.94i2018-04-22T20:25:02ZVersion 0.94i<p>The missing definition of dd_set_d function in the case of -DGMPRATIONAL flag<br>
is used. The only change is in cddmp.h. The use of this function is explained<br>
in testcdd2.c program. This function is useful when input is mostly float<br>
(real). Even such a case, running on the rational exact arithmetic might be<br>
helpful to debug the floating point computation.</p>
<p>Imported in Apr 2018 from cddlib-094i.tar.gz released Mar 9, 2018.</p>saraedumtag:github.com,2008:Repository/130606512/0.94h2018-04-22T20:25:02ZVersion 0.94h<p>Thanks to Mathieu Dutour, one minor bug has been fixed.</p>
<p>Imported in Apr 2018 from cddlib-094h.tar.gz released Apr 30, 2015.</p>saraedumtag:github.com,2008:Repository/130606512/0.94g2018-04-22T20:25:01ZVersion 0.94g<p>Thanks to both Anders Jensen and Mathieu Dutour a few memory leaks in cddlib.c<br>
and cddlp.c have been fixed. Also, some patches sent by Jerry James have been<br>
applied. These were for making the library shared and more compatible for C++<br>
compilers.</p>
<p>Imported in Apr 2018 from cddlib-094g.tar.gz released Mar 23, 2012.</p>saraedumtag:github.com,2008:Repository/130606512/0.94f2018-04-22T20:25:01ZVersion 0.94f<p>Thanks to Sven Verdoolaege's fixes, the "configure" script now uses "gcc" as<br>
the default compiler, rather than "g++" in earlier releases, and the libraries<br>
can be linked properly with both C and C++ programs.</p>
<p>Imported in Apr 2018 from cddlib-094f.tar.gz released Feb 7, 2008.</p>saraedum