changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > core / lisp/lib/obj/temperature.lisp

changeset 698: 96958d3eb5b0
parent: 956fe7929a7c
author: Richard Westhaver <ellis@rwest.io>
date: Fri, 04 Oct 2024 22:04:59 -0400
permissions: -rw-r--r--
description: fixes
1 ;;; obj/temperature.lisp --- Temperature objects and conversions
2 
3 ;; In most cases you're better off using the direct conversion
4 ;; functions on literal numbers, but defining structs is good for
5 ;; printing and other utility methods.
6 
7 ;;; Code:
8 (in-package :obj/temperature)
9 
10 (defvar *default-temperature-unit* :fahrenheit)
11 
12 (deftype temperature-unit-designator () '(member :fahrenheit :celsius :kelvin :rankine))
13 
14 (defstruct temperature
15  (degrees 0 :type single-float)
16  (scale *default-temperature-unit* :type temperature-unit-designator))