[Cuis-dev] Some more Bag tweaks
Juan Vuletich
JuanVuletich at zoho.com
Fri May 13 14:57:16 PDT 2022
Anyone using #atRandom: on a non-sequenceable collection should be aware
that no good random properties can be guaranteed, right?
Anyway, just pushed to GitHub.
Thanks,
On 5/9/2022 7:56 AM, Luciano Notarfrancesco via Cuis-dev wrote:
> Juan, please don't forget to look at the changeset in my previous mail
> when you have time.
>
> Here are some additional tweaks. I reimplemented
> Collection>>#identityIncludes: using #allSatisfy: instead of #do:, in
> this way it is fast for Bags too, and it mirrors the implementation of
> Collection>>#includes:.
>
> I also implemented a fast Bag>>#atRandom:, and implemented a general
> Collection>>#atRandom:. Originally #atRandom: was not implemented in
> Collection, so I implemented a generic version that only assumes the
> collection understands #size and #do:.
>
> Thanks,
> Luciano
>
> On Tue, May 3, 2022 at 7:54 AM Luciano Notarfrancesco
> <luchiano at gmail.com <mailto:luchiano at gmail.com>> wrote:
>
> Here are some more methods that take advantage of the structure of
> a Bag (#allSatisfy:, #anySatisfy:, #max:, #min:, #sum:, etc).
>
> Also made some tweaks to some methods in Collection to call
> existing methods instead of reimplementing, in order to simplify
> the changes in Bag (otherwise. for example, I'd have to implement
> #sum, #sum: and #sum:ifEmpty: in Bag instead of only implementing
> #sum:ifEmpty). And I changed Collection>>#product to produce an
> error when the collection is empty instead of returning 1 (to be
> consistent with Collection>>#sum:).
>
> All base image tests pass, but please review.
>
> Also, while running tests I got a walkback on BitBltCanvasEngine,
> see the attached log.
>
--
Juan Vuletich
www.cuis-smalltalk.org
https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
https://github.com/jvuletich
https://www.linkedin.com/in/juan-vuletich-75611b3
https://independent.academia.edu/JuanVuletich
https://www.researchgate.net/profile/Juan-Vuletich
https://patents.justia.com/inventor/juan-manuel-vuletich
https://twitter.com/JuanVuletich
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20220513/032665a8/attachment-0001.htm>
More information about the Cuis-dev
mailing list