google / temporian

Temporian is an open-source Python library for preprocessing ⚡ and feature engineering 🛠 temporal data 📈 for machine learning applications 🤖
https://temporian.readthedocs.io
Apache License 2.0
663 stars 43 forks source link

New operators: bitwise int operations #346

Open ianspektor opened 8 months ago

ianspektor commented 8 months ago

New EventSet.and(), EventSet.or(), EventSet.xor(), EventSet.invert(), EventSet.left_shift(), EventSet.right_shift() operators that implement bitwise operations on integer types, with their corresponding magics: &, |, ^, ~, <<, >>.

and() and or() and invert() are already implemented for bool and need to be extended to work with ints.

Implementation should be factored with base classes so that each operation only needs to define the numpy method it needs to call.

See https://github.com/google/temporian/blob/main/CONTRIBUTING.md#developing-a-new-operator for guidance.

Questions or requests for additional guidance from possible contributors more than welcome!

saneens commented 6 months ago

I would like to take this up. Could you please assign this to me, @ianspektor?

ianspektor commented 6 months ago

Hey @saneens! For sure. I see you've just joined our Discord too, feel free to create a thread in #contributing to discuss doubts or get additional help. Thanks!

ianspektor commented 6 months ago

See how and, or and xor are implemented in temporian/core/operators/binary/logical.py and temporian/implementation/numpy/operators/binary/logical.py, these should be implemented with a similar structure.