```typescript
/** Shared validation function to check if input is a finite number (not NaN) and >= -273.15 */
function validateCelsius(celsius: number): void {
  if (typeof celsius !== "number" || isNaN(celsius) || celsius < -273.15) {
    throw new Error("celsius must be a finite number");
  }
}

/** The temperature in degrees Fahrenheit. */
export function celsiusToFahrenheit(celsius: number): number {
 validateCelsius(celsius);
 return celsius * 1.8 + 32;
}

/** The temperature in kelvin. */
export function celsiusToKelvin(celsius: number): number {
 validateCelsius(celsius);
 return celsius + 273.15;
}
```