Import ITERATE package.
[cl-tuples.git] / utils.lisp
blob0227168c7bf06f1135e48216c5137f7bf7830602
1 (in-package :cl-tuples)
3 ;; float that fits within range of x86 hardware register minus tag (rather sbcl oriented)
4 (deftype fast-float ()
5 #+sbcl `(single-float (#.(- (expt 2f0 64))) (#.(expt 2f0 64)))
6 #-sbcl single-float)
8 (defun make-adorned-symbol (name &key prefix suffix asterisk package)
9 (check-type name (or string symbol))
10 (check-type prefix (or symbol string null))
11 (check-type suffix (or symbol string null))
12 (intern (concatenate 'string
13 (when prefix
14 (string prefix))
15 (when prefix "-")
16 (string name)
17 (when suffix
18 "-")
19 (when suffix
20 (string suffix))
21 (when asterisk
22 (string "*")))
23 (if package package *package*)))
25 (defmacro multiply-arguments (operator factor arguments)
26 `(,operator ,@(mapcar (lambda (argument) `(* ,factor ,argument)) arguments)))