feat: Adds furnace heating interpolations.
All checks were successful
CI / Ubuntu (push) Successful in 11m23s

This commit is contained in:
2025-03-13 11:49:32 -04:00
parent bd33827e53
commit 5f6d2a7b6c
6 changed files with 170 additions and 8 deletions

View File

@@ -0,0 +1,53 @@
public enum FurnaceInterpolation {
public struct Request: Codable, Equatable, Sendable {
public let elevation: Int?
public let winterDesignTemperature: Int
public let heatLoss: Int
public let inputRating: Int
public let afue: Double
public init(
elevation: Int? = nil,
winterDesignTemperature: Int,
heatLoss: Int,
inputRating: Int,
afue: Double
) {
self.elevation = elevation
self.winterDesignTemperature = winterDesignTemperature
self.heatLoss = heatLoss
self.inputRating = inputRating
self.afue = afue
}
}
public struct Response: Codable, Equatable, Sendable {
public let failed: Bool
public let failures: [String]?
public let altitudeAdjustmentMultiplier: Double?
public let capacityAsPercentOfLoad: Int
public let oversizingLimit: Int
public let undersizingLimit: Int
public let outputCapacity: Int
public init(
failures: [String]? = nil,
altitudeAdjustmentMultiplier: Double? = nil,
capacityAsPercentOfLoad: Int,
oversizingLimit: Int,
undersizingLimit: Int,
outputCapacity: Int
) {
self.failed = failures == nil ? false : !failures!.isEmpty
self.failures = failures
self.altitudeAdjustmentMultiplier = altitudeAdjustmentMultiplier
self.capacityAsPercentOfLoad = capacityAsPercentOfLoad
self.oversizingLimit = oversizingLimit
self.undersizingLimit = undersizingLimit
self.outputCapacity = outputCapacity
}
}
}