Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support operations using new signed and unsigned integers dtypes #794

Closed
42 tasks done
philss opened this issue Jan 2, 2024 · 1 comment
Closed
42 tasks done

Support operations using new signed and unsigned integers dtypes #794

philss opened this issue Jan 2, 2024 · 1 comment
Assignees

Comments

@philss
Copy link
Member

philss commented Jan 2, 2024

The idea is to make sure we can support the most number of operations with these new dtypes,
including mixing them when it makes sense.

Series

Aggregation

Element-wise

Shape

Others

Date & Time related

Dataframe

The list of tasks is now tiny, but I should expand that with time.

@philss
Copy link
Member Author

philss commented Jan 16, 2024

The first batch is in the referred PR. Tomorrow I'm going to double check for more places that we may need to change.

philss added a commit that referenced this issue Jan 16, 2024
* Support signed/unsigned dtypes in aggregation for series

This is part of #794

* WIP: need to fix casting before subtract

* Fix issues after rebase

* Fix min/max, categorise and subtract from Series

This is to make them work with integers.

* Divide will always give a f64

* Make Series.subtract/2 work by mixing int dtypes

* More tests to `Series.divide/2`

* Fix `Series.in/2` to support mixing integer dtypes

* Fix Series.peaks/2 to support more numeric dtypes

* Fix Series.quotient/2 to work with mixied int dtypes

* Make `Series.rank/2` return a u32 series for ordinal ranking

* Document about mixing series of different dtypes on select/2

* Ensure that we are "targeting" the right dtype

This changes a little bit the algorithm for the "out_dtype" in some
arithmetic operations.

* Fix `Series.remainder/2` to work with more int dtypes

* Fix "DF.dummies/2" to use :u8 columns instead of :s64

* Refactor to use "right" int types in Series' min/max/sum

* Use u32 in Series.argsort/2

* Update lib/explorer/series.ex

Co-authored-by: Billy Lanchantin <[email protected]>

* Simplify calculation of out_dtype in arithmetic ops

* Move cast to rust code in "Series.subtract/2"

The idea is to have fewer series in memory.

* Fix cast_to_divide

* Simplify rule for subtract unsigned integers

Overflow may occur, but it's fine.
philss added a commit that referenced this issue Jan 18, 2024
josevalim pushed a commit that referenced this issue Jan 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants