* More extensive unittests for nextUp.
Trivial tidying up:
* Changed all references to std.math.isXXX to the new names instead of the aliased old names.
* Moved license to end of std.math.
* IEEE754 names for isNaN, isFinite, isNormal, isSubnormal, isInfinity. Aliases for the old names have been retained.
* The non-functional nan(char[]) is replaced with NaN, getNaNpayload.
* Restored float, double versions of the trig & exp functions
* finally got rid of the private mfeq() function
* std.contracts: Added file and line information to enforce. Added errnoEnforce that reads and formats a message according to errno. Added corresponding ErrnoException class.
* std.encoding: For now commented out std.encoding.to.
* std.file: Fixed bug 2065
* std.format: Fixed bug in raw write for arrays
* std.getopt: Added new option stopOnFirstNonOption. Also automatically expand dubious option groups with embedded in them (useful for shebang scripts)
* std.math: improved integral powers
* std.md5: Improved signature of sum so it takes multiple arrays. Added getDigestString.
* std.path: changed signatures of test functions from bool to int. Implemented rel2abs for Windows. Improved join so that it accepts multiple paths. Got rid of some gotos with the help of scope statements.
* std.process: added getenv and setenv. Improved system() so it returns the exit code correctly on Linux.
* std.random: added the dice function - a handy (possibly biased) dice.
* std.file: added support for opening large files (not yet tested)
* std.utf: added the codeLength function. Got rid of some gotos.
std.contracts: added functions pointsTo()
std.numeric: minor unittest fixes.
std.bitmanip: fixed code bloat issue, reintroduced FloatRep and DoubleRep.
std.conv: minor simplification of implementation.
std.regexp: added reference to ECMA standard in the documentation.
std.getopt: changed return type from bool to void, error is signaled by use of exceptions.
std.functional: added unaryFun, binaryFun, adjoin.
std.string: updated documentation, changed code to compile with warnings enabled.
std.traits: changed FieldTypeTuple; added RepresentationTypeTuple, hasAliasing; fixed bug 1826; added call to flush() from within write; fixed unlisted bug in lines().
std.algorithm: added map, reduce, filter, inPlace, move, swap, overwriteAdjacent, find, findRange, findBoyerMoore, findAdjacent, findAmong, findAmongSorted, canFind, canFindAmong, canFindAmongSorted, count, equal, overlap, min, max, mismatch, EditOp, none, substitute, insert, remove, levenshteinDistance, levenshteinDistanceAndPath, copy, copyIf, iterSwap, swapRanges, reverse, rotate, SwapStrategy, Unstable, Semistable, Stable, eliminate, partition, nthElement, sort, schwartzSort, partialSort, isSorted, makeIndex, schwartzMakeIndex, lowerBound, upperBound, equalRange, canFindSorted.
std.thread: fixed so it compiles with warnings enabled.
std.file: made getSize() faster under Linux.
std.random: fixed so it compiles with warnings enabled; improved function uniform so it deduces type generated from its arguments.
std.format: added fixes to make formatting work with const data.
std.path: minor documentation changes.
-- add std.getopt
-- add std.variant
-- switch strings over to be invariant rather than const
-- hopefully the last big linux makefile overhaul
-- fix for bug 1579: write[ln] fails for obj.toString()
-- fix negative precision handling in std.format
-- add some file and directory iterator helpers
-- among other little changes here and there...