google/temporian

New operators: bitwise int operations

ianspektor opened this issue · 3 comments

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!

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

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!

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.