Initial commit
Base commit
Fix insufficient cache size in rare cases

Cache is now resized (as it should be) when maximum input is exactly equal
to size.  Renamed the parameters so as to make the distinction between
'max' and 'size' clear.
Code cleanup

Consolidated the *_load functions into a macro and added a fflush to the
warn function.  NDEBUG is now enabled by default in the makefile.
Minor fixes to be more C/C++-compliant.

- Changed empty parameter lists to `(void)`.  Forgot that C still requires
  this explicitly.
Make code more Windows-compatible.

Fixed some Windows-specific issues:
- Added a timer replacement based on `QueryPerformanceCounter`.
- `<math.h>` imports the overloaded functions so when `pow` is called with
  integral arguments the compiler will complain about ambiguity.  (This is
  supposed to be fixed in C++11 but I guess MSVC is behind on this part.)
- Appears that the discrepancy in the matrix elements is a bit higher when
  compiled with MSVC, so the tolerance is adjusted for that.
- MSVC has `tgamma` now (as of version 2013) but it's declared with
  `__declspec(dllimport)` (if CRT is linked as DLL).  Hid the declaration
  from MSVC so it doesn't conflict with their declaration.
Remove unnecessary include
Update URLs
Fix implicit definition warning
Refactor API (version 1.1); old API remains available.

The API (v1.1) has been updated in order to be more consistent and sane.
The old backward-compatible API (v1.0) remains available in
`coulomb_ho2d_compat.h` (which is automatically included by
`coulomb_ho2d.h`).  The compatibility wrapper `coulomb_ho2d_compat.c`
must be linked in order to use the old API (the makefile does this by
default).

A bug with `resize_arrayd` was discovered and fixed.  This bug does not
appear to have any impact since the `count` is always greater than one
in all practical situations.

The headers have been updated to allow dynamic linking on Windows
systems.  This has not yet been tested.
Add alternative implementation based on OpenFCI and C++ interface

A faster and more accurate implementation based on OpenFCI has been
added.  The makefile can automatically download and build the
dependencies needed by OpenFCI.  The previous implementation (`am`)
remains the default in the makefile.

A C++ interface has been added for convenience.  This interface is a
header-only wrapper around the existing C interface.
Fix doc-generating makefile
Ensure QdotInteraction is always in a valid state before calculations

This fixes a bug where QdotInteraction could be in an invalid state if
`R` remains at `1`.
Update readme
Use $(MAKE) in Makefile
Fix weird bug with reuse of internal state
Disable member sorting in Doxygen

Order of struct members are significant with regards to the ABI.
Disable copy construction and copy assignment
Fix the tests, removing Windows support for now
Add support for building shared library