Add the given string to the string table.
Add the given string to the string table.
If the string table fills up, this method will write out omega (as a 12-bit code) and then reset the string table and omega.
Write out all remaining buffered data.
Write out all remaining buffered data. This will have the effect of possibly padding the last value up to a byte boundary.
Retrieve the given string from the string table.
Retrieve the given string from the string table.
This method will crash if the string can't be found.
Process a single byte of image data according to LZW.
Process a single byte of image data according to LZW.
This is the heart of the LZW algorithm.
Process a single cell of raster data according to LZW.
Process a single cell of raster data according to LZW.
This should encode the cell's value appropriately into bytes (taking into account NODATA, sign, etc) and then make one or more handleByte calls.
Test if the given string is available in the table.
Test if the given string is available in the table.
Reinitializes all state related to the string table.
Reinitializes all state related to the string table. After this happens codes will reset to 258 and being 9-bit.
It's important to remember to flush the omega variable before calling this method, and also to call it while there is still room in the 12-bit string table (i.e. once 4094 has been added).
Write a 9-12 bit code to our output.
Write a 9-12 bit code to our output.
Due to byte-alignment issues we use a buffering strategy, writing out complete 2 byte "chunks" at a time.
(lzwFloatEncoder: StringAdd).self
(lzwFloatEncoder: StringFormat).self
(lzwFloatEncoder: ArrowAssoc[LzwFloatEncoder]).x
(Since version 2.10.0) Use leftOfArrow
instead
(lzwFloatEncoder: Ensuring[LzwFloatEncoder]).x
(Since version 2.10.0) Use resultOfEnsuring
instead