Record TUnit

Unit

Declaration

type TUnit = record

Description

Represents a physical unit of measurement with its dimensional signature, symbol, name and prefix information.

TUnit is the central type for attaching physical dimensions to numerical values. Multiplying or dividing any supported numerical type (real scalar, complex number, vector, matrix, or Clifford algebra element) by a TUnit instance produces the corresponding dimensioned quantity type.

Example idiomatic usage: var v: TQuantity := 9.81 * MetrePerSquareSecond; var z: TComplexQuantity := (1 + 2*i) * Ohm; var F: TR3VecQuantity := TR3Vector(...) * Newton;

When the symbol ADIMOFF is defined, all operators that accept or return quantity types are disabled and the corresponding raw numerical types are used directly.

Overview

Methods

Public class operator *(const AValue: double; const ASelf: TUnit): TQuantity; inline;
Public class operator *(const AMatrix: TC2Matrix; const ASelf: TUnit): TC2MatrixQuantity; inline;
Public class operator *(const AQuantity: TC2MatrixQuantity; const ASelf: TUnit): TC2MatrixQuantity; inline;
Public class operator *(const AQuantity: TC2VecQuantity; const ASelf: TUnit): TC2VecQuantity; inline;
Public class operator *(const AVector: TC2Vector; const ASelf: TUnit): TC2VecQuantity; inline;
Public class operator *(const AMatrix: TC3Matrix; const ASelf: TUnit): TC3MatrixQuantity; inline;
Public class operator *(const AQuantity: TC3MatrixQuantity; const ASelf: TUnit): TC3MatrixQuantity; inline;
Public class operator *(const AQuantity: TC3VecQuantity; const ASelf: TUnit): TC3VecQuantity; inline;
Public class operator *(const AVector: TC3Vector; const ASelf: TUnit): TC3VecQuantity; inline;
Public class operator *(const AMatrix: TC4Matrix; const ASelf: TUnit): TC4MatrixQuantity; inline;
Public class operator *(const AQuantity: TC4MatrixQuantity; const ASelf: TUnit): TC4MatrixQuantity; inline;
Public class operator *(const AQuantity: TC4VecQuantity; const ASelf: TUnit): TC4VecQuantity; inline;
Public class operator *(const AVector: TC4Vector; const ASelf: TUnit): TC4VecQuantity; inline;
Public class operator *(const AQuantity: TCL3BivecQuantity; const ASelf: TUnit): TCL3BivecQuantity; inline;
Public class operator *(const ABivector: TCL3Bivector; const ASelf: TUnit): TCL3BivecQuantity; inline;
Public class operator *(const AQuantity: TCL3MultivecQuantity; const ASelf: TUnit): TCL3MultivecQuantity; inline;
Public class operator *(const AMultivector: TCL3Multivector; const ASelf: TUnit): TCL3MultivecQuantity; inline;
Public class operator *(const AQuantity: TCL3TrivecQuantity; const ASelf: TUnit): TCL3TrivecQuantity; inline;
Public class operator *(const ATrivector: TCL3Trivector; const ASelf: TUnit): TCL3TrivecQuantity; inline;
Public class operator *(const AQuantity: TCL3VecQuantity; const ASelf: TUnit): TCL3VecQuantity; inline;
Public class operator *(const AVector: TCL3Vector; const ASelf: TUnit): TCL3VecQuantity; inline;
Public class operator *(const AValue: TComplex; const ASelf: TUnit): TComplexQuantity; inline;
Public class operator *(const AQuantity: TComplexQuantity; const ASelf: TUnit): TComplexQuantity; inline;
Public class operator *(const AQuantity: TQuantity; const ASelf: TUnit): TQuantity; inline;
Public class operator *(const AMatrix: TR2Matrix; const ASelf: TUnit): TR2MatrixQuantity; inline;
Public class operator *(const AQuantity: TR2MatrixQuantity; const ASelf: TUnit): TR2MatrixQuantity; inline;
Public class operator *(const AQuantity: TR2VecQuantity; const ASelf: TUnit): TR2VecQuantity; inline;
Public class operator *(const AVector: TR2Vector; const ASelf: TUnit): TR2VecQuantity; inline;
Public class operator *(const AMatrix: TR3Matrix; const ASelf: TUnit): TR3MatrixQuantity; inline;
Public class operator *(const AQuantity: TR3MatrixQuantity; const ASelf: TUnit): TR3MatrixQuantity; inline;
Public class operator *(const AQuantity: TR3VecQuantity; const ASelf: TUnit): TR3VecQuantity; inline;
Public class operator *(const AVector: TR3Vector; const ASelf: TUnit): TR3VecQuantity; inline;
Public class operator *(const AMatrix: TR4Matrix; const ASelf: TUnit): TR4MatrixQuantity; inline;
Public class operator *(const AQuantity: TR4MatrixQuantity; const ASelf: TUnit): TR4MatrixQuantity; inline;
Public class operator *(const AQuantity: TR4VecQuantity; const ASelf: TUnit): TR4VecQuantity; inline;
Public class operator *(const AVector: TR4Vector; const ASelf: TUnit): TR4VecQuantity; inline;
Public class operator *(const ASelf: TUnit; const AQuantity: TComplexQuantity): TComplexQuantity; inline;
Public class operator /(const AValue: double; const ASelf: TUnit): TQuantity; inline;
Public class operator /(const AMatrix: TC2Matrix; const ASelf: TUnit): TC2MatrixQuantity; inline;
Public class operator /(const AQuantity: TC2MatrixQuantity; const ASelf: TUnit): TC2MatrixQuantity; inline;
Public class operator /(const AQuantity: TC2VecQuantity; const ASelf: TUnit): TC2VecQuantity; inline;
Public class operator /(const AVector: TC2Vector; const ASelf: TUnit): TC2VecQuantity; inline;
Public class operator /(const AMatrix: TC3Matrix; const ASelf: TUnit): TC3MatrixQuantity; inline;
Public class operator /(const AQuantity: TC3MatrixQuantity; const ASelf: TUnit): TC3MatrixQuantity; inline;
Public class operator /(const AQuantity: TC3VecQuantity; const ASelf: TUnit): TC3VecQuantity; inline;
Public class operator /(const AVector: TC3Vector; const ASelf: TUnit): TC3VecQuantity; inline;
Public class operator /(const AMatrix: TC4Matrix; const ASelf: TUnit): TC4MatrixQuantity; inline;
Public class operator /(const AQuantity: TC4MatrixQuantity; const ASelf: TUnit): TC4MatrixQuantity; inline;
Public class operator /(const AQuantity: TC4VecQuantity; const ASelf: TUnit): TC4VecQuantity; inline;
Public class operator /(const AVector: TC4Vector; const ASelf: TUnit): TC4VecQuantity; inline;
Public class operator /(const AQuantity: TCL3BivecQuantity; const ASelf: TUnit): TCL3BivecQuantity; inline;
Public class operator /(const ABivector: TCL3Bivector; const ASelf: TUnit): TCL3BivecQuantity; inline;
Public class operator /(const AQuantity: TCL3MultivecQuantity; const ASelf: TUnit): TCL3MultivecQuantity; inline;
Public class operator /(const AMultivector: TCL3Multivector; const ASelf: TUnit): TCL3MultivecQuantity; inline;
Public class operator /(const AQuantity: TCL3TrivecQuantity; const ASelf: TUnit): TCL3TrivecQuantity; inline;
Public class operator /(const ATrivector: TCL3Trivector; const ASelf: TUnit): TCL3TrivecQuantity; inline;
Public class operator /(const AQuantity: TCL3VecQuantity; const ASelf: TUnit): TCL3VecQuantity; inline;
Public class operator /(const AVector: TCL3Vector; const ASelf: TUnit): TCL3VecQuantity; inline;
Public class operator /(const AValue: TComplex; const ASelf: TUnit): TComplexQuantity; inline;
Public class operator /(const AQuantity: TComplexQuantity; const ASelf: TUnit): TComplexQuantity; inline;
Public class operator /(const AQuantity: TQuantity; const ASelf: TUnit): TQuantity; inline;
Public class operator /(const AMatrix: TR2Matrix; const ASelf: TUnit): TR2MatrixQuantity; inline;
Public class operator /(const AQuantity: TR2MatrixQuantity; const ASelf: TUnit): TR2MatrixQuantity; inline;
Public class operator /(const AQuantity: TR2VecQuantity; const ASelf: TUnit): TR2VecQuantity; inline;
Public class operator /(const AVector: TR2Vector; const ASelf: TUnit): TR2VecQuantity; inline;
Public class operator /(const AMatrix: TR3Matrix; const ASelf: TUnit): TR3MatrixQuantity; inline;
Public class operator /(const AQuantity: TR3MatrixQuantity; const ASelf: TUnit): TR3MatrixQuantity; inline;
Public class operator /(const AQuantity: TR3VecQuantity; const ASelf: TUnit): TR3VecQuantity; inline;
Public class operator /(const AVector: TR3Vector; const ASelf: TUnit): TR3VecQuantity; inline;
Public class operator /(const AMatrix: TR4Matrix; const ASelf: TUnit): TR4MatrixQuantity; inline;
Public class operator /(const AQuantity: TR4MatrixQuantity; const ASelf: TUnit): TR4MatrixQuantity; inline;
Public class operator /(const AQuantity: TR4VecQuantity; const ASelf: TUnit): TR4VecQuantity; inline;
Public class operator /(const AVector: TR4Vector; const ASelf: TUnit): TR4VecQuantity; inline;
Public class operator /(const ASelf: TUnit; const AQuantity: TComplexQuantity): TComplexQuantity; inline;

Description

Methods

Public class operator *(const AValue: double; const ASelf: TUnit): TQuantity; inline;

Returns the real quantity AValue [unit].

Public class operator *(const AMatrix: TC2Matrix; const ASelf: TUnit): TC2MatrixQuantity; inline;

Returns the 2×2 complex matrix quantity AMatrix [unit].

Public class operator *(const AQuantity: TC2MatrixQuantity; const ASelf: TUnit): TC2MatrixQuantity; inline;

Returns the 2×2 complex matrix quantity with dimension scaled by [unit].

Public class operator *(const AQuantity: TC2VecQuantity; const ASelf: TUnit): TC2VecQuantity; inline;

Returns the 2-component complex vector quantity with dimension scaled by [unit].

Public class operator *(const AVector: TC2Vector; const ASelf: TUnit): TC2VecQuantity; inline;

Returns the 2-component complex vector quantity AVector [unit].

Public class operator *(const AMatrix: TC3Matrix; const ASelf: TUnit): TC3MatrixQuantity; inline;

Returns the 3×3 complex matrix quantity AMatrix [unit].

Public class operator *(const AQuantity: TC3MatrixQuantity; const ASelf: TUnit): TC3MatrixQuantity; inline;

Returns the 3×3 complex matrix quantity with dimension scaled by [unit].

Public class operator *(const AQuantity: TC3VecQuantity; const ASelf: TUnit): TC3VecQuantity; inline;

Returns the 3-component complex vector quantity with dimension scaled by [unit].

Public class operator *(const AVector: TC3Vector; const ASelf: TUnit): TC3VecQuantity; inline;

Returns the 3-component complex vector quantity AVector [unit].

Public class operator *(const AMatrix: TC4Matrix; const ASelf: TUnit): TC4MatrixQuantity; inline;

Returns the 4×4 complex matrix quantity AMatrix [unit].

Public class operator *(const AQuantity: TC4MatrixQuantity; const ASelf: TUnit): TC4MatrixQuantity; inline;

Returns the 4×4 complex matrix quantity with dimension scaled by [unit].

Public class operator *(const AQuantity: TC4VecQuantity; const ASelf: TUnit): TC4VecQuantity; inline;

Returns the 4-component complex vector quantity with dimension scaled by [unit].

Public class operator *(const AVector: TC4Vector; const ASelf: TUnit): TC4VecQuantity; inline;

Returns the 4-component complex vector quantity AVector [unit].

Public class operator *(const AQuantity: TCL3BivecQuantity; const ASelf: TUnit): TCL3BivecQuantity; inline;

Returns the Cl(3,0) bivector quantity with dimension scaled by [unit].

Public class operator *(const ABivector: TCL3Bivector; const ASelf: TUnit): TCL3BivecQuantity; inline;

Returns the Cl(3,0) bivector quantity ABivector [unit].

Public class operator *(const AQuantity: TCL3MultivecQuantity; const ASelf: TUnit): TCL3MultivecQuantity; inline;

Returns the Cl(3,0) multivector quantity with dimension scaled by [unit].

Public class operator *(const AMultivector: TCL3Multivector; const ASelf: TUnit): TCL3MultivecQuantity; inline;

Returns the Cl(3,0) multivector quantity AMultivector [unit].

Public class operator *(const AQuantity: TCL3TrivecQuantity; const ASelf: TUnit): TCL3TrivecQuantity; inline;

Returns the Cl(3,0) trivector quantity with dimension scaled by [unit].

Public class operator *(const ATrivector: TCL3Trivector; const ASelf: TUnit): TCL3TrivecQuantity; inline;

Returns the Cl(3,0) trivector quantity ATrivector [unit].

Public class operator *(const AQuantity: TCL3VecQuantity; const ASelf: TUnit): TCL3VecQuantity; inline;

Returns the Cl(3,0) vector quantity with dimension scaled by [unit].

Public class operator *(const AVector: TCL3Vector; const ASelf: TUnit): TCL3VecQuantity; inline;

Returns the Cl(3,0) vector quantity AVector [unit].

Public class operator *(const AValue: TComplex; const ASelf: TUnit): TComplexQuantity; inline;

Returns the complex quantity AValue [unit].

Public class operator *(const AQuantity: TComplexQuantity; const ASelf: TUnit): TComplexQuantity; inline;

Returns the complex quantity with dimension scaled by [unit].

Public class operator *(const AQuantity: TQuantity; const ASelf: TUnit): TQuantity; inline;

Returns the real quantity with dimension scaled by [unit]. Used for unit conversion: 1.0*km * (1/Metre) = 1000.

Public class operator *(const AMatrix: TR2Matrix; const ASelf: TUnit): TR2MatrixQuantity; inline;

Returns the 2×2 real matrix quantity AMatrix [unit].

Public class operator *(const AQuantity: TR2MatrixQuantity; const ASelf: TUnit): TR2MatrixQuantity; inline;

Returns the 2×2 real matrix quantity with dimension scaled by [unit].

Public class operator *(const AQuantity: TR2VecQuantity; const ASelf: TUnit): TR2VecQuantity; inline;

Returns the 2-component real vector quantity with dimension scaled by [unit].

Public class operator *(const AVector: TR2Vector; const ASelf: TUnit): TR2VecQuantity; inline;

Returns the 2-component real vector quantity AVector [unit].

Public class operator *(const AMatrix: TR3Matrix; const ASelf: TUnit): TR3MatrixQuantity; inline;

Returns the 3×3 real matrix quantity AMatrix [unit].

Public class operator *(const AQuantity: TR3MatrixQuantity; const ASelf: TUnit): TR3MatrixQuantity; inline;

Returns the 3×3 real matrix quantity with dimension scaled by [unit].

Public class operator *(const AQuantity: TR3VecQuantity; const ASelf: TUnit): TR3VecQuantity; inline;

Returns the 3-component real vector quantity with dimension scaled by [unit].

Public class operator *(const AVector: TR3Vector; const ASelf: TUnit): TR3VecQuantity; inline;

Returns the 3-component real vector quantity AVector [unit].

Public class operator *(const AMatrix: TR4Matrix; const ASelf: TUnit): TR4MatrixQuantity; inline;

Returns the 4×4 real matrix quantity AMatrix [unit].

Public class operator *(const AQuantity: TR4MatrixQuantity; const ASelf: TUnit): TR4MatrixQuantity; inline;

Returns the 4×4 real matrix quantity with dimension scaled by [unit].

Public class operator *(const AQuantity: TR4VecQuantity; const ASelf: TUnit): TR4VecQuantity; inline;

Returns the 4-component real vector quantity with dimension scaled by [unit].

Public class operator *(const AVector: TR4Vector; const ASelf: TUnit): TR4VecQuantity; inline;

Returns the 4-component real vector quantity AVector [unit].

Public class operator *(const ASelf: TUnit; const AQuantity: TComplexQuantity): TComplexQuantity; inline;

Returns the complex quantity with dimension scaled by [unit] (unit on the left).

Public class operator /(const AValue: double; const ASelf: TUnit): TQuantity; inline;

Returns the real quantity AValue / [unit], with inverted dimension.

Public class operator /(const AMatrix: TC2Matrix; const ASelf: TUnit): TC2MatrixQuantity; inline;

Returns the 2×2 complex matrix quantity AMatrix / [unit], with inverted dimension.

Public class operator /(const AQuantity: TC2MatrixQuantity; const ASelf: TUnit): TC2MatrixQuantity; inline;

Returns the 2×2 complex matrix quantity with dimension divided by [unit].

Public class operator /(const AQuantity: TC2VecQuantity; const ASelf: TUnit): TC2VecQuantity; inline;

Returns the 2-component complex vector quantity with dimension divided by [unit].

Public class operator /(const AVector: TC2Vector; const ASelf: TUnit): TC2VecQuantity; inline;

Returns the 2-component complex vector quantity AVector / [unit], with inverted dimension.

Public class operator /(const AMatrix: TC3Matrix; const ASelf: TUnit): TC3MatrixQuantity; inline;

Returns the 3×3 complex matrix quantity AMatrix / [unit], with inverted dimension.

Public class operator /(const AQuantity: TC3MatrixQuantity; const ASelf: TUnit): TC3MatrixQuantity; inline;

Returns the 3×3 complex matrix quantity with dimension divided by [unit].

Public class operator /(const AQuantity: TC3VecQuantity; const ASelf: TUnit): TC3VecQuantity; inline;

Returns the 3-component complex vector quantity with dimension divided by [unit].

Public class operator /(const AVector: TC3Vector; const ASelf: TUnit): TC3VecQuantity; inline;

Returns the 3-component complex vector quantity AVector / [unit], with inverted dimension.

Public class operator /(const AMatrix: TC4Matrix; const ASelf: TUnit): TC4MatrixQuantity; inline;

Returns the 4×4 complex matrix quantity AMatrix / [unit], with inverted dimension.

Public class operator /(const AQuantity: TC4MatrixQuantity; const ASelf: TUnit): TC4MatrixQuantity; inline;

Returns the 4×4 complex matrix quantity with dimension divided by [unit].

Public class operator /(const AQuantity: TC4VecQuantity; const ASelf: TUnit): TC4VecQuantity; inline;

Returns the 4-component complex vector quantity with dimension divided by [unit].

Public class operator /(const AVector: TC4Vector; const ASelf: TUnit): TC4VecQuantity; inline;

Returns the 4-component complex vector quantity AVector / [unit], with inverted dimension.

Public class operator /(const AQuantity: TCL3BivecQuantity; const ASelf: TUnit): TCL3BivecQuantity; inline;

Returns the Cl(3,0) bivector quantity with dimension divided by [unit].

Public class operator /(const ABivector: TCL3Bivector; const ASelf: TUnit): TCL3BivecQuantity; inline;

Returns the Cl(3,0) bivector quantity ABivector / [unit], with inverted dimension.

Public class operator /(const AQuantity: TCL3MultivecQuantity; const ASelf: TUnit): TCL3MultivecQuantity; inline;

Returns the Cl(3,0) multivector quantity with dimension divided by [unit].

Public class operator /(const AMultivector: TCL3Multivector; const ASelf: TUnit): TCL3MultivecQuantity; inline;

Returns the Cl(3,0) multivector quantity AMultivector / [unit], with inverted dimension.

Public class operator /(const AQuantity: TCL3TrivecQuantity; const ASelf: TUnit): TCL3TrivecQuantity; inline;

Returns the Cl(3,0) trivector quantity with dimension divided by [unit].

Public class operator /(const ATrivector: TCL3Trivector; const ASelf: TUnit): TCL3TrivecQuantity; inline;

Returns the Cl(3,0) trivector quantity ATrivector / [unit], with inverted dimension.

Public class operator /(const AQuantity: TCL3VecQuantity; const ASelf: TUnit): TCL3VecQuantity; inline;

Returns the Cl(3,0) vector quantity with dimension divided by [unit].

Public class operator /(const AVector: TCL3Vector; const ASelf: TUnit): TCL3VecQuantity; inline;

Returns the Cl(3,0) vector quantity AVector / [unit], with inverted dimension.

Public class operator /(const AValue: TComplex; const ASelf: TUnit): TComplexQuantity; inline;

Returns the complex quantity AValue / [unit], with inverted dimension.

Public class operator /(const AQuantity: TComplexQuantity; const ASelf: TUnit): TComplexQuantity; inline;

Returns the complex quantity with dimension divided by [unit].

Public class operator /(const AQuantity: TQuantity; const ASelf: TUnit): TQuantity; inline;

Returns the real quantity with dimension divided by [unit]. Used for unit conversion: 1000.0*m / km = 1.

Public class operator /(const AMatrix: TR2Matrix; const ASelf: TUnit): TR2MatrixQuantity; inline;

Returns the 2×2 real matrix quantity AMatrix / [unit], with inverted dimension.

Public class operator /(const AQuantity: TR2MatrixQuantity; const ASelf: TUnit): TR2MatrixQuantity; inline;

Returns the 2×2 real matrix quantity with dimension divided by [unit].

Public class operator /(const AQuantity: TR2VecQuantity; const ASelf: TUnit): TR2VecQuantity; inline;

Returns the 2-component real vector quantity with dimension divided by [unit].

Public class operator /(const AVector: TR2Vector; const ASelf: TUnit): TR2VecQuantity; inline;

Returns the 2-component real vector quantity AVector / [unit], with inverted dimension.

Public class operator /(const AMatrix: TR3Matrix; const ASelf: TUnit): TR3MatrixQuantity; inline;

Returns the 3×3 real matrix quantity AMatrix / [unit], with inverted dimension.

Public class operator /(const AQuantity: TR3MatrixQuantity; const ASelf: TUnit): TR3MatrixQuantity; inline;

Returns the 3×3 real matrix quantity with dimension divided by [unit].

Public class operator /(const AQuantity: TR3VecQuantity; const ASelf: TUnit): TR3VecQuantity; inline;

Returns the 3-component real vector quantity with dimension divided by [unit].

Public class operator /(const AVector: TR3Vector; const ASelf: TUnit): TR3VecQuantity; inline;

Returns the 3-component real vector quantity AVector / [unit], with inverted dimension.

Public class operator /(const AMatrix: TR4Matrix; const ASelf: TUnit): TR4MatrixQuantity; inline;

Returns the 4×4 real matrix quantity AMatrix / [unit], with inverted dimension.

Public class operator /(const AQuantity: TR4MatrixQuantity; const ASelf: TUnit): TR4MatrixQuantity; inline;

Returns the 4×4 real matrix quantity with dimension divided by [unit].

Public class operator /(const AQuantity: TR4VecQuantity; const ASelf: TUnit): TR4VecQuantity; inline;

Returns the 4-component real vector quantity with dimension divided by [unit].

Public class operator /(const AVector: TR4Vector; const ASelf: TUnit): TR4VecQuantity; inline;

Returns the 4-component real vector quantity AVector / [unit], with inverted dimension.

Public class operator /(const ASelf: TUnit; const AQuantity: TComplexQuantity): TComplexQuantity; inline;

Returns the complex quantity with dimension inverted relative to [unit].


Generated by PasDoc 1.0.4.