mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-22 16:33:29 +00:00
NSUnitLength - complete implementation of all unit subclasses
This commit is contained in:
parent
364076c109
commit
884a146c1e
1 changed files with 268 additions and 22 deletions
290
Source/NSUnit.m
290
Source/NSUnit.m
|
@ -247,6 +247,11 @@
|
|||
|
||||
@implementation NSUnitAngle
|
||||
|
||||
+ (instancetype) baseUnit
|
||||
{
|
||||
return [self degrees];
|
||||
}
|
||||
|
||||
// Base unit - degrees
|
||||
+ (NSUnitAngle *) degrees
|
||||
{
|
||||
|
@ -300,6 +305,11 @@
|
|||
|
||||
@implementation NSUnitArea
|
||||
|
||||
+ (instancetype) baseUnit
|
||||
{
|
||||
return [self squareMeters];
|
||||
}
|
||||
|
||||
// Base unit - squareMeters
|
||||
+ (NSUnitArea *) squareMegameters
|
||||
{
|
||||
|
@ -417,6 +427,11 @@
|
|||
|
||||
@implementation NSUnitConcentrationMass
|
||||
|
||||
+ (instancetype) baseUnit
|
||||
{
|
||||
return [self gramsPerLiter];
|
||||
}
|
||||
|
||||
// Base unit - gramsPerLiter
|
||||
+ (NSUnitConcentrationMass *) gramsPerLiter
|
||||
{
|
||||
|
@ -446,6 +461,11 @@
|
|||
|
||||
@implementation NSUnitDispersion
|
||||
|
||||
+ (instancetype) baseUnit
|
||||
{
|
||||
return [self partsPerMillion];
|
||||
}
|
||||
|
||||
// Base unit - partsPerMillion
|
||||
+ (NSUnitDispersion *) partsPerMillion
|
||||
{
|
||||
|
@ -459,6 +479,11 @@
|
|||
|
||||
@implementation NSUnitDuration
|
||||
|
||||
+ (instancetype) baseUnit
|
||||
{
|
||||
return [self seconds];
|
||||
}
|
||||
|
||||
// Base unit - seconds
|
||||
+ (NSUnitDuration *) seconds
|
||||
{
|
||||
|
@ -488,6 +513,11 @@
|
|||
|
||||
@implementation NSUnitElectricCharge
|
||||
|
||||
+ (instancetype) baseUnit
|
||||
{
|
||||
return [self coulombs];
|
||||
}
|
||||
|
||||
// Base unit - coulombs
|
||||
+ (NSUnitElectricCharge *) coulombs
|
||||
{
|
||||
|
@ -541,6 +571,11 @@
|
|||
|
||||
@implementation NSUnitElectricCurrent
|
||||
|
||||
+ (instancetype) baseUnit
|
||||
{
|
||||
return [self amperes];
|
||||
}
|
||||
|
||||
// Base unit - amperes
|
||||
+ (NSUnitElectricCurrent *) megaamperes
|
||||
{
|
||||
|
@ -586,6 +621,11 @@
|
|||
|
||||
@implementation NSUnitElectricPotentialDifference
|
||||
|
||||
+ (instancetype) baseUnit
|
||||
{
|
||||
return [self volts];
|
||||
}
|
||||
|
||||
// Base unit - volts
|
||||
+ (NSUnitElectricPotentialDifference *) megavolts
|
||||
{
|
||||
|
@ -636,6 +676,11 @@
|
|||
|
||||
@implementation NSUnitElectricResistance
|
||||
|
||||
+ (instancetype) baseUnit
|
||||
{
|
||||
return [self ohms];
|
||||
}
|
||||
|
||||
// Base unit - ohms
|
||||
+ (NSUnitElectricResistance *) megaohms
|
||||
{
|
||||
|
@ -687,6 +732,11 @@
|
|||
|
||||
@implementation NSUnitEnergy
|
||||
|
||||
+ (instancetype) baseUnit
|
||||
{
|
||||
return [self joules];
|
||||
}
|
||||
|
||||
// Base unit - joules
|
||||
+ (NSUnitEnergy *) kilojoules
|
||||
{
|
||||
|
@ -732,6 +782,11 @@
|
|||
|
||||
@implementation NSUnitFrequency
|
||||
|
||||
+ (instancetype) baseUnit
|
||||
{
|
||||
return [self hertz];
|
||||
}
|
||||
|
||||
// Base unit - hertz
|
||||
|
||||
+ (NSUnitFrequency *) terahertz
|
||||
|
@ -802,6 +857,11 @@
|
|||
|
||||
@implementation NSUnitFuelEfficiency
|
||||
|
||||
+ (instancetype) baseUnit
|
||||
{
|
||||
return [self litersPer100Kilometers];
|
||||
}
|
||||
|
||||
// Base unit - litersPer100Kilometers
|
||||
|
||||
+ (NSUnitFuelEfficiency *) litersPer100Kilometers
|
||||
|
@ -832,35 +892,198 @@
|
|||
|
||||
@implementation NSUnitLength
|
||||
|
||||
+ (instancetype) baseUnit
|
||||
{
|
||||
return [self meters];
|
||||
}
|
||||
|
||||
// Base unit - meters
|
||||
|
||||
+ (NSUnitLength *) megameters { return nil; }
|
||||
+ (NSUnitLength *) kilometers { return nil; }
|
||||
+ (NSUnitLength *) hectometers { return nil; }
|
||||
+ (NSUnitLength *) decameters { return nil; }
|
||||
+ (NSUnitLength *) meters { return nil; }
|
||||
+ (NSUnitLength *) decimeters { return nil; }
|
||||
+ (NSUnitLength *) centimeters { return nil; }
|
||||
+ (NSUnitLength *) millimeters { return nil; }
|
||||
+ (NSUnitLength *) micrometers { return nil; }
|
||||
+ (NSUnitLength *) nanometers { return nil; }
|
||||
+ (NSUnitLength *) picometers { return nil; }
|
||||
+ (NSUnitLength *) inches { return nil; }
|
||||
+ (NSUnitLength *) feet { return nil; }
|
||||
+ (NSUnitLength *) yards { return nil; }
|
||||
+ (NSUnitLength *) miles { return nil; }
|
||||
+ (NSUnitLength *) scandinavianMiles { return nil; }
|
||||
+ (NSUnitLength *) lightyears { return nil; }
|
||||
+ (NSUnitLength *) nauticalMiles { return nil; }
|
||||
+ (NSUnitLength *) fathoms { return nil; }
|
||||
+ (NSUnitLength *) furlongs { return nil; }
|
||||
+ (NSUnitLength *) astronomicalUnits { return nil; }
|
||||
+ (NSUnitLength *) parsecs { return nil; }
|
||||
+ (NSUnitLength *) megameters
|
||||
{
|
||||
NSUnitLength *result = [[NSUnitLength alloc] initWithSymbol: @"Mm"
|
||||
coefficient: 1000000.0
|
||||
constant: 0.0];
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (NSUnitLength *) kilometers
|
||||
{
|
||||
NSUnitLength *result = [[NSUnitLength alloc] initWithSymbol: @"kM"
|
||||
coefficient: 1000.0
|
||||
constant: 0.0];
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (NSUnitLength *) hectometers
|
||||
{
|
||||
NSUnitLength *result = [[NSUnitLength alloc] initWithSymbol: @"hm"
|
||||
coefficient: 100.0
|
||||
constant: 0.0];
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (NSUnitLength *) decameters
|
||||
{
|
||||
NSUnitLength *result = [[NSUnitLength alloc] initWithSymbol: @"dam"
|
||||
coefficient: 10
|
||||
constant: 0.0];
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (NSUnitLength *) meters
|
||||
{
|
||||
NSUnitLength *result = [[NSUnitLength alloc] initWithSymbol: @"meters"
|
||||
coefficient: 1.0
|
||||
constant: 0.0];
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (NSUnitLength *) decimeters
|
||||
{
|
||||
NSUnitLength *result = [[NSUnitLength alloc] initWithSymbol: @"dm"
|
||||
coefficient: 0.1
|
||||
constant: 0.0];
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (NSUnitLength *) centimeters
|
||||
{
|
||||
NSUnitLength *result = [[NSUnitLength alloc] initWithSymbol: @"cm"
|
||||
coefficient: 0.01
|
||||
constant: 0.0];
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (NSUnitLength *) millimeters
|
||||
{
|
||||
NSUnitLength *result = [[NSUnitLength alloc] initWithSymbol: @"mm"
|
||||
coefficient: 0.001
|
||||
constant: 0.0];
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (NSUnitLength *) micrometers
|
||||
{
|
||||
NSUnitLength *result = [[NSUnitLength alloc] initWithSymbol: @"um"
|
||||
coefficient: 0.000001
|
||||
constant: 0.0];
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (NSUnitLength *) nanometers
|
||||
{
|
||||
NSUnitLength *result = [[NSUnitLength alloc] initWithSymbol: @"nm"
|
||||
coefficient: 1e-9
|
||||
constant: 0.0];
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (NSUnitLength *) picometers
|
||||
{
|
||||
NSUnitLength *result = [[NSUnitLength alloc] initWithSymbol: @"pm"
|
||||
coefficient: 1e-12
|
||||
constant: 0.0];
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (NSUnitLength *) inches
|
||||
{
|
||||
NSUnitLength *result = [[NSUnitLength alloc] initWithSymbol: @"in"
|
||||
coefficient: 0.254
|
||||
constant: 0.0];
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (NSUnitLength *) feet
|
||||
{
|
||||
NSUnitLength *result = [[NSUnitLength alloc] initWithSymbol: @"ft"
|
||||
coefficient: 0.3048
|
||||
constant: 0.0];
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (NSUnitLength *) yards
|
||||
{
|
||||
NSUnitLength *result = [[NSUnitLength alloc] initWithSymbol: @"yd"
|
||||
coefficient: 0.9144
|
||||
constant: 0.0];
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (NSUnitLength *) miles
|
||||
{
|
||||
NSUnitLength *result = [[NSUnitLength alloc] initWithSymbol: @"mi"
|
||||
coefficient: 1609.34
|
||||
constant: 0.0];
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (NSUnitLength *) scandinavianMiles
|
||||
{
|
||||
NSUnitLength *result = [[NSUnitLength alloc] initWithSymbol: @"smi"
|
||||
coefficient: 10000
|
||||
constant: 0.0];
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (NSUnitLength *) lightyears
|
||||
{
|
||||
NSUnitLength *result = [[NSUnitLength alloc] initWithSymbol: @"ly"
|
||||
coefficient: 9.461e+15
|
||||
constant: 0.0];
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (NSUnitLength *) nauticalMiles
|
||||
{
|
||||
NSUnitLength *result = [[NSUnitLength alloc] initWithSymbol: @"NM"
|
||||
coefficient: 1852.0
|
||||
constant: 0.0];
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (NSUnitLength *) fathoms
|
||||
{
|
||||
NSUnitLength *result = [[NSUnitLength alloc] initWithSymbol: @"ftm"
|
||||
coefficient: 1.8288
|
||||
constant: 0.0];
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (NSUnitLength *) furlongs
|
||||
{
|
||||
NSUnitLength *result = [[NSUnitLength alloc] initWithSymbol: @"fur"
|
||||
coefficient: 0.0
|
||||
constant: 0.0];
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (NSUnitLength *) astronomicalUnits
|
||||
{
|
||||
NSUnitLength *result = [[NSUnitLength alloc] initWithSymbol: @"ua"
|
||||
coefficient: 1.496e+11
|
||||
constant: 0.0];
|
||||
return result;
|
||||
}
|
||||
|
||||
+ (NSUnitLength *) parsecs
|
||||
{
|
||||
NSUnitLength *result = [[NSUnitLength alloc] initWithSymbol: @"pc"
|
||||
coefficient: 3.086e+16
|
||||
constant: 0.0];
|
||||
return result;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation NSUnitIlluminance
|
||||
|
||||
+ (instancetype) baseUnit
|
||||
{
|
||||
return [self lux];
|
||||
}
|
||||
|
||||
// Base unit - lux
|
||||
+ (NSUnitIlluminance *) lux
|
||||
{
|
||||
|
@ -874,6 +1097,11 @@
|
|||
|
||||
@implementation NSUnitMass
|
||||
|
||||
+ (instancetype) baseUnit
|
||||
{
|
||||
return [self kilograms];
|
||||
}
|
||||
|
||||
// Base unit - kilograms
|
||||
|
||||
+ (NSUnitMass *) kilograms
|
||||
|
@ -1008,6 +1236,11 @@
|
|||
|
||||
@implementation NSUnitPower
|
||||
|
||||
+ (instancetype) baseUnit
|
||||
{
|
||||
return [self watts];
|
||||
}
|
||||
|
||||
// Base unit - watts
|
||||
|
||||
+ (NSUnitPower *) terawatts
|
||||
|
@ -1102,6 +1335,11 @@
|
|||
|
||||
@implementation NSUnitPressure
|
||||
|
||||
+ (instancetype) baseUnit
|
||||
{
|
||||
return [self newtonsPerMetersSquared];
|
||||
}
|
||||
|
||||
// Base unit - newtonsPerMetersSquared (equivalent to 1 pascal)
|
||||
|
||||
+ (NSUnitPressure *) newtonsPerMetersSquared
|
||||
|
@ -1188,6 +1426,10 @@
|
|||
@end
|
||||
|
||||
@implementation NSUnitSpeed
|
||||
+ (instancetype) baseUnit
|
||||
{
|
||||
return [self metersPerSecond];
|
||||
}
|
||||
|
||||
// Base unit - metersPerSecond
|
||||
+ (NSUnitSpeed *) metersPerSecond
|
||||
|
@ -1225,6 +1467,10 @@
|
|||
@end
|
||||
|
||||
@implementation NSUnitTemperature
|
||||
+ (instancetype) baseUnit
|
||||
{
|
||||
return [self kelvin];
|
||||
}
|
||||
|
||||
// Base unit - kelvin
|
||||
+ (NSUnitTemperature *) kelvin
|
||||
|
|
Loading…
Reference in a new issue