9 commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
adam
|
1ef5f4351a |
qhull: updated to 2019.1
Qhull 2019.1 (7.3.2): bugs fixed - Fixed broken HTML links identified by Firefox Link Analyzer. Replace old links with web.archive.org (archive.is) - Moved live code out of qh_NOtrace regions - qh-faq.htm#learn: fixed the Delaunay examples (rbox generates a square, but does not generate two squares) - geom2_r.c/qh_maxmin: qh_scalelast for 'd Qbb' to qh.MAXabs_coord instead of qh.MAXwidth [J.R. Roussel, D. Sterratt] - geom2_r.c/qh_maxsimplex: estimate targetdet as prevdet*qh.MAXwidth, set mindet to 10*qh_RATIOmaxsimplex [J.R. Roussel, D. Sterratt] - global_r.c/qh_freebuild: in high-D, simplicial facets may use long memory - global_r.c/qh_initqhull_globals: set qh.DOcheckmax and qh.KEEPnearinside if qh.APPROXhull ('Wn', rbox 100 D3 W1e-1 | qhull QJ W1e-1 Tv) - libqhull_r.c/qh_addpoint: add qh.lastmerges to qh_addpoint trace - libqhull_r.c/qh_buildcone_mergepinched: called qh_partitioncoplanar with uninitialized 'dist' - libqhull_r.c/qh_build_withrestart: if qh_joggle_restart, set v.partitioned for qh.del_vertices. Avoid error in qh_delvertex from qh_freebuild - libqhull_r.c/qh_partitionall: if qh.KEEPnearinside, qh_partitionpoint for non-outside pointset - libqhull_r.c/qh_partitioncoplanar: define qh.coplanar_apex to prevent infinite loop of repartition point - merge_r.c/qh_checkzero: check opposite vertex against -2*qh.DISTround to account for qh_distround and 'Rn' - merge_r.c/qh_comparevisit: fix compare of 'unsigned int' - poly2_r.c/qh_findbestfacet: for Delaunay triangulations, may be an adjacent triangle [F. Drielsma] Updated discussion at qh-code.htm/findfacet and examples at user_eg_r.c and user_eg2_r.c - poly2_r.c/qh_findfacet_all: do not search visible facets, and if qh_NOupper, f.upperdelaunay facets [P. Virtanen, S. Dominguez, J.Arkin] - poly2_r.c/qh_initialhull: reverse orientation if clearly flipped. qh_ERRsingular if maybe flipped [S. Caron, P. Virtanen, D. Sterratt, others] - poly2_r.c/qh_initialhull: test for coplanar qh.interior_point with 'allerror' (dist >= -qh.DISTround) [S. Caron, P. Virtanen, D. Sterratt, others] - poly2_r.c/qh_initialhull: call qh_joggle_restart for qh.DELAUNAY if cospherical input sites [P. Celba] - poly2_r.c/qh_initbuild: qh_scalelast for 'd Qbb' to qh.MAXabs_coord instead of qh.MAXwidth [J.R. Roussel, D. Sterratt] - random_r.c/qh_argv_to_command_size: returned size may be < 1. If so, rbox.c/main reports an error - rboxlib_r.c/qh_rboxpoints: report error for coincident, regular points 'rbox r C1,1e-13' - stat_r.c/qh_initstatistics: missing call to qh_allstatistics for qh_newstats. qh_checkoutput ignored - userprintf.c/qh_fprintf: fixed 2019.0.1 bug if 'qh_qh' is NULL for qh_QHpointer - Qhull.cpp/outputQhull: fixed missed conditional if qh.GOODvertex == -qh.GOODpoint documentation and web site - Add notes that Qhull 64-bit code uses 50% more memory than 32-bit code. This slows down Qhull. A future version of Qhull will include memory and performance improvements for 64-bit code. - Add the Qhull identity pipeline to html/qhalf.htm - Enabled PDF download from portal.acm.org - Error exit from qhull,qconvex,etc. returns a 6xxx error code if available - Rename md5sum files back to *-tgz.md5sum and *-zip.md5sum Both Firefox and IE convert *.tgz.md5sum and *.zip.md5sum as .tgz/.zip files - html/qh-code.htm: add sections on debugging Qhull - html/qh-faq.html: reviewed startup questions for Qhull - html/qh-opto.htm: the centrum indices for option 'i' are one more than the centrum indices for option 'Ft' build and test - CMakeLists.txt: export QhullTargets for config.cmake.in and find_package [tamasmeszaros] - eg/q_benchmark: add 'uname -a' for host identification - eg/q_test.bat: update for changes to q_test removed redirects on every line (invoke with redirection) - eg/q_test: add some tests for option warnings and errors - Makefile: add dependencies for 'install', 'test', 'qtest', and 'qconvex-prompt' [V. Delecroix] - Makefile: set -m32 as default for gcc builds. Uses less memory on 64-bit hosts. disable with 'make M32=' - Remove 'unused parameter' warnings if qh_NOmerge - Tested qh_QHpointer, qh_NOmem, qh_NOmerge, qh_NOtrace, qh_KEEPstatistics 0 - Tested qh_NOmerge with qh_NOtrace and qh_KEEPstatistics 0. Simpler code, fewer errors, 35% smaller - Tested random qh_distplane and qh_setplane qh_RANDOMdist 1e-5, qh_RANDOMdist 1e-13 - user_r.h: define qh_RANDOMdist to perturb all calls to qh_distplane, qh_newfacetplane by 'Rn' other changes - Replace 'unsigned' with 'unsigned int', for consistency - Replace warning 6263 with 7079 in qconvex_r.c, etc. - Resolved C warnings for -Wsign-conversion, mostly type casts Continue to use -Wno-sign-conversion for C++ due to countT, boolT, int vs. size_t mismatches - Reviewed gcc 8.1.0 warnings. See Makefile CC_WARNINGS and CXX_WARNINGS Type cast (int)sizeof(facetT),etc. as needed - Reviewed error and warning codes for multiple instances of the same code - Reviewed file references such as libqhull_r.c vs libqhull.c - Reviewed multi-line, error message width for 80 column output - global.c/qh_initflags: Add 'qh_QHpointer' to qh_option for option list - geom2_r.c/qh_joggleinput: report QH6010, current joggle is too large, as qh_ERRinput - geom2_r.c/qh_maxsimplex: report error if qh.MAXwidth not defined, for estimating the determinates - geom2_r.c/qh_minmax: if tracing, log min and max coordinates [J.R. Roussel, D. Sterratt] - io_r.c/qh_printbegin: rewrote warning QH7053, use 'p' or 'o' for Voronoi centers - io_r.c/qh_produce_output2: fflush to maintain execution order of output - libqhull_r.c/qh_buildtracing: change qh.lastfacets, qh.lastplanes, qh.lastdist to 'int' - libqhull_r.c/qh_build_withrestart: change error QH6229, 101 attempts to joggle input, to qh_ERRinput and 51 attempts - merge_r.c/qh_renameridgevertex: report error if old vertex not found - poly_r.c/qh_update_vertexneighbors: use qh_setappend instead of qh_setunique for newly created facets (restores 2015.2 code) - poly2_r.c/qh_check_point: limit 'Tv' errors to qh_MAXcheckpoint per facet - poly2_r.c/qh_initialhull: rewrite QH6329 for cospherical input sites and add qh_printvertexlist [P. Celba] - qset_r.c/qh_setlarger_quick: optimize qh_setlarger for quick memory - rboxlib_r.c/qh_rboxpoints2: fix strncat to resolve -Wstringop-truncation warning [D. Sterratt] increased command[] to 250 and decreased seedbuf[] to 50 - user_r.h/qh_JOGGLEmaxretry: reduced from 100 iterations to 50 iterations - user_r.c/qh_new_qhull: allow "qhull" for the qhull_cmd parameter - user_eg_r.c/findDelaunay: qh_findbestfacet returns the closest Delaunay triangle or an adjacent triangle - user_eg2_r.c/findDelaunay: qh_findbestfacet returns the closest Delaunay triangle or an adjacent triangle - userprintf_r.c/qh_fprintf: set qh.last_errcode for MSG_ERROR (6000) codes - RboxPoints::qh_fprintf_rbox: print error message to stderr if cpp_object undefined Qhull 2019.0.1 (7.3.1) Qhull options - Disallow unknown options and other option errors, allow option warnings with 'Qw' - New option 'Qallow-short': allow input with fewer or more points than coordinates - New option 'Qwarn-allow': allow option warnings - New option 'TAn': stop after adding n vertices - New option 'Tf': flush after qh_fprintf for debugging segfaults - New experimental option 'Q14-merge-pinched-vertices': merge pinched vertices due to dupridge Excessive merging leads to additional topological and wide facet errors - New experimental option 'Q15-check-duplicates': check for duplicate ridges with the same vertices - Option 'Q1' merges by mergetype/angle instead of mergetype/distance, coplanar merges first In 2015.2 by default, Qhull merged by mergetype/angle with lower angles first - Option 'TP-1' turns on tracing after qh_buildhull and qh_postmerge It traces qh_check_maxout, qh_prepare_output, qh_triangulate, qh_voronoi_center - Options '--help', '-?', and '--' display a short help message Qhull does not support '--' options. Git for Windows v2.21.0 does not support isatty ('winpty qhull' is OK) - Allow Qhull extra options Q12 and Q14 for qconvex/qdelaunay/qhalf/qvoronoi - Allow option 'QRn' (random rotate) for qdelaunay/qhalf/qvoronoi - Alphabetize short prompts (qhull .) - Alphabetize long prompts w/ normal options first (qhull -) - Alphabetize option help by option code - Add 'Number of merged pinched vertices' to summary ('s') - Add 'TI file' to help message for qconvex/qdelaunay/qhalf/qvoronoi - Dropped experimental option 'Q16-simplex-merge'. Centrums are required for convexity - Error if 'd', 'v', or 'Hn,n,n' are used together - Ignore missing space after 'TI' or 'TO'. Allow 'TIinputfile' and 'TOoutputfile' - Prefix option errors and warnings with 'qhull option error:' or 'qhull option warning:' - Remove hidden option 'normals' from help prompts for qdelaunay, qhalf, qvoronoi - Reword short prompts to 'Pdrop-d0:0D0', 'QbBound-0:0.5', and 'off_format' - Updated qh-quick.htm, 'qhull -', and 'qhull .' for 'T...' and 'Q...' options. Separate help prompts for 'T options' and 'Trace options' - Use '-' instead of '_' for word delimiter in option names Qhull builds, scripts, and debugging - Add qh.traceridge, qh.traceridge_id, and qh_delridge for debugging by ridge in qh_fprintf - Check for qhull with 'which qhull' instead of 'qhull', avoids hangs in git bash - Makefile/CC_WARNINGS: Add instructions for collecting and testing gcc warnings - Makefile/benchmark: Add q_benchmark, 10 runs of each - Makefile/clean: Delete linked files from src/libqhull and src/libqhull_r, as in their Makefiles - Makefile/help: Add 'make all' to 'make help' prompts - Makefile/qhullx: Add test of testqset and testqset_r - Makefile/qhullx: Create bin/ directory if missing - Makefile/test: Add user_eg3 help prompt - Makefile/testall: Add q_benchmark, 1 run of each - eg/make-vcproj.sh/qhullx: Build bin/qhullx from src/qhullx/ for comparison - eg/q_benchmark: new script for measuring Qhull precision and performance with qtest.sh - eg/q_test: update error messages for missing bin/ and bin/libqhull_r.dll - eg/q_test: tests of Tf and TAn - eg/qhull-zip.sh: add note that it requires road-script.sh from http://www.qhull.org/road/ - eg/qhull-zip.sh: check source depencencies for prompts - eg/qtest.sh: new script for testing Qhull and summarizing its trace files - libqhull_r/Makefile: install target creates $INCDIR/libqhull_r and $LIBDIR - libqhull_r.h/qh_ERRdebug: define error status for debugging exits Qhull fixed bugs - html/qh-optp.htm: options 'PDk' and 'Pdk' require option 'Pg' to return the closest facet - Makefile/qhullx: fixed qhullx compile of testqset and testqset_r - PointCoordinates.cpp/appendPoints: read 'in >> p' instead of 'in >> p >> ws' otherwise istream fails if file does not end with whitespace - geom_r.c/qh_findbesthorizon: fix test for Zfindjump (bestdist jumps by searchdist) - geom_r.c/qh_findbesthorizon: increased minsearch of coplanar facets if ischeckmax and more than 100 neighbors - geom_r.c/qh_sethyperplane_det: dropped precision statistic Znearlysingular (it's Zminnorm) - geom2_r.c/qh_detjoggle: use 'En' (roundoff) if specified by options - geom2_r.c/qh_distround: move adjustment for 'Rn' into qh_distround. 'QJn' did not account for 'Rn' - global_r.c/qh_checkflags: handle two-digit Q options in hiddenflags - global_r.c/qh_freebuild: do not delete unattached ridges, otherwise a double delete. Should not occur - global_r.c/qh_option: fix potential overflow of qh.qhull_options - global_r.c/qh_initflags: fixed incorrect indentation for option 'TO file' - global_r.c/qh_initqhull_start2: set qh.NOerrexit True - io_r.c/qh_eachvoronoi: allow fp==NULL for QhullQh::qh_fprintf to appendQhullMessage - io_r.c/qh_readpoints: error if 'd' or 'v' with 'H', otherwise memory corruption - libqhull_r.h/qh.MERGEvertices: fixed comment, 'Q3' disables this feature - libqhull_r.c/qh_buildcone_onlygood: cannot qh_delfacet inside FORALLnew_facets - libqhull_r.c/qh_partitionpoint: if qh.NARROWhull and bestdist>qh.MINoutside and isnewoutside, may need to move facet to qh.newfacet_list for qh.next_facet - libqhull_r.c/qh_printsummary: Zdistconvex is for checking convexity instead of testing convexity - libqhull_r.c/qh_findhorizon: coplanar horizon if apex >= -qh.MAXcoplanar, instead of > -qh.MAXcoplanar - mem_r.c/qh_memcheck: define null qh_memcheck if qh_NOmem - merge_r.c/qh_mergecycle_all: turn on tracing, 'TMn', for coplanar horizon merge of one facet - merge_r.c/qh_mergefacet2d: do not create ridges for neighborB. The opposite neighbor may be tested - merge_r.c/qh_test_centrum_merge: coplanar if centrum >= -qh.centrum_radius, instead of > -qh.centrum_radius - merge_r.c/qh_test_nonsimplicial_merge: coplanar if centrum >= -qh.centrum_radius, instead of > -qh.centrum_radius - merge_r.c/qh_tracemerging: fixed "qhull has merged" prompt - merge_r.c/qh_willdelete: empty f.neighbors and f.ridges, references are no longer valid, will be deleted - poly_r.c/qh_checkflipped: flipped if qh.interior_point >= -qh.DISTround, instead of > -qh.DISTround - poly2_r.c/qh_addfacetvertex: initialize vertex_i in case f.vertices is empty - poly2_r.c/qh_check_maxout: need to include qh.DISTround when checking f.maxoutside with qh.maxoutside - poly2_r.c/qh_checkconvex: fix documentation for qh_DATAfault. It is restricted to qh_initialhull with qh.ZEROcentrum - poly2_r.c/qh_checkconvex: coplanar if >= -qh.DISTround, instead of > -qh.DISTround - poly2_r.c/qh_checkconvex: check simplicial ridges if !qh.MERGING && qh.ZEROcentrum (unlikely or not-possible) - poly2_r.c/qh_findgood: restrict qh.GOODvertex ('QVn') to good facets - poly2_r.c/qh_findgood_all: unless 'Pg', ignore qh.GOODclosest for nearest facet to thresholds. 'PdD' reports 0 good facets - poly2_r.c/qh_replacefacetvertex: initialize vertex_n in case f.vertices is empty - qconvex.c,qdelaunay.c,etc.: remove automatic 'Qx' for 5-d and higher. Set by default in qh_initqhull_globals - qvoronoi_r.c/qh_prompt: remove disabled option 'TRn' from help prompt - random_r.c/qh_argv_to_command: fixed missing braces, same behavior as before - rbox_r.c: return 0 exit status on prompt - rboxlib.c/qh_rboxpoints: use qh_fprintf_stderr instead of qh_fprintf_rbox. Avoid qh_errexit_rbox - rboxlib.c/qh_rboxpoints2: clear rbox_inuse on exit, as in error exit - rboxlib_r.c/qh_rboxpoints2: incorrect string arg to 'rbox error: unknown flag' - rboxlib_r.c/qh_rboxpoints2: remove superfluous qh_free(*simplex) - stat_r.c/qh_initstatistics: due to NOerrors cannot use qh_fprintf, use qh_fprintf_stderr instead - stat_r.c/qh_stddev: return sqrt of absolute value - testqset_r.c: if qh_NOmem, do not call qh_memfreeshort - user_eg_r.c,user_eg2_r.c: if qh_NOmem, call qh_freeqhull(qh, qh_ALL) instead of qh_memfreeshort - user_eg3_r.cpp: return 0 exit status on prompt Qhull fixed bugs introduced by 2018.0 - libqhull_r.c/qh_addpoint: clear qh.retry_addpoint on success - libqhull_r.c/qh_buildcone_mergepinched: cannot qh_delfacet inside FORALLnew_facets - libqhull_r.c/qh_partitioncoplanar: clear qh.repart_id on exit for infinite recursion detect - geom2_4.c/qh_detmaxoutside: move qh_option call to qh_errexit - merge_r.c/mergetypes[]: fixed order by mergeT - merge_r.c/qh_all_vertexmerges: fix retryfacet for repeated calls - merge_r.c/qh_forcedmerge: f.dupridge retained after MRGdupridge hides MRGdegenerate in qh_test_degen_neighbors and qh_test_redundant_neighbors - merge_r.c/qh_postmerge: call qh_freemergesets - merge_r.c/qh_test_nonsimplicial_merge: clear iscoplanar if isconcave and any vertex is not coplanar - poly2_r.c/qh_triangulate: move reset of f.degenerate into delete facet loop Qhull C++ - QhullFacet.cpp: add hasNext() and hasPrevious() - QhullVertex.cpp: add hasNext() and hasPrevious() - qhulltest-64/QhullFacet_test.cpp,QhullVertex_test.cpp: test hasNext, hasPrevious, and hasPrevious iterator - user_eg3.cpp: use 'qhull-cout' for option 'Tz' (trace to cout) Qhull errors, warnings, and tracing - Error messages rewritten and error codes changed (see qh_fprintf) Renumbered Qhull warnings as 'QH7xxx' if needed (e.g., QH9375) Reused unused error and message codes ("def counters" in user_r.h/msgcode) Please check your code if it depends on error and message codes - Initialize variables to avoid potential uninitialized warnings - Use qh_ERRqhull for Qhull internal errors, "qhull internal error (qh_...): ..." - Use 'defined()' for qh_QHpointer_dllimport and qh_dllimport (-Wundef) - Use 'defined()' for __cplusplus, _MSC_VER, __MWERKS__, and __POWERPC__ (-Wundef) - Use 'Early exit' instead of 'At a premature exit' - libqhull_r.h/qh_ERRother: define error status for non-internal errors - libqhull_r.h/qh_ERRtopology: define error status for qhull topology errors - libqhull_r.h/qh_ERRwide: define error status for wide facets due to qhull precision error - geom_r.c/qh_setfacetplane: add qh_printfacet if qh.tracefacet for qh.tracefacet_id - global_r.c/qh_freebuild: record previousfacet/ridge/vertex in case a memory fault occurs - global_r.c/qh_init_flags: improved error message for 'cannot open file' for 'TO f' - global_r.c/qh_init_flags: improved warning message for 'unknown option' - global_r.c/qh_initbuild: add trace options to "Trace level ..." - global_r.c/qh_initqhull_globals: error if qh.VORONOI without qh.DELAUNAY - global_r.c/qh_initqhull_globals: error if numpoints is <1 or >qh_POINTSmax (INT_MAX-16) - global_r.c/qh_lib_check: use C-style comment for _CrtSetBreakAlloc - io_r.c/qh_printfacetheader: add "max" if f.merges==qh_MAXnummerge (511) - io_r.c/qh_readpoints: error if numinput is <1 or >qh_POINTSmax (INT_MAX-16) - io_r.c/qh_readpoints: moved up 'chop' of qh.rbox_command to report short input errors - io_r.c/qh_readpoints: replace warning QH7073 with error message. Override with Qallow-short - libqhull_r.c/qh_addpoint: if 'T4', check qh.visible_list before qh_partitionvisible - libqhull_r.c/qh_buildtracing: add delta cpu/facets/hyperplanes to QH1049 'qh_addpoint: add p%d...' - merge_r.c/qh_findbest_pinchedvertex: replaced assert with a 'qhull internal error' - merge_r.c/qh_check_dupridge: drop advice about reporting wide merges for error QH6271 - merge_r.c/qh_mark_dupridges: topological error if multiple dupridges for one facet, not handled - merge_r.c/qh_test_nonsimplicial_merge: if Qx and many merges, replace centrum_radius with maxoutside - poly_r.c/qh_matchneighbor: drop extra warnings for duplicate facet (QH7084) - poly_r.c/qh_matchnewfacets: check for simplicial facets on qh.newfacet_list, otherwise memory overwrite by qh_matchneighbor - poly2_r.c/qh_checkconvex: identify simplicial checking of vertices (qh.ZEROcentrum, default) - poly2_r.c/qh_checkconvex: distinguish above from coplanar for non-convex initial simplex - poly2_r.c/qh_checkconvex: "non-convex initial simplex" for qh_joggle_restart - poly2_r.c/qh_checkfacet: check f.id and f.vertex_visit - poly2_r.c/qh_checklists: check and repair facet and vertex lists for infinite loops or overwritten facets/vertices - poly2_r.c/qh_checkpolygon: if qh.NEWfacets, check visible facets for empty f.neighbors and f.ridges - poly2_r.c/qh_checkpolygon: add qh_checkvertex - poly2_r.c/qh_checkpolygon: check f.previous and v.previous links (for C++) - poly2_r.c/qh_checkvertex: add parameters for allchecks and waserror (like qh_checkfacet) - poly2_r.c/qh_checkvertex: check v.id and v.vertex_visit - qvoronoi.c/hidden_options: hide option 'FM'. Maple output is not available - rboxlib_r.c/qh_rboxpoints: use QH6... for error codes instead of warnings - stat_r.c/qh_stddev: check for division by 0 - testqset_r.c: send all messages, except 'OK' to stderr - testqset_r.c: reassign unique QH8nnn codes, 8001/etc in use by libqhull_r - user_r.c/qh_printhelp_internal: add descriptive message for a Qhull internal error - user_r.c/qh_printhelp_narrowhull: add option 'Qs' (search all points) - user_r.c/qh_printhelp_topology: add descriptive message for a Qhull topology error - user_r.c/qh_printhelp_wide: add descriptive message for a wide merge error - user_eg_r.c: add fflush and '=======' markers to interleave stdout with stderr (MSYS2) - user_eg2_r.c: add fflush and '=======' markers to interleave stdout with stderr (MSYS2) - user_eg2_r.c: add warning about calling qh_addpoint after qh_qhull with 'QJ' (joggle) Qhull documentation and statistics - Add Index to README.txt - Add links to Wiki, http://github.com/qhull/qhull/wiki - Add links to local home page (index.htm) - Add GitHub, Scholar, and Code to navigation bar on home page - Change numbered fixups to 'QH110nn FIX:' and renamed as MSG_FIX - Chrome and Internet Explorer load '.c' and '.h' files as text/html from the Web These browsers along with Firefox do not read disk files as text/html Changed 'Functions' link from a local link to "http://www.qhull.org/src/libqhull_r/index.htm" - Document implicit parameters at end of parameter list with '/* qh. ... */' - Limit maximum length of literals to 1800 characters - Move 'called by' comments to start of 'notes:' - Option 'QRn' appends the actual QRn to the summary line ('s') - Remove references to 'Qx' in 5-d and higher. It is automatically set by default. - Replace references to 'src/libqhull/*.htm' with reentrant 'src/libqhull_r/*_r.htm' - Retitle 'Qhull internals' as 'Qhull code' - Use 'nearly adjacent vertices' instead of 'nearly coincident points' - Use 'dupridge' instead of 'duplicate ridge' for ridges with more than two neighbors. Reserve 'duplicate ridge' for two ridges with the same vertices. - Various edits to documentation (*.htm) - Update copyright to 2019 - eg/q_test: Add examples to q_test "front ends" - html/index.htm: Add 'Limitations of merged facets' to the Qhull manual - html/index.htm: Add links to qdelaun_f.htm and qvoroin_f.htm (furthest-site) - html/qconvex.htm,etc: update synopsis and options - html/qh-code.htm: Add 'qh_addpoint' trace to 'Performance of Qhull' - html/qh-code.htm: Add a section on 'Debugging Qhull' with subsections for error codes, infinite loops, trace options, core dumps, segfaults, qtest.sh, and memory errors. - html/qh-impre.htm: Add 'Topological error' to 'Precision problems' - html/qh-impre.htm: Add 'Topological errors' to 'Limitations of merged facets' - html/qh-impre.htm: Add "narrow range of values" to 'Uneven dimensions' - html/qh-optq.htm: Add note to 'QJ' (joggle) about calls to qh_addpoint - html/qh-optt.htm#'Tc': 'T4' makes additional checks beyond check-frequently - html/qhalf.htm: Split the first example to clarify the "feasible point" for qhalf - html/qhalf.htm: Use 'feasible point' instead of 'interior point' for halfspace intersection Same as Qhull::feasiblePoint and distinguished from qh.interior_point - html/qhull.man,qhull.txt: updated man page - libqhull_r.h: update documentation for PRINTgood, GOODpoint, GOODvertex - qhull_ra.h: include '<limits.h>'. Used for INT_MAX,etc. - stat.h: add zretryadd stats for qh_merge_pinchedvertices - stat.h: add zvertextests for distance tests of vertices for merging - libqhull_r/*: document global variables as 'qh.' - libqhull_r/*: fix libqhull/... links - libqhull_r.c/qh_partitioncoplanar: reword Zpartflip as Zpartcorner with updated messages - merge_r.c/qh_merge_degenredundant: rename statistic Zneighbor to Zredundant - stat_r.c: new or reworded statistics for Zpartcorner, Zparthidden, Zparttwisted, Zpinchduplicate, Zpinchedvertex - stat_r.c: rename 'renamed vertex statistics' to 'statistics for vertex merges' - stat_r.c: add merge statistics for MRGconcavecoplanar - stat_r.c/qh_allstat: add ' ' before parens in statistics - user_eg_r.c,user_eg2_r.c: rewrote prompt Qhull changes - For simple initializers, remove spaces (e.g., 'for (i=0; ...') - Normalize spacing for libqhull - Normalize spacing as 'for (i=0; ...' for simple initializers - Review use of '>' for comparison to negative quantities. Usually should be '>=', e.g., for coplanar tests - Reassigned 8xxx and 9xxx codes as trace codes if traced at T3 or lower - Remove unused variables - Test floating point values with 0.0 instead of 0 (qh.premerge_centrum,lower_bound,upper_bound) - Use SETsecondt_() and SETelemt_() instead of SETelem_() when assigning to a specific type - Use '(type *)' for pointer casts. It makes the cast more visible. - Use void for empty parameter lists - geom_r.c/qh_findbesthorizon: mark startfacet visited, avoids unnecessary visit - geom2_r.c/qh_detmaxoutside: determine precision target qh.MAXoutside (option _maxoutside at error exit) replaces 'maxoutside' computation - geom2_r.c/qh_maxsimplex: add ratio test for false narrow hull with search for prevdet [J. Romain] - global_r.c/qh_freebuild: free global sets first instead of last, otherwise dangling references - io_r.c/qh_compare_nummerge: renamed qh_compare_facetmerge due to conflict with merge_r.h - io_r.c/qh_compare_vertexpoint: remove this routine. Not usable in libqhull_r due to 'qh' - io_r.c/qh_printfacetridges: do not print ridge if already printed (e.g., duplicate neighbors for merge of simplicial facets) - io_r.c/qh_produce_output2: fflush of qh.fout to show statistics and verification after output (MSYS2) - libqhull_r.h/qh.ALLOWwide: rename qh.NOwide to qh.ALLOWwide for 'Q12-allow-wide' - libqhull_r.h/qh.IGNOREpinched: replaced qh.MERGEpinched with reversed meaning - libqhull_r.c/qh_addpoint: 'TVn' stops after qh_all_vertexmerges, not before qh_resetlists. Matches documentation - merge_r.h/MRGdupridge: renamed MRGridge - merge_r.h/qh_ANGLEconcave,etc.: replace mergetype indicators with qh_ANGLEnone and m.mergetype - merge_r.c/qh_all_vertexmerges: replace qh_getmergeset_initial with qh_getmergeset. No facets created - merge_r.c/qh_all_vertexmerges: move while loop into qh_all_vertexmerges - merge_r.c/qh_append_mergeset: ignore merges into a MRGdegen facet (f.degenerate) - merge_r.c/qh_buildcone_mergepinched: clean up code and design documentation - merge_r.c/qh_compare_anglemerge: renamed qh_compareangle and sort by mergetype as well as angle - merge_r.c/qh_compare_facetmerge: merge MRGcoplanar before MRGconcave, opposite order from 2015.2 sort MRGanglecoplanar by angle - merge_r.c/qh_degen_redundant_facet,qh_test_degen_neighbors: moved into qh_mergefacet due to qh_willdelete - merge_r.c/qh_getmergeset,qh_getmergeset_initial: set f.tested after testing ridges, not before - merge_r.c/qh_next_facetmerge: split out next merge from qh_all_merges and replace qsort - merge_r.c/qh_findbest_pinchedvertex,qh_findbest_ridgevertex: dropped selecting merge direction via qh_vertex_isbelow. Expensive and evidence mixed - merge_r.c/qh_freemergesets,qh_initmergesets: pair qh_initmergesets with qh_freemergesets - merge_r.c/qh_freemergesets,qh_initmergesets: drop the 'all' parameter - merge_r.c/qh_mergecycle_all: move qh_merge_degenredundant, etc. to end from qh_premerge - merge_r.c/qh_mergesimplex: delete facet1 from facet2.neighbors at end, not at ridge - merge_r.c/qh_post_merges,qh_all_merges: remove setting of v.delridge on all vertices, not needed - merge_r.c/qh_premerge: replace parameter 'apex' with 'apexpointid'. Only used for logging - merge_r.c/qh_premerge: add qh.newfacet_list as an implicit parameter - merge_r.c/qh_test_degen_neighbors: split from qh_degen_redundant_neighbors and qh_mergefacet - merge_r.c/qh_test_redundant_neighbors: split from qh_degen_redundant_neighbors and qh_mergefacet - poly_r.c/qh_attachnewfacets: clear f.neighbors and f.ridges for visible facets, will be deleted - poly_r.c/qh_matchnewfacets: remove call to qh_checkflipped_all for qh.FORCEoutput, checked by qh_setfacetplane - poly_r.c/qh_update_vertexneighbors: renamed qh_updatevertices. A future version will optimize qh_update_vertexneighbors_cone: optimization for cone of new facets - poly2_r.c/qh_checkconvex: immediate skip of f.tricoplanar facets. Tricoplanar facets not tested. Called before qh_triangulate - poly2_r.c/qh_initbuild: move 'create sentinels' before qh_createsimplex so that qh.vertex_tail is v0 like f0 - poly2_r.c/qh_initialvertices: cleaned up code for qh_INITIALmax (8-d) - poly2_r.c/qh_makenewfacets: clear f.neighbors and f.ridges for visible facets, will be deleted - poly2_r.c/qh_matchdupridge: optimize dupridge for flipped->!flipped, good merge, not !flipped->flipped - poly2_r.c/qh_matchdupridge_coplanarhorizon: dropped routine. Results same or slightly worse. Complex addition, rarely used - poly2_r.c/qh_triangulate: rename facet and vertex lists as triangulated_facet_list,etc. qh_triangulate does not maintain qh.newfacet_list or qh.visible_list - poly2_r.c/qh_triangulate: ignore qh.NEWfacets. qh_checkpolygon is not valid inside qh_triangulate - rboxlib_r.c/qh_rboxpoints2: split function from qh_rboxpoints to avoid -Wclobbered - stat_r.c/qh_printstatlevel: remove unused NULLfield Qhull C++ changes - Use NULL instead of 0 for pointers - Remove old style casts such as '(size_t)...' - Define initializers for default constructors even if explicitly assigned - Update static initializer list for s_empty_facet, s_empty_ridge, s_empty_vertex - Coordinates.h: default constructor clears coordinate_array - Coordinates.h: default iterator constructor clears i - RboxPoints.cpp/qh_fprintf_rbox: add empty default to switch statement |
||
nros
|
0ab4187aa3 |
Updated qhull to version 2015.2.
Changelog:
------------
Qhull 2015.2 2016/01/18 (7.2.0)
- Fixed memory leak in ~QhullQh [M. Sandim]
QhullQh.cpp: call checkAndFreeQhullMemory() in the destructor. Otherwise memT is not freed.
Remove checkAndFreeQhullMemory() from Qhull.h. It is not needed.
Remove calls to checkAndFreeQhullMemory in qhulltest. It is called by ~QhullQh()
libqhull_r.h: Document qh_ASvornoi and facetT.center
qh_freeqhull: if qh_NOmem, use qh_ALL
qh_memalloc: short memory is freed by qh_memfreeshort unless qh_NOmem
qh_memstatistics (mem.c): call qh_memcheck() as done in mem_r.c
qh_new_qhull calls qh_memcheck
qh_newvertex: free vertex on error
qh_projectinput: Free memory allocations on error
qh_rboxpoints: free simplex on error
qh_sethalfspace_all: Fixed memory leak on error QH8032 feasible not inside halfspace
qh_triangulate_facet: For TRInormals ('Q11') replace qh_copypoints with qh_memalloc
qh_triangulate_facet: Document qh.TRInormals
qh_voronoi_center: Free center on error
qhulltest: Fixed memory leak of s_testcases by calling RoadTest::deleteTests()
qhulltest: The 'add_*_test' functions append the test object to RoadTest::s_testcases
~RoadTest: declare virtual for Q_OBJECT, removeAll not needed
user_eg2: Check memory at end of each run
user_r.h: Add QHULL_CRTDBG for invoking Microsoft's memory leak detector
use _MSC_VER instead of QHULL_OS_WIN for QHULL_CRTDBG
Call qh_freeqhull with qh_ALL/!qh_ALL instead of 'True/False'
Include user_r.h with RoadError,h for QHULL_CRTDBG
Invoke _CrtSetDbgFlag... at beginning of program
Moved user_r.h/libqhull_r.h/qhull_ra.h as first include (for QHULL_CRTDBG)
Moved QHULL_OS_WIN from qhull_ra.h to user_r.h
Removed __CYGWIN__ from QHULL_OS_WIN (same as Qt's qglobal.h)
- check_dupridge: A bounding box is not sufficient to avoid dupridge errors
- qh_findbestneighor: Error if qh.CENTERtype is qh_ASvoronoi (i.e., no merging now)
- qh_printstatlevel: Remove unused parameter, 'start'
- QhullLinkedList::last() and back(): Return T instead of T& (T is computed)
- qh-code.htm: "How to convert code to reentrant Qhull"
Update "Nearly coincident points on an edge"
Add 2012 size of data structures to "Qhull on 64-bit computers"
- html/index.htm: Add CGAL to "When to use"
- qh-optq.htm: Add documentation for option 'Q12'
- Move suggestions from Changes.txt to qh-code.htm#enhance
- user_r.h: Fixed qh-us_r.html links
- Fixed links in html pages
- QhullIterator and QhullLinkedList: Include <iterator> [B. Boeckel]
- Moved include file for each C++ source file to the top of the includes
- Prepend cpp includes with "libqhullcpp/"
- RoadLogEvent includes RoadLogEvent.h
- QhullIterator.h: Only QHULL_DECLARE_SEQUENTIAL_ITERATOR is used.
- Compared src/libqhull/* to src/libqhull_r/* and resolved differences
- qh_printpoint in io.c skips qh_IDnone like io_r.c
- qhull_p-exports.def: Added three missing exports
- set_r.h: Removed countT. Too many issues
- libqhull_r/Makefile: Add help prompts to 'make qtest'
- libqhull.pro: Add '../libqhull/' to sources and headers
- libqhull/Makefile: Fixed -I,./,,/src
- qhull-zip.sh: Add CMakeModules to tarball [C. Rosenvik]
- CMakeLists.txt: Add targets qhullp and user_egp for qh_QHpointer and libqhull_p
- Reorganized 'make help'
- Makefile cleanall: Delete testqset and qhulltest from bin/
- Fix filetype of Unix-only files
- Fix Unix line endings for Makefile and check in qhull-zip.sh
- Fix Windows line-endings and check in qhull-zip.sh
- qhull-zip.sh: Check for Unix text files
------------
Qhull 2015.1 2016/01/03 (7.1.0)
- Add Rbox option 'Cn,r,m' to add nearly coincident points. Trigger for duplicate ridges
- Add Qhull option 'Q12' to ignore error on wide merge due to duplicate ridge
- qh_findbestlower: Call qh_findfacet_all to fix rare "flipped or upper Delaunay" error QH6228.
QH6228 input provided by J. Metz. Reported (date order): L. Fiaschi, N. Bowler, A. Liebscher, V. Vieira, N. Rhinehart, N. Vance, P. Shafer
- qh_check_dupridge: Check if wide merge due to duplicate ridge from nearly coincident points
- qh_initialhull: Fix error messages for initial simplex is flat
- qh_determinant: increased 2-d and 3-d nearzero by 10x due to a counter-example
- rbox: Add qh_outcoord() to output coordinates w/ or w/o iscdd
- qh_meminit (mem.c): Add call to qh_memcheck
- Compare libqhull/... to libqhull_r/... and resolve differences
- Update builds for DevStudio (qhull.sln for msdev 2005..2009, qhull-32.sln and qhull-64.sln for recent releases)
- qh-impre.htm: Add a section about precision errors for 'Nearly coincident points on an edge'
- html/index.htm#geomview: Document how to install, build, and use Geomview.
- html/index.htm: Emphasize program links and move related urls to end
- qhull/index.htm: Emphasize manual, geomview, and imprecision
- Fix documentation links in libqhull_r/index.htm
- Add 'Functions' link to documentation headers
- Change '<A>...</A>' to '<a>...</a>'
- libqhull_r/index.htm -- Add instructions for configuring web browsers for source links.
- libqhull_r/ -- Fix source links for ..._r.htm files
------------
Qhull 2015.0.7 2015/11/09 (7.0.7)
- Fix return type of operator-> in QhullLinkedList and other collection classes [F. Jares]
- Fix return types for QhullLinkedList
- Fix return types for QhullPoints
- Simplify return type for Coordinates::operator[] (same as QList)
- Add const to operators for QhullSet::iterator and add documentation
- Coordinates.h: Fix return types for operations of iterator and const_iterator
- Drop use of Perforce changelist number in qhull_VERSION of CMakeLists.txt
- Rename the md5sum files as *.tgz.md5sum instead of *-tgz.md5sum
- Fix build dependency for testqset_r [asekez]
- rbox.c depends on Qhull due to qh_lib_check which uses qh_version2 for error messages
- QhullFacet_test.cpp: Annotate Qhull invocations. Allows their repetition.
- QhullFacet_test.cpp: Adjust epsilon on distance tests
- Do not create libqhullcpp as a shared library. Qhull C++ classes may change layout and size.
- qhull-cpp.xml: Make a relative path to road-faq.xsl
------------
Qhull 2015.0.6 2015/10/20 (7.0.6.2013)
- In the libraries, exit() is only called from qh_exit(). qh_exit may be redefined.
- Add qh_fprintf_stderr to usermem.c. May be overridden to avoid use of stderr [D. Sterratt]
Add usermem to testqset builds
Used by qh_fprintf_rbox
- Remove most instances of stderr/stdout from libqhull, libqhull_r, and libqhullcpp [D. Sterratt]
qh_fprintf_stderr may be redefined. qh_meminit and qh_new_qhull use stderr as the default ferr
- qh_initflags: Use qh.fout instead of stdout for 'TO file'. A library caller may define a different qh.fout.
- qh_settemppush: Call qh_fprintf() instead of fprintf() on error.
- Rename qh_call_qhull as "Qhull-template" from user.c. Updated its references.
- qh-code.htm: "How to avoid</a> exit(), fprintf(), stderr, and stdout"
- html/index.htm: Fix table of contents for qh-code
- libqhull_r/index.htm: Rewrite introduction to Reentrant Qhull
- qh-faq.htm: Rewrite "Can Qhull use coordinates without placing them in a data file?"
- qh-get.html: Link to github
- Remove qhull_interface.cpp from the documentation
------------
Qhull 2015.0.5 2015/10/12 (7.0.5.1995)
- qh_new_qhull: default 'errfile' is 'stderr'. outfile and errfile are optional [B. Pearlmutter]
- qh_new_qhull: returns qh_ERRinput instead of exit() if qhull_cmd is not "qhull ..." [B. Pearlmutter]
- qhalf_r.c,etc: Add clear of qh.NOerrexit
- global.c: gcc 4.4.0 mingw32 segfault cleared by adding comment
- usermem_r-cpp.cpp: Optional file to redefine qh_exit() as throw "QH10003.." [B. Pearlmutter]
qh_exit() is called by qhull_r when qh_errexit() is not available.
- html/index.htm: Add bibliographic reference to Golub & van Loan and annotated the source references
- qhalf.htm: A halfspace is the points on or below a hyperplane [D. Strawn]
- qh-opto.htm#n: Defined inside, outside, on, above, and below a hyperplane [D. Strawn]
- qhalf.htm#notes: Recast the linear program using negative halfspaces (as used by Qhull) [D. Strawn]
- qhull_a.h: Fix comment '#include "libqhull/qhull_a.h" [fe rew]
- build/qhull*.pc.in: Templates for pkg-config (derived from Fedorra) [P. McMunn]
|
||
agc
|
286ea2536c |
Add SHA512 digests for distfiles for math category
Problems found locating distfiles: Package dfftpack: missing distfile dfftpack-20001209.tar.gz Package eispack: missing distfile eispack-20001130.tar.gz Package fftpack: missing distfile fftpack-20001130.tar.gz Package linpack: missing distfile linpack-20010510.tar.gz Package minpack: missing distfile minpack-20001130.tar.gz Package odepack: missing distfile odepack-20001130.tar.gz Package py-networkx: missing distfile networkx-1.10.tar.gz Package py-sympy: missing distfile sympy-0.7.6.1.tar.gz Package quadpack: missing distfile quadpack-20001130.tar.gz Otherwise, existing SHA1 digests verified and found to be the same on the machine holding the existing distfiles (morden). All existing SHA1 digests retained for now as an audit trail. |
||
asau
|
b63c74fdfd | "user-destdir" is default these days | ||
drochner
|
9eb6df105e |
add patch from upstream to fix signedness error in hash calculation
which can lead to an overwrite or segfault bump PKGREV |
||
joerg
|
62d1ba2bac | Remove @dirrm entries from PLISTs | ||
joerg
|
2d1ba244e9 |
Simply and speed up buildlink3.mk files and processing.
This changes the buildlink3.mk files to use an include guard for the recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS, BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of enter/exit marker, which can be used to reconstruct the tree and to determine first level includes. Avoiding := for large variables (BUILDLINK_ORDER) speeds up parse time as += has linear complexity. The include guard reduces system time by avoiding reading files over and over again. For complex packages this reduces both %user and %sys time to half of the former time. |
||
joerg
|
3b0d97b0de | Add DESTDIR support. | ||
drochner
|
b8d694fce6 |
import qhull-2003.1, a program/library to calculate convex hulls
(can be used by octave and others) |