Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversion now has both a value and a factor type #453

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Commits on Oct 14, 2024

  1. Conversion now has both a value and a factor type

    Initially, `ConversionFactor` and thus `Conversion::T` requred `PartialEq`.
    This makes sense for the conversion factor itself (i.e. scaling across
    units), however it breaks once you introduce complex numbers.
    
    Those can *still* be scaled just like normal numbers - you essentially
    just increase or decrese a vector length, but the conversion function
    cannot compare them - "Z_1 < Z_2" is not trivially decidable.
    
    It is, however, also not needed - unit scales are just that - scalars
    that scale. And those can be easily compared.
    
    This commit seperates `Conversion::T` into `Conversion::VT` and
    `Conversion::T` and moves the `PartialEq` requirements from
    `ConversionFactor` into `Conversion::TT` directly.
    
    This requires a lot of trait bounds added down the line, so im not 100%
    that this does not break anything down the line.
    
    There might be a nicer way to go about this, but i haven't found any.
    
    closes iliekturtles#452
    mkalte666 committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    2a8261a View commit details
    Browse the repository at this point in the history