-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathpackages.lisp
85 lines (75 loc) · 2.47 KB
/
packages.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
;;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: BLACK-STONE; Base: 10 -*-
;;;; file: packages.lisp
;;;; Copyright (c) 2013--2015, "the Phoeron" Colin J.E. Lupton <//thephoeron.com>
;;;; See LICENSE for additional information.
(in-package :cl-user)
(defpackage #:black-stone
(:use :cl)
(:export #:*black-stone-app-name*
#:*black-stone-version*
#:*black-stone-version-codename*
#:*black-stone-app-banner*
; qtypes.lisp
#:qubit #:alpha #:beta #:pure-state #:qubit-state
#:quantum-coupler #:energy #:node-a #:node-b
#:quantum-register #:base-unit #:cardinality #:qreg
#:quantum-system
; circuit.lisp
#:set-address-components
#:map-qubit-combinations
#:get-addressed-amplitude
#:set-addressed-amplitude
#:matrix-multiply
#:extract-column
#:install-column
#:apply-operator
#:qc-output-probabilities
#:multi-qsys-output-probabilities
#:expected-oracles
; oracles.lisp
#:binary-operator-matrix
#:oracle
#:limited-oracle
; generic.lisp
#:qnot
#:cnot
#:srn
#:nand
#:hadamard
#:u-theta
#:cphase
#:u2
#:swap
#:printamps
#:insp
; internal.lisp
#:end
#:distance-to-next-unmatched-end
#:without-if-branch
#:without-else-branch
#:force-to
; qclambda.lisp
#:*post-oracle-measurements*
#:run-qsys
#:execute-quantum-program
#:test-quantum-program))
;; see asdf system definition
(defvar black-stone:*black-stone-app-name*
#.black-stone-asd:*black-stone-app-name*)
(defvar black-stone:*black-stone-version*
#.black-stone-asd:*black-stone-version*)
(defvar black-stone:*black-stone-version-codename*
#.black-stone-asd:*black-stone-version-codename*)
(defvar black-stone:*black-stone-app-banner*
#.black-stone-asd:*black-stone-app-banner*)
;; Shadow relevant Common Lisp symbols with Quantum equivalents
(defpackage #:quantum-common-lisp
(:nicknames #:qcl)
(:use :cl :black-stone)
(:export))
;; Set up a user namespace and shadow functionality from SBCL contrib libs
(defpackage #:quantum-common-lisp-user
(:nicknames #:qcl-user)
(:use :cl :cl-user :sb-ext :qcl :black-stone)
(:export))
;; EOF