Skip to content

GalacticDynamics/quax-blocks

quax-blocks

Building blocks for Quax classes

PyPI: quax-blocks PyPI versions: quax-blocks quax-blocks license

CI status codecov ruff ruff pre-commit


quax enables JAX to work with custom array-ish objects. This library provides the building blocks, like comparison operators, for building quax-compatible classes.

Installation

PyPI version PyPI platforms

pip install quax-blocks

Documentation

Rich Comparison Operators

Comparison Operator Lax Operator NumPy Operator
All Comparisons LaxComparisonMixin NumpyComparisonMixin
__eq__ LaxEqMixin NumpyEqMixin
__ne__ LaxNeMixin NumpyNeMixin
__lt__ LaxLtMixin NumpyLtMixin
__le__ LaxLeMixin NumpyLeMixin
__gt__ LaxGtMixin NumpyGtMixin
__ge__ LaxGeMixin NumpyGeMixin

Binary Operators

Binary Operator Lax Operator NumPy Operator
All Binary Operations LaxBinaryOpsMixin NumpyBinaryOpsMixin
All Float Operations LaxMathMixin NumpyMathMixin
__add__ LaxAddMixin NumpyAddMixin
__radd__ LaxRAddMixin NumpyRAddMixin
__sub__ LaxSubMixin NumpySubMixin
__rsub__ LaxRSubMixin NumpyRSubMixin
__mul__ LaxMulMixin NumpyMulMixin
__rmul__ LaxRMulMixin NumpyRMulMixin
__matmul__ LaxMatMulMixin NumpyMatMulMixin
__rmatmul__ LaxRMatMulMixin NumpyRMatMulMixin
__truediv__ LaxTrueDivMixin NumpyTrueDivMixin
__rtruediv__ LaxRTrueDivMixin NumpyRTrueDivMixin
__floordiv__ LaxFloorDivMixin NumpyFloorDivMixin
__rfloordiv__ LaxRFloorDivMixin NumpyRFloorDivMixin
__mod__ LaxModMixin NumpyModMixin
__rmod__ LaxRModMixin NumpyRModMixin
__divmod__ Not Implemented NumpyDivModMixin
__rdivmod__ Not Implemented NumpyRDivModMixin
__pow__ LaxPowMixin NumpyPowMixin
__rpow__ LaxRPowMixin NumpyRPowMixin
All Bitwise Operations LaxBitwiseMixin NumpyBitwiseMixin
__lshift__ LaxLShiftMixin NumpyLShiftMixin
__rlshift__ LaxRLShiftMixin NumpyRLShiftMixin
__rshift__ LaxRShiftMixin NumpyRShiftMixin
__rrshift__ LaxRRShiftMixin NumpyRRShiftMixin
__and__ LaxAndMixin NumpyAndMixin
__rand__ LaxRAndMixin NumpyRAndMixin
__xor__ LaxXorMixin NumpyXorMixin
__rxor__ LaxRXorMixin NumpyRXorMixin
__or__ LaxOrMixin NumpyOrMixin
__ror__ LaxROrMixin NumpyROrMixin

Unary Operators

Unary Operator Lax Operator NumPy Operator
All Unary Operations LaxUnaryMixin NumpyUnaryMixin
__pos__ LaxPosMixin NumpyPosMixin
__neg__ LaxNegMixin NumpyNegMixin
__abs__ LaxAbsMixin NumpyAbsMixin
__invert__ Not Implemented NumpyInvertMixin

Rounding Operators

Unary Operator Lax Operator NumPy Operator
__round__ LaxRoundMixin NumpyRoundMixin
__trunc__ LaxTruncMixin NumpyTruncMixin
__floor__ LaxFloorMixin NumpyFloorMixin
__ceil__ LaxCeilMixin NumpyCeilMixin

Containers

Container Operator Lax Operator NumPy Operator
__len__ LaxLenMixin NumpyLenMixin
__length_hint__ LaxLengthHintMixin NumpyLengthHintMixin

Copy Operators

Copy Operator NumPy Operator
__copy__ NumpyCopyMixin
__deepcopy__ NumpyDeepCopyMixin

Development

Actions Status codecov SPEC 0 — Minimum Supported Dependencies pre-commit ruff

We welcome contributions!

Citation

DOI

If you found this library to be useful and want to support the development and maintenance of lower-level utility libraries for the scientific community, consider citing this work.

About

Blocks for constructing `quax` classes

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages