Update from internal Diamond fork

Switched to faster data access using Java NIO direct buffers so the
methods cbf_get_realarray and cbf_get_intarray have changed to use NIO
byte buffers instead of arrays. The array wrapper classes have been
removed.

Tests have been extended to demonstrate the reading of data.

Peter.Chang@diamond.ac.uk
11/12/2020


An initial set of Java wrapper classes for CBFlib-0.8.0 has been
implemented using SWIG. A pair of example programs (testcbf.c and
testcbf.java) are included that show the similarities and differences
of using CBFlib in C and Java.

This has been tested using Red Hat EL 4.7 WS for i568 and Red Hat EL
5.3 WS for x86_64 with Sun's JDK. It was also tested using Microsoft
Windows XP with MinGW and MSYS.

In addition to the static methods in org.iucr.cbflib.cbf, six helper
classes are included: four wrapper classes for C pointers that point
to size_t (sizetP), int (intP), unsigned int (uintP) and double
(doubleP); two wrapper classes for C arrays that hold int (intArray)
and double (doubleArray). Also, some helper functions for a pointer to
pointer to char (charPP_*) aid the output of strings, and pointer
casts to void (int_void and double_void). CBF_NODETYPE is supported
too as mapped to ints. Finally, a constructor and a destructor has
been added to the cbf_handle_struct class.

Peter.Chang@diamond.ac.uk
23/03/2009
