;;; -*- Mode:LISP; Package:USER; Base:10; Readtable:ZL -*-

;;; To fix a floating-point array to un-EQify its elements, try like:
;;;   (setq arr-1 (cl:map 'array 'float arr-1))

;;; This illustrates ways you might get into a mess like that.

(defvar arr-1
	(make-array 10))

(defvar arr-exp
	(make-array 10))

;;; This init function generates EQ elements
(defun init1()
  (dotimes(i 10 arr-1)
    (setf(aref arr-1 i) 10.0)))

;;; So does this!?!
(defun init1()
  (fillarray arr-1 (ncons(float 10.0))))

;;; This version works?!?
(defun init1()
  (dotimes(i 10 arr-1)
    (setf(aref arr-1 i) (float 10.0))))

(defun init2()
  (dotimes(i 10 arr-exp)
    (setf(aref arr-exp i) (+ 1000 i))))

(defun map-expos()
  (init1)
  (init2)
  (dotimes(i 10 arr-1)
    (setf(si:%single-float-exponent (aref arr-1 i)) (aref arr-exp i))))
