=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
File:           datamanip.changelog (general toolbox CHANGES log)
Object Type:    TOOLBOX
Object Name:    $DATAMANIP
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

* 15 Apr 1995 - Donna Koechner
	kformats
  	* removed postscript output (-ps).  For postscript output use
        	IMAGE::ipostscr
  	* added ARF format

* 12 Apr 1995 - Scott Wilson
        Added a minimal testsuite to kbitwise. Made sure to irritate BIT data.

* 12 Apr 1995 - Scott Wilson
        Added code to kbitwise to mask off extraneous bits from the intermediate
        processing data if the output object data type is KBIT.

* 12 Apr 1995 - Scott Wilson
        For karith1, change the processing type from KLONG to KULONG for those 
        cases where BIT operators are selected. Also added some code that
        specially handles data that was upcast from KBIT (and will thus
        be downcast to KBIT on output) to deal with the extra bits
        that are set but are not relevant. The testuites for BIT now pass.

* 07 April 1995 - Steve Kubica
	Installed klocxform : Rotate, Translate, and Scale Location Data 

* 05 April 1995 - Steve Kubica
	Installed kgenloc : Generate Location Data.

* 03 April 1995 - Donna Koechner
        combined the todo and bugs file into single todo files with standard
        headers so that we can use kprocinfo to compile todo and bug lists 
        in html.

* 02 April 1995 - Scott Wilson
	Installed kkmeans : Perform K-means Clustering

* 19 March 1995 - Donna Koechner
	modified karith2/lkarith2 (for more info, see the karith2 changelog)
	* handles objects with explicit location/time data
	* uses the mask substitute value attribute 
	* added use_subpos parameter to lkarith2() function call
        * Moved (and made name changes) the following functions from
          DATAMANIP::kdatamanip (karith2.c) to BOOTSTRAP::klibm (kdata_arith2.c)
                karith2_ubyte --> kdata_arith2_ubyte
                karith2_ulong --> kdata_arith2_ulong
                karith2_long --> kdata_arith2_long
                karith2_double --> kdata_arith2_double
                karith2_dcomplex --> kdata_arith2_dcomplex
          modified lkarith2() to call the new functions.
	* updated documentation
	* add subobject position tests to karith2 test suite

* 16 March 1995 - Scot Wilson
	Installed ksampline - Sample a data object along an arbitrary line

* 15 March 1995 - Scott Wilson
        Changed the optional group used to specify the processing unit
        to required. With the group optional, the default behavior was
        to set the processing unit to w=h=d=t=e=1. This is not a
        reasonable thing to have happen. This can still be selected, but
        it requires more interaction.

* changes to kdatamanip libraray  March 10 1994 
        * Changed names of the following functions
                karith2_ubyte --> kdata_arith2_ubyte
                karith2_ulong --> kdata_arith2_ulong
                karith2_long --> kdata_arith2_long
                karith2_double --> kdata_arith2_double
                karith2_dcomplex --> kdata_arith2_dcomplex
        * Moved these functions from DATAMANIP::kdatamanip (karith2.c)
          to BOOTSTRAP::klibm (kdata_arith2.c)
        * Changed status from private to public
        * Moved function prototypes and operation type defines (KADD,
          KSUB, etc) from
           DATAMANIP/include/kdatamanip/karith.h to
           BOOTSTRAP/include/klibm/kdata.h
        * updated lkarith2.c to use the new functions
	* checked all other distributed toolboxes (including mmach and 
          wavelet) to update, but none called these functions

* March 08 1995 - Added the names of the k1 equivalent routines to the 
	keywords attribute of the k2 object for all objects in DATAMANIP
	For example, klinearop has the following k1 keywords
        	dconvo
        	vconvolve
	When kman and the finder in cantata start using the keywords 
	users will be able to find the k2 routine that corresponds to 
	the k1 routine that they are used to using.

* February 15 1995 - lklinearop bugfix
	*	fixed an incorrect check in the processing loop that
		caused objects of type KLONG to not be processed at all.
		The check was looking for KULONG instead of KLONG.

* February 15 1995 - lklinearop modification
	*	added some diagnostics that will print if KHOROS_NOTIFY
		is set to verbose. The diags simply print out the
		arguments that were passed to lklinearop.

* February 8 1995 - New Routine: kmsquish
	*	vmsquish was migrated from K1.5 and now lives
		as kmsquish. This routine is fully documented but still
		needs a testsuite (testing was visual).

* January  26 1995 - kinset modifications
	The following modifications were made to the kinset operator
        *       Changed the library function name from lkinset to
                kapu_inset() and moved it into inset.c in the
                DATASERV::kapputils library.  Two new parameters
                were added to the function call, <I>only_inset_valid</I>
                and <I>mapping</I>.  These options are described below.
        *       Added an "only inset valid" option to both kapu_inset
                and kinset.  This option allows the user to select
                whether all data from input 2, or only the data that is
                valid, is inset into input 1.
        *       Added mapping option to both kapu_inset and kinset.  This
                will allow the user to select whether the data should be
                mapped before the inset operation occurs, or if a common
                map should be used.
        *       Completed kinset and kapu_inset man pages.
        *       Implemented standard treatment for location/time data
                in both kinset and kapu_inset.  This treatment is to
                always transfer location/time that is in input 1 to
                the output.
        *       Fixed the bugs reported by the user community.

* January  23 1995 - New Routine: kappend
		   Append (or Prepend) Input Objects to Base Object
		   The library function, kapu_append, is in the 
		   DATASERV::kapputils library.  This operator is fully 
		   documented, and has a complete testsuite.

* January   8 1995 - kwiener has been installed. 
        	   This operator replaces the vwiener operator that was 
		   in the Retro toolbox.  It is fully documented and has 
		   a simple testsuite that verifies correctness of behavior.


* January   8 1995 - kinverse has been installed. It is fully documented
		   and has a very simple testsuite that verifies 
		   correctness of behavior. It replaces vinverse that 
		   was in the Retro toolbox.

/-----------------------------------------------------------------------\
|	KHOROS 2.0.1 - ftp Release (Dec 16, 1994)
\-----------------------------------------------------------------------/

* December 12 1994 - lkreal2cmplx: Modified to create value or map segment 
		   in destination object if they do not already exist (done 
		   for both single and two input cases) 

* December,12 1994 - The object kwt (Wavelet Transform) was delete.
                   This object will be part of a complete Wavelet Toolbox
                   to be added to the system.  

* December 10 1994 - New Routine: kprval 
		   Print Data Value to Parser and/or Concatenate to File
		   Can be used to extract data values for cantata variables.
