Developer notes for include/stratax/core/Types.hpp.
Purpose
Defines stable dtype aliases used across Stratax.
Main API
Boolean
Integers
- int8, int16, int32, int64
- uint8, uint16, uint32, uint64
Floating Point
Complex
- complex64
- complex128
- complex256
Indexing
Invariants
- Type aliases map directly to standard C++ types.
- Aliases do not own storage and do not encode runtime metadata.
- Whether an alias is accepted as numeric is controlled by Concepts.hpp.
Validation Notes
- These are aliases only.
- Acceptance as a container dtype is controlled by Concepts.hpp.
- int8 and uint8 may be excluded by numeric concepts because they alias char-like types.
Implementation Notes
- Keep aliases mapped directly to standard C++ types.
- Avoid hiding ownership or storage policy in this file.
Time Complexity
- Type aliases have no runtime cost.
- Any acceptance or rejection of aliases is handled at compile time by Concepts.hpp.
Future Work
- Add dtype traits.
- Add dtype promotion rules.
- Add dtype name/string helpers.
- Revisit float128 portability.