Hi,
today I learned that I can use #byte64Encoded to compress ByteArrays (and #mimeDecodeToBytes: to uncompress it again).
However, I wonder whether there is an option to do the same for arrays that elements' are not limited to bytes. Concretely, I have got an array of integers in range (-20601 to: 20935), so I can map it to 6 or 8 bytes per value. Does Squeak support any way to compress such an array to a stream?
Best,
Christoph
For values in that range, you can store them in a typed array called ShortIntegerArray. (not 6 or 8 bytes but 2 bytes per value). Then, there are some bit manipulation magic to get bytes and simply store them into a file for example.
On Mon, Sep 30, 2019 at 9:31 AM Thiede, Christoph Christoph.Thiede@student.hpi.uni-potsdam.de wrote:
Hi,
today I learned that I can use #byte64Encoded to compress ByteArrays (and #mimeDecodeToBytes: to uncompress it again).
However, I wonder whether there is an option to do the same for arrays that elements' are not limited to bytes. Concretely, I have got an array of integers in range (-20601 to: 20935), so I can map it to 6 or 8 bytes per value. Does Squeak support any way to compress such an array to a stream?
Best,
Christoph
Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
Thank you for your reply. I already thought about bit manipulation, but actually, I was searching for an existing interface for this purpose. So there is no one (yet)?
________________________________ Von: Beginners beginners-bounces@lists.squeakfoundation.org im Auftrag von Yoshiki Ohshima Yoshiki.Ohshima@acm.org Gesendet: Montag, 30. September 2019 20:30:37 An: A friendly place to get answers to even the most basic questions about Squeak. Betreff: Re: [Newbies] Compressing large arrays
For values in that range, you can store them in a typed array called ShortIntegerArray. (not 6 or 8 bytes but 2 bytes per value). Then, there are some bit manipulation magic to get bytes and simply store them into a file for example.
On Mon, Sep 30, 2019 at 9:31 AM Thiede, Christoph Christoph.Thiede@student.hpi.uni-potsdam.de wrote:
Hi,
today I learned that I can use #byte64Encoded to compress ByteArrays (and #mimeDecodeToBytes: to uncompress it again).
However, I wonder whether there is an option to do the same for arrays that elements' are not limited to bytes. Concretely, I have got an array of integers in range (-20601 to: 20935), so I can map it to 6 or 8 bytes per value. Does Squeak support any way to compress such an array to a stream?
Best,
Christoph
Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
-- -- Yoshiki _______________________________________________ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
The thing to use is the hackBits: method of Form class. It is a bit tricky to use, but some examples can be found here:
http://forum.world.st/Get-raw-24-Bit-image-data-into-a-Form-td4846845.html
basically the BitBlt mechanism can take byte objects as well as word objects and "render" one kind onto another.
On Tue, Oct 1, 2019 at 3:14 AM Thiede, Christoph Christoph.Thiede@student.hpi.uni-potsdam.de wrote:
Thank you for your reply. I already thought about bit manipulation, but actually, I was searching for an existing interface for this purpose. So there is no one (yet)?
Von: Beginners beginners-bounces@lists.squeakfoundation.org im Auftrag von Yoshiki Ohshima Yoshiki.Ohshima@acm.org Gesendet: Montag, 30. September 2019 20:30:37 An: A friendly place to get answers to even the most basic questions about Squeak. Betreff: Re: [Newbies] Compressing large arrays
For values in that range, you can store them in a typed array called ShortIntegerArray. (not 6 or 8 bytes but 2 bytes per value). Then, there are some bit manipulation magic to get bytes and simply store them into a file for example.
On Mon, Sep 30, 2019 at 9:31 AM Thiede, Christoph Christoph.Thiede@student.hpi.uni-potsdam.de wrote:
Hi,
today I learned that I can use #byte64Encoded to compress ByteArrays (and #mimeDecodeToBytes: to uncompress it again).
However, I wonder whether there is an option to do the same for arrays that elements' are not limited to bytes. Concretely, I have got an array of integers in range (-20601 to: 20935), so I can map it to 6 or 8 bytes per value. Does Squeak support any way to compress such an array to a stream?
Best,
Christoph
Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
-- -- Yoshiki _______________________________________________ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners _______________________________________________ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
Mh, actually I was not talking about Forms but about sound samples ...
________________________________ Von: Beginners beginners-bounces@lists.squeakfoundation.org im Auftrag von Yoshiki Ohshima Yoshiki.Ohshima@acm.org Gesendet: Dienstag, 1. Oktober 2019 16:04:06 An: A friendly place to get answers to even the most basic questions about Squeak. Betreff: Re: [Newbies] Compressing large arrays
The thing to use is the hackBits: method of Form class. It is a bit tricky to use, but some examples can be found here:
http://forum.world.st/Get-raw-24-Bit-image-data-into-a-Form-td4846845.html
basically the BitBlt mechanism can take byte objects as well as word objects and "render" one kind onto another.
On Tue, Oct 1, 2019 at 3:14 AM Thiede, Christoph Christoph.Thiede@student.hpi.uni-potsdam.de wrote:
Thank you for your reply. I already thought about bit manipulation, but actually, I was searching for an existing interface for this purpose. So there is no one (yet)?
Von: Beginners beginners-bounces@lists.squeakfoundation.org im Auftrag von Yoshiki Ohshima Yoshiki.Ohshima@acm.org Gesendet: Montag, 30. September 2019 20:30:37 An: A friendly place to get answers to even the most basic questions about Squeak. Betreff: Re: [Newbies] Compressing large arrays
For values in that range, you can store them in a typed array called ShortIntegerArray. (not 6 or 8 bytes but 2 bytes per value). Then, there are some bit manipulation magic to get bytes and simply store them into a file for example.
On Mon, Sep 30, 2019 at 9:31 AM Thiede, Christoph Christoph.Thiede@student.hpi.uni-potsdam.de wrote:
Hi,
today I learned that I can use #byte64Encoded to compress ByteArrays (and #mimeDecodeToBytes: to uncompress it again).
However, I wonder whether there is an option to do the same for arrays that elements' are not limited to bytes. Concretely, I have got an array of integers in range (-20601 to: 20935), so I can map it to 6 or 8 bytes per value. Does Squeak support any way to compress such an array to a stream?
Best,
Christoph
Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
-- -- Yoshiki _______________________________________________ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners _______________________________________________ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
-- -- Yoshiki _______________________________________________ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
Just to note that the hackBits: technique can be used any words and bytes objects, including ShortIntegerArray.
On Tue, Oct 1, 2019 at 11:47 AM Thiede, Christoph Christoph.Thiede@student.hpi.uni-potsdam.de wrote:
Mh, actually I was not talking about Forms but about sound samples ...
Von: Beginners beginners-bounces@lists.squeakfoundation.org im Auftrag von Yoshiki Ohshima Yoshiki.Ohshima@acm.org Gesendet: Dienstag, 1. Oktober 2019 16:04:06 An: A friendly place to get answers to even the most basic questions about Squeak. Betreff: Re: [Newbies] Compressing large arrays
The thing to use is the hackBits: method of Form class. It is a bit tricky to use, but some examples can be found here:
http://forum.world.st/Get-raw-24-Bit-image-data-into-a-Form-td4846845.html
basically the BitBlt mechanism can take byte objects as well as word objects and "render" one kind onto another.
On Tue, Oct 1, 2019 at 3:14 AM Thiede, Christoph Christoph.Thiede@student.hpi.uni-potsdam.de wrote:
Thank you for your reply. I already thought about bit manipulation, but actually, I was searching for an existing interface for this purpose. So there is no one (yet)?
Von: Beginners beginners-bounces@lists.squeakfoundation.org im Auftrag von Yoshiki Ohshima Yoshiki.Ohshima@acm.org Gesendet: Montag, 30. September 2019 20:30:37 An: A friendly place to get answers to even the most basic questions about Squeak. Betreff: Re: [Newbies] Compressing large arrays
For values in that range, you can store them in a typed array called ShortIntegerArray. (not 6 or 8 bytes but 2 bytes per value). Then, there are some bit manipulation magic to get bytes and simply store them into a file for example.
On Mon, Sep 30, 2019 at 9:31 AM Thiede, Christoph Christoph.Thiede@student.hpi.uni-potsdam.de wrote:
Hi,
today I learned that I can use #byte64Encoded to compress ByteArrays (and #mimeDecodeToBytes: to uncompress it again).
However, I wonder whether there is an option to do the same for arrays that elements' are not limited to bytes. Concretely, I have got an array of integers in range (-20601 to: 20935), so I can map it to 6 or 8 bytes per value. Does Squeak support any way to compress such an array to a stream?
Best,
Christoph
Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
-- -- Yoshiki _______________________________________________ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners _______________________________________________ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
-- -- Yoshiki _______________________________________________ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners _______________________________________________ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
-- -- Yoshiki
beginners@lists.squeakfoundation.org