RosettaCodeData/Task/Price-fraction/Common-Lisp/price-fraction.lisp
2017-09-25 22:28:19 +02:00

23 lines
728 B
Common Lisp

(defun scale (value)
(cond ((minusp value) (error "invalid value: ~A" value))
((< value 0.06) 0.10)
((< value 0.11) 0.18)
((< value 0.16) 0.26)
((< value 0.21) 0.32)
((< value 0.26) 0.38)
((< value 0.31) 0.44)
((< value 0.36) 0.50)
((< value 0.41) 0.54)
((< value 0.46) 0.58)
((< value 0.51) 0.62)
((< value 0.56) 0.66)
((< value 0.61) 0.70)
((< value 0.66) 0.74)
((< value 0.71) 0.78)
((< value 0.76) 0.82)
((< value 0.81) 0.86)
((< value 0.86) 0.90)
((< value 0.91) 0.94)
((< value 0.96) 0.98)
((< value 1.01) 1.00)
(t (error "invalid value: ~A" value))))