2010-01-22  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.2-2

	* src/convert.c (R_rnd2GMP): new; allow to specify
	"rounding mode" from R. For now, for conversion to MPFR.
	Change default to use (round to) [N]earest rather than [D]ownwards.


2010-01-21  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.2-2

	* R/as.R (formatMpfr): add 'showNeg0' argument, and fix printing of
	zeros.

	* R/mpfr.R ([): ensure out-of-range indexing returns valid "mpfr".

	* tests/create.R: test the above.

2010-01-20  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/mpfr.R (.getPrec, getPrec): previous getPrec() renamed to
	.getPrec(); the new getPrec() also works for simple R "numbers",
	and is used in mpfr(), and the following :

	* R/mpfr.R ([<-): for non-"mpfr" value, use at least the previous
	precision, following a chat with Petr Savicky.

	* src/convert.c (d2mpfr1_list): ensure x is recycled when prec
	is longer than x.
	(str2mpfr1_list): ditto.

2010-01-18  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.2-1

	* R/array.R (.matmult.R): "obvious" speed up, replacing the
	innermost for() loop by a sum(); inspired by a patch from Petr.
	*However* the real speedup would use a .Call(..) directly!

2010-01-16  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/mpfr.R (.mpfr.repl, [<-): change such that  x[] <- 1  works;
	also z[i] <- v when i is larger than length(z).

	* tests/create.R: test the above.

2010-01-15  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/array.R (.matmult.R): tcrossprod changes along to the bug fix
	in R (!).

	* DESCRIPTION (Version): 0.2-0

2010-01-14  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/array.R ([<-): define for more signatures
	(%*%, crossprod, tcrossprod): extend signatures to include more
	pairs, and using "Mnumber" instead of just "array_or_vector".

	* tests/matrix-ex.R: test part of that

	* man/*-class.Rd: additions, notably as.vector() and
	as(<mpfrMatrix>, "vector").

2010-01-13  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.1-8

	* R/Math.R (.mpfr.sign): fix to ensure sign(0) |-> 0.  Reported by
	Petr Savicky.
	* tests/arith-ex.R: test it.

	* src/init.c, src/convert.c (d2mpfr): outcomment unused function

2009-10-31  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/array.R: add "mpfrArray" -> "matrix" coercion

	* R/Arith.R (Arith): fix length check in ("mpfr", "array")

	* R/Consts.R (Const): nicer error message when 'name' is invalid.

2009-10-29  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/special-fun.R (beta, lbeta): new methods added

	* src/utils.c (my_mpfr_beta, my_mpfr_lbeta): own C functions,
	calling mpfr_*() ones, for beta() and lbeta().

	* tests/special-fun-ex.R (B,lB): add tests for beta(), lbeta()

2009-09-14  Martin Maechler  <maechler@stat.math.ethz.ch>

	* src/Makevars.win: -lmpfr *before* -lgmp  (does matter some places)

2009-09-10  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/mpfr.R (mpfrVersion): factor out .mpfrVersion()

2009-09-07  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.1-7; released to CRAN

	* R/mpfr.R (mpfrVersion): amend for funny version string on Debian
	testings.

	* R/mpfr.R (mpfrVersion): new utility
	* src/utils.c (R_mpfr_get_version): C level
	* man/utils.Rd: doc

	* src/Ops.c (Math_mpfr): older MPFR libraries do not provide Li2().

2009-09-03  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/Math.R (factorial): method which rounds in integer case.
	* man/mpfr-class.Rd: docu and examples.

	* man/is.whole.Rd: new for new  is.whole()

2009-09-02  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/special-fun.R (Li2): add Li2()

	* man/mpfr-class.Rd: explicitly "enumerate" the 'Math' and
	'Summary' group functions.

2009-09-01  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.1-6, CRAN-released on 2009-09-04

	* R/Math.R (Math2, i.e., round, signif): allow missing digits
	{ => default digits = 0 or 6, respectively}.

	* R/mpfr.R (print, etc): use drop0trailing = TRUE per default.

	* R/as.R (formatMpfr): renamed from .format.mpfr; finalize using
	prettyNum(), add corresponding arguments and document:
	* man/formatMpfr.Rd: new

	* src/convert.c (mpfr2str): allocate the char 'ch' ourselves,
	carefully using R_alloc() and S_realloc(); unfortunately, the MPFR
	allocator *still* messes with our SEXPs.

2009-08-31  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/mpfr.R (seqMpfr): seqMpfr(3,1)  works (again?)

2009-08-16  Martin Maechler  <maechler@stat.math.ethz.ch>

	* src/convert.c (mpfr2str): be over-PROTECT()ive, as Kurt
	reports VECTOR_ELT() errors on some platforms, and I can
	"randomly systematically" reproduce them with gctorture().

2009-08-06  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.1-5 -- release-ready

	* man/seqMpfr.Rd, ...: add all missing *Rd pages.

	* R/mpfr.R (seqMpfr): remove FIXME, using new pmin(), pmax().

	* R/Math.R (Math2): group methods - for round() and signif()

	* src/convert.c (mpfr2i): new, for as(. "integer")

2009-08-05  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/mpfr.R (pmin, pmax): now seem to work

	* R/as.R (mpfr): as(<char>, "mpfr") now uses mpfr()
	(mpfr): now also works for 'raw' and 'logical'; adding as(*,.) methods
	==>  x[.] <- NA should work

	* R/array.R (cbind, rbind): correct behavior when length/dims do
	not quite match.

	* R/array.R (dim<-): make work for NULL.

	* tests/matrix-ex.R: test these.

	* src/convert.c (d2mpfr, etc): PROTECT(.) all coerceVector()s.

2009-04-30  Martin Maechler  <maechler@stat.math.ethz.ch>

	* man/mpfr-class.Rd: mention sort(),.., duplicated(), ...

2009-04-13  Martin Maechler  <maechler@stat.math.ethz.ch>

	* src/convert.c (d2mpfr1_list, str2mpfr1_list): allow 'prec' to be
	a vector.

	* R/as.R (mpfr): now support mpfr(<character>, prec)
	* src/convert.c (str2mpfr1_list): implement character |-> mpfr

	* src/utils.c (R_mpfr_set_default_prec, *_get_*):

	* R/array.R (cbind, rbind): also work when there are "character"

	* R/AllClasses.R (array_or_vector): only contain 'atomicVector'

2009-03-31  Martin Maechler  <maechler@stat.math.ethz.ch>

	* src/Makevars.win: add this after suggestions from Uwe

2009-02-06  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/Arith.R (Compare): add missing ', .Generic' to some methods.
	* tests/matrix-ex.R: testing 'A >= 3' etc

2009-02-02  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/array.R (cbind, rbind): new "..." methods for cbind(), rbind(),
	* R/AllClasses.R:  using new "Mnumber" class
	* man/bind-methods.Rd: docu

2009-01-31  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/array.R (aperm): method.

	* R/AllClasses.R: 'Dimnames', not 'DimNames'
	* R/Arith.R: use .Arith.mpfr.num() macros etc, and make sure, these
	are used also in the <mpfr> o <array> cases.

	* tests/matrix-ex.R: test array / mpfr


2009-01-27  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/array.R (.mpfrA.subset): if A[...] has length(dim(.))== 2,
	ensure it becomes an "mpfrMatrix"

2009-01-24  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/array.R (mpfrArray): make more (user friendly) like array()
	([<-): render working also for  A[i,j,k] <- val.
	(.mpfrA.subset): make A[,,1] working
	(.mA.subAssign): separate auxiliary function for more than 1 method

2009-01-22  Martin Maechler  <maechler@stat.math.ethz.ch>

	* src/Ops.c (Math_mpfr): activate (trunc,floor,ceiling)

	* tests/arith-ex.R: and test them minimally

2009-01-12  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.1-1 -- another "snapshot"

	* R/array.R (t . mpfr): -->  [ 1 x n ] - matrix

	* R/Arith.R (.dimCheck): add  <mpfr> o <mpfrArray>  methods,
		further  <mpfr> o <array> ones, etc.
	* tests/matrix-ex.R: testing them

2008-12-31  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/Math.R: slightly re-write methods so they automagically work
	for mpfrArray.

	* R/array.R (.matmult.R): %*%, crossprod(), tcrossprod(), t(), ..
	* tests/matrix-ex.R: new

2008-12-29  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/AllClasses.R: add "mpfrArray" and "mpfrMatrix" classes.
	* R/array.R (dim<-): from "mpfr" to "mpfrArray/Matrix"

2008-12-16  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.1-0  -- "snapshot", not released.
