Revision history for Perl extension Numeric::LL_Array.

0.01  Wed Nov 30 17:55:12 2005
	- original version; created by h2xs 1.23 with options
		-b 5.8.7 -Afn Numeric::Array

	First (stubbish) accessor works.

0.02	Regularization of internal typing/field naming system.
	Real accessors work.
	0-arg methods work.

0.03	1-arg, 2-arg methods implemented (minimally tested only).
	Semantic of playgrounds, strides and formats documented.
	Naming convention of the functions documented.
	The 0, invalid, entry in the dispatch table modified to cause
	  croak(), not segfault.
	Avoid creation of XSUBs referencing the invalid 0 entry.
	Accessors for Perl format letters for internally used types.
	More reasonable docs.
	typemap added.
	Clean headers for types and unused functions.
	Check with Perl v>= 5.00553, and with threads.

0.04	Lists of supported handlers provided.
	Remove defaults for arguments in 0- 1- 2-arg handlers.
	Misprint in lookup of 1-arg handlers.
	Hint about passing by reference.

0.05	checkfit() did not check for negative (and 0!) counts
	checkfit() did not match semantic of source sizes
	Beginning of framework for 2dim multi-grid (does not treat
		boundary conditions well enough, so convergence is slower
		than expected).
	We take into account that long double is broken under BSD;
		elementary functions over `D' argument are not supported
		if elementary_D_missing() is TRUE; currently
  cos sin tan acos asin atan exp log log10 sqrt ceil floor trunc rint pow.
	Hints on implementation of convolution.

0.06	Signed vs unsigned comparison fixed from C semantic to math semantic.
	Test script for comparison added.
	Minor updates to docs (including future directions).
	Results of comparison operators (le ge lt gt eq ne) may be any integer
		type (may increase the DLL size by 20%).
	Parametrized import, as in qw(:x=d access_x).
	abs() for long long and unsigned types
	Compress code slightly more for symmetric ops - for equal size of
		operands, prefer the first one to be signed.
	Check for overflow of ptrdiff_t in checkfit()
	use ldexp[l] for <<, <<=, >>, >>= for floating-point source1 or target
	bitwise operators, and assignment flavors
	log log10 sqrt with non-floating point targets implemented
	ne0 (meaning a != 0) implemented

0.07	Protect ceil/trunc/rint/abs too against missing long double flavors.
	Touch version in .pm file.
	Sort C functions in a particular order.

0.08	Use '--miss=LIST' as argument to
	Support rint(), trunc(), cbrtl(), _cbrtl() in LIST
	Touch version in .pm file.
	Infrastructure in XS to support handler C files split in smaller chunks.
	modf, frexp added (with source2 playing the role of the 2nd target).

0.09	Split handler C files inot smaller chunks
		(should severely reduce the required memory during compilation:
		 now builds when 130MB of free_mem + swap/tmp
		 [takes 15min on Ultra5/333MHz]
			*and* may speed up compilation - if quadratic algos).

0.10	Add all wider targets to mult and sproduct.
	Remove narrower targets from mult and sproduct
		(in fact, we removed more than added!).
	Add wider integer targets to lshift.
	Add casts to wider target to lshift, mult and sproduct
		(What to do if integer sources, and FP target not wider???).
	New binary ops min/max, unaries min_assign/max_assign.
	Add docs on matrix multiplication via fake dimensions.
	Add "no edit!" warnings to autogenerated files.
	More distinctive labels on subtests in test suite.
	signed_cmps.t: test for casting of result was busted.
	New tests sinl.t and 00_load.t (with report of MakeMaker args to
		work around bugs in smoke testing).

0.11	my_cbrtl(): move choice of defines from to Makefile.PL.
		Should simplify debuggin Irix/OpenBSD problem(s)...
	inspect presence of logl() too (sinl() OK in OpenBSD, but no others...)
	Move .pm file to the root of distribution.

0.12    t/sinl.t was not updated for possibility of logl() to be found missing.

0.13	More diagnostics in handlers' loader (smoke testing puzzle on MSWin32)

0.1301	Yet more diagnostics for smoke testing puzzle on MSWin32

0.14	Fix confusion between %conv and %dups in
		(triggered by longdblsize=8 on MSWin32???)
	Remove space from the list of name tags (why did I put it there???)
	New test to check sanity of the list of name tags.

0.1401	sinl.t was giving uninterpolated message.
	`sane elementary_D_missing()' was not taking into account
		"double may eq long double".

0.15	Misprint in code generator might have missed casts when multiplying
		e.g., char * quad into unsigned quad (is this cast needed???).
	Rearrange chunks of generated C files to minimize max of .obj size (see
		for example of running out of memory); now within 25%
		of each other on i386 gcc2.8.2 (does not make sense to optimize
		more, since non-portable).  Max .obj went from 410K to 285K
		(the broken system could compile what was 211K on my system).
	Try to deduce missing `cl' UQUAD to double conversion
		(remove -DMY_NEED_UQUAD_TO_DOUBLE and option uquad2double
		 in macro if false positive).
	Implement UQUAD to double conversion.
	Use UQUAD to double conversion for generated files (XXXX now only
		for source, not for targ...)
			XXX Need also for 1-arg with FP target:
			   abs, ***=, min/max_assign, flip_sign, bitcomplement
				(for ***= also with FP source???)
			XXX Need also for wider targets of * and <<...
			XXX Need also for + between UQuad and float...
		Disable all 1-arg and 2-arg operations between Uquad and float
			(unless transcendental functions)
			(postpone until somebody actually needs it???).
	have_uquad2double() for introspection

0.1501  add #line directives to code*.h to see which handler is processed now

0.1502	the macros for #line were not compatible with picky cpp's

0.1503	the macros for #line need an extra stage of expansion

0.1504	assign() OPCODE was checking for a need to uquad2double() with an
		inverted source/target (UQUAD to double flavor).