<?xml version="1.0"?>
<paste-with-annotations>
  <paste>
    <number>
      <integer>96735</integer>
    </number>
    <user>
      <string>bytecolor</string>
    </user>
    <title>
      <string>defin fitness cases</string>
    </title>
    <contents>
      <string>(defstruct 11-MULTIPLEXER-fitness-case
  input-bits                          ; list of t or nil
  output-bit)                         ; t or nil

(defun define-fitness-cases-for-11-MULTIPLEXER ()
  (format t &quot;~&amp;Fitness cases&quot;)
  (let ((index 0)
        (all-cases (make-array gp:*number-of-fitness-cases*)))
    (loop
       for i from 0 below gp:*number-of-fitness-cases*
       do
       (let ((fitness-case (make-11-MULTIPLEXER-fitness-case))
             (bits (map 'list (lambda (c) (if (eq c #\1) t nil))
                        (format nil &quot;~11,'0B&quot; i))))
         (setf (11-MULTIPLEXER-fitness-case-input-bits fitness-case) bits)
         (destructuring-bind (a2 a1 a0 d7 d6 d5 d4 d3 d2 d1 d0)
             bits
           (setf (11-MULTIPLEXER-fitness-case-output-bit fitness-case)
                 (if a2 (if a1 d6 d4)
                    (if a2 d4 (if a1 d2 (if a2 d7 d0)))))
           (setf (aref all-cases index) fitness-case)
           (incf index)
           (format t &quot;~&amp;~5,D  ~{~:[0~;1~]~}  ~:[0~;1~]&quot;
                   index
                   (11-MULTIPLEXER-fitness-case-input-bits fitness-case)
                   (11-MULTIPLEXER-fitness-case-output-bit fitness-case)))))
    all-cases))
</string>
    </contents>
    <universal-time>
      <integer>3478203647</integer>
    </universal-time>
    <channel>
      <string>#lisp</string>
    </channel>
    <colorization-mode>
      <string>Common Lisp</string>
    </colorization-mode>
    <maybe-spam>
      <null/>
    </maybe-spam>
    <is-unicode>
      <keyword>TRUE</keyword>
    </is-unicode>
    <deletion-requested>
      <null/>
    </deletion-requested>
    <deletion-requested-email>
      <null/>
    </deletion-requested-email>
    <expiration-time>
      <null/>
    </expiration-time>
  </paste>
</paste-with-annotations>
