;;; -*- lexical-binding: t -*- ;; ;; this file: ;; https://dataswamp.org/~incal/emacs-init/color.el (defalias '** #'expt) (defun color-p (c) (and (integerp c) (<= 0 c) (< c (** 2 8)) )) (defun blue-p (r g b) (unless (and (color-p r) (color-p g) (color-p b) ) (error "Bogus data") ) (let*((min-adv (** 2 6)) (rg (ceiling (/ (+ r g) 2.0))) (diff (- b rg)) ) (<= min-adv diff) )) ;; (blue-p 0 0 64) ; t ;; (blue-p 1 0 64) ; nil ;; (blue-p 191 191 255) ; t ;; (blue-p 191 192 255) ; nil