Developer Guide
This guide is for people who modify, extend, test, or release PolyMath. It explains how the code is organized, how the pieces cooperate, and how to add a feature or a subclass without breaking the contracts the rest of the package relies on.
- Introduction
- Repository Layout
- Development Environment
- Architecture
- The Extension Modules
- The Subclasses
- Type Stubs and Type Aliases
- Extending the System
- Coding Conventions
- Internal API Reference
- The Base Class
- The Extension Modules
add_attr()broadcast()broadcast_into_shape()broadcast_to()broadcasted_shape()as_all_constant()as_one_bool()as_size_zero()as_this_type()cast()is_one_false()is_one_true()delete_deriv()delete_derivs()insert_deriv()insert_derivs()rename_deriv()unique_deriv_name()with_deriv()without_deriv()without_derivs()as_bool()as_float()as_int()as_numeric()dtype()is_bool()is_float()is_int()is_numeric()chain()extract_denom()extract_denoms()extract_numer()flatten_denom()flatten_numer()join_items()reshape_denom()reshape_numer()slice_numer()split_items()swap_items()transpose_denom()transpose_numer()clip()is_above()is_below()is_inside()is_outside()mask_where()mask_where_between()mask_where_eq()mask_where_ge()mask_where_gt()mask_where_le()mask_where_lt()mask_where_ne()mask_where_outside()and_()as_all_masked()as_mask_where_nonzero()as_mask_where_nonzero_or_masked()as_mask_where_zero()as_mask_where_zero_or_masked()as_one_masked()collapse_mask()count_masked()count_unmasked()expand_mask()is_all_masked()masked_single()or_()remask()remask_or()without_mask()abs()all()all_true_or_masked()any()any_true_or_masked()identity()len()logical_not()mean()reciprocal()sum()zero()as_readonly()copy()match_readonly()require_writable()require_writeable()flatten()move_axis()reshape()roll_axis()stack()swap_axes()shrink()unshrink()tvl_all()tvl_and()tvl_any()tvl_eq()tvl_ge()tvl_gt()tvl_le()tvl_lt()tvl_ne()tvl_or()confirm_unit()into_unit()is_unitless()set_unit()without_unit()as_diagonal()cross()dot()norm()norm_sq()outer()rms()
- The Subclasses
- The Unit Class