Table of Contents

Struct Quantity<TNumber, TSystemOfMeasurement>

Namespace
Physics.NET
Assembly
Physics.NET.dll

Represents a physical quantity.

[Serializable]
public readonly record struct Quantity<TNumber, TSystemOfMeasurement> : IEquatable<Quantity<TNumber, TSystemOfMeasurement>> where TNumber : IComplex<TNumber>, IDifferentiableFunctions<TNumber> where TSystemOfMeasurement : ISystemOfMeasurement<TSystemOfMeasurement>

Type Parameters

TNumber

The type that represents the value.

TSystemOfMeasurement

The system of measurement to use.

Implements
IEquatable<Quantity<TNumber, TSystemOfMeasurement>>
Inherited Members

Constructors

Quantity()

public Quantity()

Quantity(TNumber)

public Quantity(TNumber value)

Parameters

value TNumber

Quantity(TNumber, Dimensions)

public Quantity(TNumber value, Dimensions dimensions)

Parameters

value TNumber
dimensions Dimensions

Properties

Dimensions

The dimensions of the quantity.

public Dimensions Dimensions { get; }

Property Value

Dimensions

Units

The name of the system of measurement.

public string Units { get; }

Property Value

string

Value

The value of the quantity.

public TNumber Value { get; }

Property Value

TNumber

Methods

VerifyDimensions(in Dimensions)

Check that the dimensions of the quantity are valid.

[Conditional("DIMENSIONS")]
public void VerifyDimensions(in Dimensions dimensions)

Parameters

dimensions Dimensions

The dimensions to check against.

Exceptions

DimensionalAnalysisException

Thrown when the quantity's dimensions do not match the specified dimensions.

Operators

operator +(Quantity<TNumber, TSystemOfMeasurement>, Quantity<TNumber, TSystemOfMeasurement>)

public static Quantity<TNumber, TSystemOfMeasurement> operator +(Quantity<TNumber, TSystemOfMeasurement> z, Quantity<TNumber, TSystemOfMeasurement> w)

Parameters

z Quantity<TNumber, TSystemOfMeasurement>
w Quantity<TNumber, TSystemOfMeasurement>

Returns

Quantity<TNumber, TSystemOfMeasurement>

operator /(Quantity<TNumber, TSystemOfMeasurement>, Quantity<TNumber, TSystemOfMeasurement>)

public static Quantity<TNumber, TSystemOfMeasurement> operator /(Quantity<TNumber, TSystemOfMeasurement> z, Quantity<TNumber, TSystemOfMeasurement> w)

Parameters

z Quantity<TNumber, TSystemOfMeasurement>
w Quantity<TNumber, TSystemOfMeasurement>

Returns

Quantity<TNumber, TSystemOfMeasurement>

operator *(Quantity<TNumber, TSystemOfMeasurement>, Quantity<TNumber, TSystemOfMeasurement>)

public static Quantity<TNumber, TSystemOfMeasurement> operator *(Quantity<TNumber, TSystemOfMeasurement> z, Quantity<TNumber, TSystemOfMeasurement> w)

Parameters

z Quantity<TNumber, TSystemOfMeasurement>
w Quantity<TNumber, TSystemOfMeasurement>

Returns

Quantity<TNumber, TSystemOfMeasurement>

operator -(Quantity<TNumber, TSystemOfMeasurement>, Quantity<TNumber, TSystemOfMeasurement>)

public static Quantity<TNumber, TSystemOfMeasurement> operator -(Quantity<TNumber, TSystemOfMeasurement> z, Quantity<TNumber, TSystemOfMeasurement> w)

Parameters

z Quantity<TNumber, TSystemOfMeasurement>
w Quantity<TNumber, TSystemOfMeasurement>

Returns

Quantity<TNumber, TSystemOfMeasurement>

operator -(Quantity<TNumber, TSystemOfMeasurement>)

public static Quantity<TNumber, TSystemOfMeasurement> operator -(Quantity<TNumber, TSystemOfMeasurement> z)

Parameters

z Quantity<TNumber, TSystemOfMeasurement>

Returns

Quantity<TNumber, TSystemOfMeasurement>

operator +(Quantity<TNumber, TSystemOfMeasurement>)

public static Quantity<TNumber, TSystemOfMeasurement> operator +(Quantity<TNumber, TSystemOfMeasurement> z)

Parameters

z Quantity<TNumber, TSystemOfMeasurement>

Returns

Quantity<TNumber, TSystemOfMeasurement>