Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions tunits/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@
Resistance as Resistance,
SpeedArray as SpeedArray,
Speed as Speed,
SqrtFlux as SqrtFlux,
SqrtPower as SqrtPower,
SurfaceDensityArray as SurfaceDensityArray,
SurfaceDensity as SurfaceDensity,
TemperatureArray as TemperatureArray,
Expand Down
2 changes: 2 additions & 0 deletions tunits/core/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,8 @@
Resistance,
SpeedArray,
Speed,
SqrtFlux,
SqrtPower,
SurfaceDensityArray,
SurfaceDensity,
TemperatureArray,
Expand Down
20 changes: 20 additions & 0 deletions tunits/core/__init__.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -751,6 +751,26 @@ class Speed(_Speed, ValueWithDimension):
class SpeedArray(_Speed, ArrayWithDimension[Speed]):
"""An array of speed values. Standard unit: meters per second (m/s)."""

class _SqrtFlux(Dimension):
@staticmethod
def valid_base_units() -> tuple[Value, ...]: ...

class SqrtFlux(_SqrtFlux, ValueWithDimension):
"""A scalar value representing square root of flux. Standard unit: sqrt(1/s)."""

class SqrtFluxArray(_SqrtFlux, ArrayWithDimension[SqrtFlux]):
"""An array of sqrt(flux) values. Standard unit: sqrt(1/s)."""

class _SqrtPower(Dimension):
@staticmethod
def valid_base_units() -> tuple[Value, ...]: ...

class SqrtPower(_SqrtPower, ValueWithDimension):
"""A scalar value representing square root of power. Standard unit: sqrt(Watt)."""

class SqrtPowerArray(_SqrtPower, ArrayWithDimension[SqrtPower]):
"""An array of sqrt(power) values. Standard unit: sqrt(Watt)."""

class _SurfaceDensity(Dimension):
@staticmethod
def valid_base_units() -> tuple[Value, ...]: ...
Expand Down
44 changes: 44 additions & 0 deletions tunits/core/cython/dimension.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -727,6 +727,50 @@ class SpeedArray(_Speed, ArrayWithDimension):
"""An array of speed values. Standard unit: meters per second (m/s)."""


class _SqrtFlux(Dimension):

@staticmethod
@cache
def valid_base_units() -> tuple[Value, ...]:
return (default_unit_database.known_units['Hz'] ** 0.5,)

def _value_class(self) -> type[Value]:
return SqrtFlux

def _array_class(self) -> type[ValueArray]:
return SqrtFluxArray


class SqrtFlux(_SqrtFlux, ValueWithDimension):
"""A scalar value representing square root of flux. Standard unit: sqrt(1/s)."""


class SqrtFluxArray(_SqrtFlux, ArrayWithDimension):
"""An array of square root of flux. Standard unit: sqrt(1/s)."""


class _SqrtPower(Dimension):

@staticmethod
@cache
def valid_base_units() -> tuple[Value, ...]:
return (default_unit_database.known_units['W'] ** 0.5,)

def _value_class(self) -> type[Value]:
return SqrtPower

def _array_class(self) -> type[ValueArray]:
return SqrtPowerArray


class SqrtPower(_SqrtPower, ValueWithDimension):
"""A scalar value representing square root of power. Standard unit: sqrt(W)."""


class SqrtPowerArray(_SqrtPower, ArrayWithDimension):
"""An array of square root of power. Standard unit: sqrt(W)."""


class _SurfaceDensity(Dimension):

@staticmethod
Expand Down
Loading