1 ;;;; miscellaneous stuff about the ANSI standard
3 ;;;; This software is part of the SBCL system. See the README file for
6 ;;;; This software is derived from the CMU CL system, which was
7 ;;;; written at Carnegie Mellon University and released into the
8 ;;;; public domain. The software is in the public domain and is
9 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
10 ;;;; files for more information.
12 (in-package "SB!KERNEL")
14 ;;; the Common Lisp defined type spec symbols
15 (defparameter *!standard-type-names
*
16 '(array atom bignum bit bit-vector character compiled-function
17 complex cons double-float extended-char fixnum float function
18 hash-table integer keyword list long-float nil null number package
19 pathname random-state ratio rational real readtable sequence
20 short-float simple-array simple-bit-vector simple-string simple-vector
21 single-float standard-char stream string base-char symbol t vector
))
23 (defvar sb
!sys
::*software-version
* nil
)
25 ;;; The BOOLE function dispaches to any logic operation depending on
26 ;;; the value of an argument. Presently, legal selector values are [0..15].
27 ;;; BOOLE is open coded for calls with any of the constants declared below.
29 (defconstant sb
!xc
:boole-clr
0
30 "Boole function op, makes BOOLE return 0.")
32 (defconstant sb
!xc
:boole-set
1
33 "Boole function op, makes BOOLE return -1.")
35 (defconstant sb
!xc
:boole-1
2
36 "Boole function op, makes BOOLE return integer1.")
38 (defconstant sb
!xc
:boole-2
3
39 "Boole function op, makes BOOLE return integer2.")
41 (defconstant sb
!xc
:boole-c1
4
42 "Boole function op, makes BOOLE return complement of integer1.")
44 (defconstant sb
!xc
:boole-c2
5
45 "Boole function op, makes BOOLE return complement of integer2.")
47 (defconstant sb
!xc
:boole-and
6
48 "Boole function op, makes BOOLE return logand of integer1 and integer2.")
50 (defconstant sb
!xc
:boole-ior
7
51 "Boole function op, makes BOOLE return logior of integer1 and integer2.")
53 (defconstant sb
!xc
:boole-xor
8
54 "Boole function op, makes BOOLE return logxor of integer1 and integer2.")
56 (defconstant sb
!xc
:boole-eqv
9
57 "Boole function op, makes BOOLE return logeqv of integer1 and integer2.")
59 (defconstant sb
!xc
:boole-nand
10
60 "Boole function op, makes BOOLE return log nand of integer1 and integer2.")
62 (defconstant sb
!xc
:boole-nor
11
63 "Boole function op, makes BOOLE return lognor of integer1 and integer2.")
65 (defconstant sb
!xc
:boole-andc1
12
66 "Boole function op, makes BOOLE return logandc1 of integer1 and integer2.")
68 (defconstant sb
!xc
:boole-andc2
13
69 "Boole function op, makes BOOLE return logandc2 of integer1 and integer2.")
71 (defconstant sb
!xc
:boole-orc1
14
72 "Boole function op, makes BOOLE return logorc1 of integer1 and integer2.")
74 (defconstant sb
!xc
:boole-orc2
15
75 "Boole function op, makes BOOLE return logorc2 of integer1 and integer2.")