Documentation ¶
Overview ¶
Package harmonizeunit harmonizes units.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LoadUnitHarmonizationProjectors ¶
func LoadUnitHarmonizationProjectors(r *types.Registry, unitHarmonizationConfig *hpb.UnitHarmonizationConfig) error
LoadUnitHarmonizationProjectors loads all unit harmonization projectors.
func ParseUnitConfigFiles ¶
func ParseUnitConfigFiles(unitConversion *httppb.Location) (*ucpb.UnitConfiguration, error)
ParseUnitConfigFiles parses the unit config files.
Types ¶
type HarmonizedUnit ¶
type HarmonizedUnit struct { Quantity float64 Unit string System string Version string OriginalQuantity float64 OriginalUnit string }
HarmonizedUnit is the result of harmonization.
func (HarmonizedUnit) ToJSONContainer ¶
func (h HarmonizedUnit) ToJSONContainer() jsonutil.JSONContainer
ToJSONContainer converts the HarmonizedUnit to a JSONContainer.
type LocalUnitHarmonizer ¶
type LocalUnitHarmonizer struct {
// contains filtered or unexported fields
}
LocalUnitHarmonizer will harmonize units using files stored locally.
func (*LocalUnitHarmonizer) Harmonize ¶
func (h *LocalUnitHarmonizer) Harmonize(sourceQuantity float64, sourceUnit string, harmonizedCodes []harmonizecode.HarmonizedCode) (HarmonizedUnit, error)
Harmonize implements UnitHarmonizer's Harmonize function.
type RemoteUnitHarmonizer ¶
type RemoteUnitHarmonizer struct {
// contains filtered or unexported fields
}
RemoteUnitHarmonizer will harmonize units using a remote lookup service.
func (*RemoteUnitHarmonizer) Harmonize ¶
func (h *RemoteUnitHarmonizer) Harmonize(sourceQuantity float64, sourceUnit string, sourceCode string, sourceCodeSystem string) (HarmonizedUnit, error)
Harmonize implements UnitHarmonizer's Harmonize function. TODO(): Add support for this.
type UnitHarmonizer ¶
type UnitHarmonizer interface {
Harmonize(sourceQuantity float64, sourceUnit string, harmonizedCodes []harmonizecode.HarmonizedCode) (HarmonizedUnit, error)
}
UnitHarmonizer is the interface for harmonizing units.
func MakeLocalUnitHarmonizer ¶
func MakeLocalUnitHarmonizer(uc *ucpb.UnitConfiguration) (UnitHarmonizer, error)
MakeLocalUnitHarmonizer creates a local unit harmonizer based on the provided config files.