```typescript
/** The temperature in degrees Fahrenheit or kelvin. */
export function celsiusToFahrenheitOrKelvin(celsius: number): number {
  if (typeof celsius !== "number" || !Number.isFinite(celsius)) {
    throw new Error("celsius must be a finite number");
  }
  if (celsius < -273.15) {
    throw new Error("celsius must be at or above absolute zero");
  }
  return celsius * 1.8 + 32;
}

/** The temperature in kelvin. */
export function celsiusToKelvin(celsius: number): number {
  if (typeof celsius !== "number" || !Number.isFinite(celsius)) {
    throw new Error("celsius must be a finite number");
  }
  if (celsius < -273.15) {
    throw new Error("celsius must be at or above absolute zero");
  }
  return celsius + 273.15;
}

// Helper function to validate the input
function validateCelsius(temp: number): void {
  if (typeof temp !== "number" || !Number.isFinite(temp)) {
    throw new Error("celsius must be a finite number");
  }
  if (temp < -273.15) {
    throw new Error("celsius must be at or above absolute zero");
  }
}
```