```ts
/**
 * Helper function to ensure the temperature is valid for conversion.
 * @param {number} temp - The temperature to validate.
 * @returns {boolean} Whether the temperature is a finite number and at or above absolute zero.
 */
function isValidTemperature(temp: number): boolean {
  return typeof temp === "number" && Number.isFinite(temp) && temp >= -273.15;
}

/**
 * Converts the temperature from Celsius to Fahrenheit.
 * @param {number} celsius - The temperature in degrees Celsius.
 * @returns {number} The temperature in degrees Fahrenheit.
 */
export function celsiusToFahrenheit(celsius: number): number {
  if (!isValidTemperature(celsius)) {
    throw new Error("celsius must be a finite number and at or above absolute zero");
  }
  return celsius * 1.8 + 32;
}

/**
 * Converts the temperature from Celsius to Kelvin.
 * @param {number} celsius - The temperature in degrees Celsius.
 * @returns {number} The temperature in kelvin.
 */
export function celsiusToKelvin(celsius: number): number {
  if (!isValidTemperature(celsius)) {
    throw new Error("celsius must be a finite number and at or above absolute zero");
  }
  return celsius + 273.15;
}
```