Sha256: 64ba843f9081c49fb1a0e640655487c440e2ac10b0d563080942fb9431540cf6
Contents?: true
Size: 691 Bytes
Versions: 396
Compression:
Stored size: 691 Bytes
Contents
(ns allergies) (def ^:private allergens [:eggs :peanuts :shellfish :strawberries :tomatoes :chocolate :pollen :cats]) (defn- flagged? [flags index] (-> (bit-shift-right flags index) (bit-and 1) (pos?))) (defn allergies "Given an 8-bit bitmap of flags, return the list of matching allergens." [flags] (keep-indexed (fn [index allergen] (when (flagged? flags index) allergen)) allergens)) (defn allergic-to? "Given an 8-bit bitmap of flags and an allergen, return a boolean indicating whether or not the patient is allergic to the given allergen." [flags allergen] (some #{allergen} (allergies flags)))
Version data entries
396 entries across 396 versions & 1 rubygems