qhull-2011.2 2011/11/29

<li>Replace Qhull-go.pif with Qhull-go.lnk for Windows 7 64-bit [lots].
<li>Report an error if qh_newhashtable, qh_setnew, or qh_memalloc overflows [X. Cheng].  Overflow may occur on 64-bit hosts.  Qhull uses 32-bit ints for identifiers, counts, and sizes.
<li>FAQ: How to compute the volume of a Voronoi region [C, Brinch].
<li>For qhull library users, qh_new_qhull calls qh_prepare_output if !outfile [A. Aldoma].
<li>Fixed LF line endings for qhull-2009.1.2 [P. Cheeseman].
<li>Added simple makefile to src/libqhull.

Bug fixes
 - qh_new_qhull: Call qh_prepare_output if !outfile [A. Aldoma]
   No effect on qhull users since qh_prepare_output is always called.
 - Replace Qhull-go.pif with Qhull-go.lnk for Windows 7 64-bit [lots]
 - Error if qh_newhashtable, qh_setnew, or qh_memalloc overflows [X. Cheng]
   For example, 'rbox 64 D32' overflows hash table for qh_matchnewfacets
   Qhull uses 32-bit ints for identifiers, counts, and sizes. See "WARN64"
 - q_eg, q_test: change tail +3 to tail -n +3 [N. Dubray, M. Atzeri]
 - Qhull-go.bat: Changed 'cmd' to '%comspec%'

Build changes
 - Added src/libqhull/Makefile for simple gcc build of executables and lib
 - qhulltest.vcproj: Replaced full path to QT with $QTDIR (e.g., c:/qt/4.7.4)
 - Split userprintf_rbox.c from userprintf.c,
   Otherwise qhull brings in rboxlib and rbox brings in libqhull
 - Makefile: qhullx target must be after LIBQHULLS_OBJS
 - Makefile: Explicitly list rbox dependencies for qhullx target
 - MBorland: Fixed tabs
 - Placed $LIBQHULLS_OBJS in same order.  Frequently called ones together.
 - Update file lists for Make-config.sh [O. Lahaye]
 - CMakeLists: add README.txt,etc. to DOC_INSTALL_DIR [M. Atzeri]
 - Restored qhull.h-deprecated.
   qhull.h conflicts with Qhull.h on Windows systems [C. Abela]
 - make-config.sh: Add warning that it is out-of-date
 - Remove extra space in '#! /bin/sh' in q_eg, etc. [P. Cheeseman]

Source changes
 - libqhull.h: Added qh_True and qh_False for True/False [A. Mutzel]
   Did not remove or replace True/False since it is used everywhere
 - Moved error message from qh_argv_to_command to caller.  Avoids dependency.
 - user_eg3.c: Use '10 D2' as default rbox (e.g., 'user_eg3 rbox qhull d')
 - user.c, user_eg2.c: Add test of qh_qh as done in user_eg.c
 - q_test: Removed duplicate test of qhull C-0.02

Documentation
 - index.html: Added ACM Authorizer link to ACM Trans. Math. Software
 - Split Delaunay and Voronoi FAQs
 - FAQ: How to compute the volume of a Voronoi region [C, Brinch]
 - Add 'FS' to qconvex prompt (total area and volume)
 - Add clarification to 'Fv' about corner input sites [O. Can]
 - Qhull-go.bat: Removed out-of-date advice.  Added title.
 - qh-code.htm: Updated the discussion of multi-threading for C++ [I. Pirwani]
update changes.txt
Clean up for qhull 2011.2
Rewrote FAQ: How do I compute the volume of a Voronoi region?
Draft of Debian/AutoConf build

 - Adjusted the Makefile.am's for the new directory structure.
 - Kept qh_QHpointer=0 (static global data structure, qh_qh).  It is faster.
   Qhull 2012 may have a new interface which passes qh_qh as a parameter
   But the other builds of qhull 2011.2 define qh_QHpointer=1 for qhull6.so
 - Added config/changelog from the 2003.1 Debian build
 - Moved the debian/patches directory to config/
   It was not used for qhull 2009.1.  Was it used for other Debian builds?
 - Deleted the debian directory.  It was the old Debian build from 2003.1
   Rafael's config directory replaced this build..
 - Deleted Make-conf.sh (also the old Debian build)
Fix Makefile-am-html
Qhull 2012.1  2012/01/26 6.3.0.1465

Bug fixes
 - Fixed qset.c for -fno-strict-aliasing. This gcc option is no longer needed
   (disallow two pointers of differing types to the same memory location)
 - Fixed error in qh_setappend_set if first set full and second set empty
 - qh_setdelnth, qh_setdelnth_sorted: fixed wording of error message
 - qh_setcheck: error message listed size and max backwards.
 - qh_setequal: Allow NULL set as documented
 - qh_setindex: Allow NULL set as documented
 - qh_settemppush: report error if NULL

Code changes
 - Add testqset: low level test of qset.c with mem.c
 - qh_setendpointer: Implements QSet::endPointer()
 - Assigned unique error code for qh_gethash

Build changes
 - Added qhull.dll(.so) for Octave and other Debian builds
   The global data structure qh_qh is statically defined (no qh_QHpointer)
   Linked user_eg2 with qhull.dll (libqhull.so) instead of qhullstatic
   Added qh_dllimport to libqhull.h for qhull.dll with MSVC
   Changed qhull-app-shared.pri to use libqhull (without qh_QHpointer)
 - Renamed libqhull6.so to libqhull6_p.so
   Renamed qhull6.dll to qhull6_p.dll
   The _p libraries (e.g., libqhull6_p.so) require -Dqh_QHpointer
   Renamed qhull6.vcproj to libqhull6_p.vcproj
   Added libqhullp/libqhullp.pro for shared library (libqhull6_p.so)
   Added qhull-app-sharedp.pri for shared libraries with qh_QHpointer
 - Install libqhull/*.htm files into include/libqhull
 - Removed libqhull/qhull.h-deprecated
 - Other changes to Makefile builds
   Added 'make qtestall' as a smoketest of each qhull program
   src/libqhull/Makefile: Use 'ar -rs ...' instead of ranlib
   src/libqhull/Makefile: Fixed targets for cleanall
 - Other changes to DevStudio builds
   Moved pdb files for qhull libraries to lib/
   AdditionalIncludeDirectories: Removed ../src/libqhullcpp
   Use build-cmake/ for the DevStudio CMake build
 - Other changes to Qt builds
   Renamed qhull-libsrc.pri to qhull-libqhull-src.pri
 - Added explicit d2u conversions to qhull-zip.sh
 - Fixed \n vs. \r\n issues for Windows source files

 Draft of Debian/AutoConf build (untested)
 - Adjusted the Makefile.am's for the new directory structure.
 - Added testqset to bin_PROGRAMS
 - config/bootstrap.sh copies program sources into src/libqhull
 - Kept qh_QHpointer=0 (static global data structure, qh_qh).  It is faster.
   Planning a new interface (qhull7?) which passes qh_qh as a parameter
 - Added config/changelog from the 2003.1 Debian build
 - Moved the debian/patches directory to config/
   Optional patches to change smoketest message and turn on qh_QHpointer
 - Deleted the debian directory.  It was the old Debian build from 2003.1
   Rafael Laboissiere's config directory replaced this build..
 - Deleted Make-conf.sh (also the old Debian build)

Doc changes
 - FAQ: Updated notes on computing volume of a Voronoi region
 - Added direct link to ACM Digital Library for downloading the qhull paper
 - Added link to Qhull in R
 - qset.c: Updated notes about NULL sets
 - qh_setappend: clarify qh_setappend for NULL newelem
 - qh_setdellast: Fix head note
 - Add build/README.txt
 - Add uninstall instructions to README.txt and CMakeLists.txt
 - Added instructions to create build/*.vcproj to CMakeLists.txt
 - Update copyright to 2012
Updated page links.  Added Google books, patents, and blogs.
Qhull 2012.1 2012/02/02

Updated dates.
Removed some more build products from cleanall
Removed out-of-date builds from qh-get
Reorganized the links to the documentation in index.htm
Qhull 2012.1  2012/02/18 6.3.1.1490

Code changes
 - Require option 'Qz' for Delaunay triangulation/Voronoi diagram
   of cocircular/cospherical points [D. Sheehy]
 - qh_errexit: Do not call qh_printsummary or qh_printstats on qh_ERRinput
 - Change error QH6227 (all degenerate) from qh_ERRinput to qh_ERRprec
 - Change error QH6159 (ID overflow) from qh_ERRinput to qh_ERRqhull
 - eg/q_eg, q_egtest, q_test: Run if qconvex is in $PATH [M. Atzeri]

Build changes [M. Atzeri]
 - Install to share/doc/qhull instead of share/doc/packages/qhull
 - On Unix systems, install to share/man/man1 instead of man/man1
 - CMakeLists: Remove the installation of user_eg* and testqset
 - CMakeLists: Remove VERSION from qhull executables and libraries
 - CMakeLists: Define qhull_SOVERSION instead of qhull_MAJOR
 - CMakeLists: Set SOVERSION for shared libraries
 - Rename libraries to qhull, qhull_d, qhull_p, and qhull_pd
   libqhull6_p.vcproj is now libqhull_p.vcproj
   mingw builds as libqhull.dll
   cygwin builds as cygqhull-6.dll
   linux builds as libqhull.so.6.3.1 with symbolic link as libqhull.so
 - Developers using qhull 2011:
   libqhull6.so is now libqhull_p.so.  Do not use libqhull.so.
   qhull6.dll is now qhull_p.dll.  Do not use qhull.dll.
 - Merged road/ into libqhullcpp/ and qhulltest/
   Moved RoadLogEvent.* and RoadError.* to libqhullcpp
   Moved RoadTest.* to qhulltest (requires Qt)
   Installed RoadTest.h in libqhullcpp

Doc changes
 - index.htm: Mathworks uses qhull for n-d
 - qhull.htm: Fix qhull for qconvex
 - qdelaun.htm/qvoronoi.htm: Use option 'Qz' for circular/cospherical inputs
 - make help: Display targets
 - Makefile: Better messaging
Qhull 2012.1 as delivered to www.qhull.org

Fixed version in File_id.diz
Restored path variable to qhulltest.vcproj for $QTDIR
Fixed qhull-zip.sh for qhull_p.dll
Updated download page
 - Fix CMakeLists for libqhull with MATCHES [P. Gajdos]