Skeletal implementation of Units

This commit is contained in:
Gregory John Casamento 2019-10-03 22:29:00 -04:00
parent 1b80522f63
commit 1e794f8d92
2 changed files with 354 additions and 21 deletions

View file

@ -79,7 +79,7 @@ extern "C" {
@end
// Predefined....
@interface NSUnitAcceleration : NSDimension <NSSecureCoding>
@interface NSUnitAcceleration : NSDimension <NSCoding>
/*
Base unit - metersPerSecondSquared
*/
@ -89,7 +89,7 @@ extern "C" {
@end
@interface NSUnitAngle : NSDimension <NSSecureCoding>
@interface NSUnitAngle : NSDimension <NSCoding>
/*
Base unit - degrees
*/
@ -103,7 +103,7 @@ extern "C" {
@end
@interface NSUnitArea : NSDimension <NSSecureCoding>
@interface NSUnitArea : NSDimension <NSCoding>
/*
Base unit - squareMeters
*/
@ -125,7 +125,7 @@ extern "C" {
@end
@interface NSUnitConcentrationMass : NSDimension <NSSecureCoding>
@interface NSUnitConcentrationMass : NSDimension <NSCoding>
/*
Base unit - gramsPerLiter
*/
@ -137,7 +137,7 @@ extern "C" {
@end
@interface NSUnitDispersion : NSDimension <NSSecureCoding>
@interface NSUnitDispersion : NSDimension <NSCoding>
/*
Base unit - partsPerMillion
*/
@ -145,7 +145,7 @@ extern "C" {
@end
@interface NSUnitDuration : NSDimension <NSSecureCoding>
@interface NSUnitDuration : NSDimension <NSCoding>
/*
Base unit - seconds
*/
@ -156,7 +156,7 @@ extern "C" {
@end
@interface NSUnitElectricCharge : NSDimension <NSSecureCoding>
@interface NSUnitElectricCharge : NSDimension <NSCoding>
/*
Base unit - coulombs
*/
@ -170,7 +170,7 @@ extern "C" {
@end
@interface NSUnitElectricCurrent : NSDimension <NSSecureCoding>
@interface NSUnitElectricCurrent : NSDimension <NSCoding>
/*
Base unit - amperes
*/
@ -183,7 +183,7 @@ extern "C" {
@end
@interface NSUnitElectricPotentialDifference : NSDimension <NSSecureCoding>
@interface NSUnitElectricPotentialDifference : NSDimension <NSCoding>
/*
Base unit - volts
*/
@ -196,7 +196,7 @@ extern "C" {
@end
@interface NSUnitElectricResistance : NSDimension <NSSecureCoding>
@interface NSUnitElectricResistance : NSDimension <NSCoding>
/*
Base unit - ohms
*/
@ -209,7 +209,7 @@ extern "C" {
@end
@interface NSUnitEnergy : NSDimension <NSSecureCoding>
@interface NSUnitEnergy : NSDimension <NSCoding>
/*
Base unit - joules
*/
@ -222,7 +222,7 @@ extern "C" {
@end
@interface NSUnitFrequency : NSDimension <NSSecureCoding>
@interface NSUnitFrequency : NSDimension <NSCoding>
/*
Base unit - hertz
*/
@ -238,7 +238,7 @@ extern "C" {
@end
@interface NSUnitFuelEfficiency : NSDimension <NSSecureCoding>
@interface NSUnitFuelEfficiency : NSDimension <NSCoding>
/*
Base unit - litersPer100Kilometers
*/
@ -249,7 +249,7 @@ extern "C" {
@end
@interface NSUnitLength : NSDimension <NSSecureCoding>
@interface NSUnitLength : NSDimension <NSCoding>
/*
Base unit - meters
*/
@ -279,7 +279,7 @@ extern "C" {
@end
@interface NSUnitIlluminance : NSDimension <NSSecureCoding>
@interface NSUnitIlluminance : NSDimension <NSCoding>
/*
Base unit - lux
*/
@ -288,7 +288,7 @@ extern "C" {
@end
@interface NSUnitMass : NSDimension <NSSecureCoding>
@interface NSUnitMass : NSDimension <NSCoding>
/*
Base unit - kilograms
*/
@ -312,7 +312,7 @@ extern "C" {
@end
@interface NSUnitPower : NSDimension <NSSecureCoding>
@interface NSUnitPower : NSDimension <NSCoding>
/*
Base unit - watts
*/
@ -331,7 +331,7 @@ extern "C" {
@end
@interface NSUnitPressure : NSDimension <NSSecureCoding>
@interface NSUnitPressure : NSDimension <NSCoding>
/*
Base unit - newtonsPerMetersSquared (equivalent to 1 pascal)
*/
@ -349,7 +349,7 @@ extern "C" {
@end
@interface NSUnitSpeed : NSDimension <NSSecureCoding>
@interface NSUnitSpeed : NSDimension <NSCoding>
/*
Base unit - metersPerSecond
*/
@ -361,7 +361,7 @@ extern "C" {
@end
@interface NSUnitTemperature : NSDimension <NSSecureCoding>
@interface NSUnitTemperature : NSDimension <NSCoding>
/*
Base unit - kelvin
*/
@ -372,7 +372,7 @@ extern "C" {
@end
@interface NSUnitVolume : NSDimension <NSSecureCoding>
@interface NSUnitVolume : NSDimension <NSCoding>
/*
Base unit - liters
*/

View file

@ -187,3 +187,336 @@
}
@end
// Predefined....
@implementation NSUnitAcceleration
/*
Base unit - metersPerSecondSquared
*/
- (NSUnitAcceleration *) metersPerSecondSquared { return nil; }
- (NSUnitAcceleration *) gravity { return nil; }
@end
@implementation NSUnitAngle
/*
Base unit - degrees
*/
- (NSUnitAngle *) degrees { return nil; }
- (NSUnitAngle *) arcMinutes { return nil; }
- (NSUnitAngle *) arcSeconds { return nil; }
- (NSUnitAngle *) radians { return nil; }
- (NSUnitAngle *) gradians { return nil; }
- (NSUnitAngle *) revolutions { return nil; }
@end
@implementation NSUnitArea
/*
Base unit - squareMeters
*/
- (NSUnitArea *) squareMegameters { return nil; }
- (NSUnitArea *) squareKilometers { return nil; }
- (NSUnitArea *) squareMeters { return nil; }
- (NSUnitArea *) squareCentimeters { return nil; }
- (NSUnitArea *) squareMillimeters { return nil; }
- (NSUnitArea *) squareMicrometers { return nil; }
- (NSUnitArea *) squareNanometers { return nil; }
- (NSUnitArea *) squareInches { return nil; }
- (NSUnitArea *) squareFeet { return nil; }
- (NSUnitArea *) squareYards { return nil; }
- (NSUnitArea *) squareMiles { return nil; }
- (NSUnitArea *) acres { return nil; }
- (NSUnitArea *) ares { return nil; }
- (NSUnitArea *) hectares { return nil; }
@end
@implementation NSUnitConcentrationMass
/*
Base unit - gramsPerLiter
*/
- (NSUnitConcentrationMass *) gramsPerLiter { return nil; }
- (NSUnitConcentrationMass *) milligramsPerDeciliter { return nil; }
+ (NSUnitConcentrationMass *) millimolesPerLiterWithGramsPerMole:(double)gramsPerMole { return nil; }
@end
@implementation NSUnitDispersion
/*
Base unit - partsPerMillion
*/
- (NSUnitDispersion *) partsPerMillion { return nil; }
@end
@implementation NSUnitDuration
/*
Base unit - seconds
*/
- (NSUnitDuration *) seconds { return nil; }
- (NSUnitDuration *) minutes { return nil; }
- (NSUnitDuration *) hours { return nil; }
@end
@implementation NSUnitElectricCharge
/*
Base unit - coulombs
*/
- (NSUnitElectricCharge *) coulombs { return nil; }
- (NSUnitElectricCharge *) megaampereHours { return nil; }
- (NSUnitElectricCharge *) kiloampereHours { return nil; }
- (NSUnitElectricCharge *) ampereHours { return nil; }
- (NSUnitElectricCharge *) milliampereHours { return nil; }
- (NSUnitElectricCharge *) microampereHours { return nil; }
@end
@implementation NSUnitElectricCurrent
/*
Base unit - amperes
*/
- (NSUnitElectricCurrent *) megaamperes { return nil; }
- (NSUnitElectricCurrent *) kiloamperes { return nil; }
- (NSUnitElectricCurrent *) amperes { return nil; }
- (NSUnitElectricCurrent *) milliamperes { return nil; }
- (NSUnitElectricCurrent *) microamperes { return nil; }
@end
@implementation NSUnitElectricPotentialDifference
/*
Base unit - volts
*/
- (NSUnitElectricPotentialDifference *) megavolts { return nil; }
- (NSUnitElectricPotentialDifference *) kilovolts { return nil; }
- (NSUnitElectricPotentialDifference *) volts { return nil; }
- (NSUnitElectricPotentialDifference *) millivolts { return nil; }
- (NSUnitElectricPotentialDifference *) microvolts { return nil; }
@end
@implementation NSUnitElectricResistance
/*
Base unit - ohms
*/
- (NSUnitElectricResistance *) megaohms { return nil; }
- (NSUnitElectricResistance *) kiloohms { return nil; }
- (NSUnitElectricResistance *) ohms { return nil; }
- (NSUnitElectricResistance *) milliohms { return nil; }
- (NSUnitElectricResistance *) microohms { return nil; }
@end
@implementation NSUnitEnergy
/*
Base unit - joules
*/
- (NSUnitEnergy *) kilojoules { return nil; }
- (NSUnitEnergy *) joules { return nil; }
- (NSUnitEnergy *) kilocalories { return nil; }
- (NSUnitEnergy *) calories { return nil; }
- (NSUnitEnergy *) kilowattHours { return nil; }
@end
@implementation NSUnitFrequency
/*
Base unit - hertz
*/
- (NSUnitFrequency *) terahertz { return nil; }
- (NSUnitFrequency *) gigahertz { return nil; }
- (NSUnitFrequency *) megahertz { return nil; }
- (NSUnitFrequency *) kilohertz { return nil; }
- (NSUnitFrequency *) hertz { return nil; }
- (NSUnitFrequency *) millihertz { return nil; }
- (NSUnitFrequency *) microhertz { return nil; }
- (NSUnitFrequency *) nanohertz { return nil; }
@end
@implementation NSUnitFuelEfficiency
/*
Base unit - litersPer100Kilometers
*/
- (NSUnitFuelEfficiency *) litersPer100Kilometers { return nil; }
- (NSUnitFuelEfficiency *) milesPerImperialGallon { return nil; }
- (NSUnitFuelEfficiency *) milesPerGallon { return nil; }
@end
@implementation NSUnitLength
/*
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; }
@end
@implementation NSUnitIlluminance
/*
Base unit - lux
*/
- (NSUnitIlluminance *) lux { return nil; }
@end
@implementation NSUnitMass
/*
Base unit - kilograms
*/
- (NSUnitMass *) kilograms { return nil; }
- (NSUnitMass *) grams { return nil; }
- (NSUnitMass *) decigrams { return nil; }
- (NSUnitMass *) centigrams { return nil; }
- (NSUnitMass *) milligrams { return nil; }
- (NSUnitMass *) micrograms { return nil; }
- (NSUnitMass *) nanograms { return nil; }
- (NSUnitMass *) picograms { return nil; }
- (NSUnitMass *) ounces { return nil; }
- (NSUnitMass *) poundsMass { return nil; }
- (NSUnitMass *) stones { return nil; }
- (NSUnitMass *) metricTons { return nil; }
- (NSUnitMass *) shortTons { return nil; }
- (NSUnitMass *) carats { return nil; }
- (NSUnitMass *) ouncesTroy { return nil; }
- (NSUnitMass *) slugs { return nil; }
@end
@implementation NSUnitPower
/*
Base unit - watts
*/
- (NSUnitPower *) terawatts { return nil; }
- (NSUnitPower *) gigawatts { return nil; }
- (NSUnitPower *) megawatts { return nil; }
- (NSUnitPower *) kilowatts { return nil; }
- (NSUnitPower *) watts { return nil; }
- (NSUnitPower *) milliwatts { return nil; }
- (NSUnitPower *) microwatts { return nil; }
- (NSUnitPower *) nanowatts { return nil; }
- (NSUnitPower *) picowatts { return nil; }
- (NSUnitPower *) femtowatts { return nil; }
- (NSUnitPower *) horsepower { return nil; }
@end
@implementation NSUnitPressure
/*
Base unit - newtonsPerMetersSquared (equivalent to 1 pascal)
*/
- (NSUnitPressure *) newtonsPerMetersSquared { return nil; }
- (NSUnitPressure *) gigapascals { return nil; }
- (NSUnitPressure *) megapascals { return nil; }
- (NSUnitPressure *) kilopascals { return nil; }
- (NSUnitPressure *) hectopascals { return nil; }
- (NSUnitPressure *) inchesOfMercury { return nil; }
- (NSUnitPressure *) bars { return nil; }
- (NSUnitPressure *) millibars { return nil; }
- (NSUnitPressure *) millimetersOfMercury { return nil; }
- (NSUnitPressure *) poundsForcePerSquareInch { return nil; }
@end
@implementation NSUnitSpeed
/*
Base unit - metersPerSecond
*/
- (NSUnitSpeed *) metersPerSecond { return nil; }
- (NSUnitSpeed *) kilometersPerHour { return nil; }
- (NSUnitSpeed *) milesPerHour { return nil; }
- (NSUnitSpeed *) knots { return nil; }
@end
@implementation NSUnitTemperature
/*
Base unit - kelvin
*/
- (NSUnitTemperature *) kelvin { return nil; }
- (NSUnitTemperature *) celsius { return nil; }
- (NSUnitTemperature *) fahrenheit { return nil; }
@end
@implementation NSUnitVolume
/*
Base unit - liters
*/
- (NSUnitVolume *) megaliters { return nil; }
- (NSUnitVolume *) kiloliters { return nil; }
- (NSUnitVolume *) liters { return nil; }
- (NSUnitVolume *) deciliters { return nil; }
- (NSUnitVolume *) centiliters { return nil; }
- (NSUnitVolume *) milliliters { return nil; }
- (NSUnitVolume *) cubicKilometers { return nil; }
- (NSUnitVolume *) cubicMeters { return nil; }
- (NSUnitVolume *) cubicDecimeters { return nil; }
- (NSUnitVolume *) cubicCentimeters { return nil; }
- (NSUnitVolume *) cubicMillimeters { return nil; }
- (NSUnitVolume *) cubicInches { return nil; }
- (NSUnitVolume *) cubicFeet { return nil; }
- (NSUnitVolume *) cubicYards { return nil; }
- (NSUnitVolume *) cubicMiles { return nil; }
- (NSUnitVolume *) acreFeet { return nil; }
- (NSUnitVolume *) bushels { return nil; }
- (NSUnitVolume *) teaspoons { return nil; }
- (NSUnitVolume *) tablespoons { return nil; }
- (NSUnitVolume *) fluidOunces { return nil; }
- (NSUnitVolume *) cups { return nil; }
- (NSUnitVolume *) pints { return nil; }
- (NSUnitVolume *) quarts { return nil; }
- (NSUnitVolume *) gallons { return nil; }
- (NSUnitVolume *) imperialTeaspoons { return nil; }
- (NSUnitVolume *) imperialTablespoons { return nil; }
- (NSUnitVolume *) imperialFluidOunces { return nil; }
- (NSUnitVolume *) imperialPints { return nil; }
- (NSUnitVolume *) imperialQuarts { return nil; }
- (NSUnitVolume *) imperialGallons { return nil; }
- (NSUnitVolume *) metricCups { return nil; }
@end