Update readme for removed .ll files (#814)
This commit is contained in:
Родитель
ef5d4158a1
Коммит
b8159a1753
|
@ -17,7 +17,7 @@ Same-level entities are independent of each other (unless specified otherwise).
|
|||
**public\QirTypes.hpp** Defines `QirArray`, `QirString`, `PTuple`, `QirTupleHeader`, `TupleWithControls`, `QirCallable`, `QirRange`.
|
||||
Depends on the listed earlier ones.
|
||||
|
||||
**public\QirRuntime.hpp** Declares `quantum__rt__*()`. Depends on the listed earlier ones.
|
||||
**public\QirRuntime.hpp** Declares `__quantum__rt__*()`. Depends on the listed earlier ones.
|
||||
|
||||
|
||||
## Level 1
|
||||
|
@ -25,17 +25,17 @@ Same-level entities are independent of each other (unless specified otherwise).
|
|||
**allocationsTracker.hpp** Defines `Microsoft::Quantum::AllocationsTracker` that tracks the allocations and detects the mem leaks.
|
||||
Does not depend on anything of our code.
|
||||
|
||||
**utils.cpp** Implements `quantum__rt__fail()`, `quantum__rt__memory_allocate()`, `quantum__rt__heap_{alloc,free}()`.
|
||||
`quantum__rt__heap_alloc()` calls **strings.cpp**'s `quantum__rt__string_create()` - cyclical dependency.
|
||||
**utils.cpp** Implements `__quantum__rt__fail()`, `__quantum__rt__memory_allocate()`, `__quantum__rt__heap_{alloc,free}()`.
|
||||
`__quantum__rt__heap_alloc()` calls **strings.cpp**'s `__quantum__rt__string_create()` - cyclical dependency.
|
||||
|
||||
**strings.cpp** Implements `QirString`, `quantum__rt__string_*()`, `quantum__rt__<type>_to_string()` (except `qubit_to_string` and `result_to_string`).
|
||||
Depends on **utils.cpp**'s `quantum__rt__fail()` - cyclical dependency.
|
||||
**strings.cpp** Implements `QirString`, `__quantum__rt__string_*()`, `__quantum__rt__<type>_to_string()` (except `qubit_to_string` and `result_to_string`).
|
||||
Depends on **utils.cpp**'s `__quantum__rt__fail()` - cyclical dependency.
|
||||
|
||||
|
||||
## Level 2
|
||||
|
||||
**allocationsTracker.cpp** Implements the internals of `Microsoft::Quantum::AllocationsTracker`.
|
||||
Depends on `quantum__rt__fail()`, `quantum__rt__string_create()`
|
||||
Depends on `__quantum__rt__fail()`, `__quantum__rt__string_create()`
|
||||
|
||||
**context.cpp** Implements the internals of `Microsoft::Quantum::QirExecutionContext`,
|
||||
Depends on **allocationsTracker.hpp**'s `Microsoft::Quantum::AllocationsTracker`.
|
||||
|
@ -43,24 +43,17 @@ Same-level entities are independent of each other (unless specified otherwise).
|
|||
|
||||
## Level 3
|
||||
|
||||
**delegated.cpp** Implements `quantum__rt__result_*()`, `quantum__rt__qubit_{allocate,release,to_string}()`.
|
||||
**delegated.cpp** Implements `__quantum__rt__result_*()`, `__quantum__rt__qubit_{allocate,release,to_string}()`.
|
||||
Each API depends on `Microsoft::Quantum::GlobalContext()[->GetDriver()]`,
|
||||
`quantum__rt__qubit_to_string()` also depends on strings.cpp's `quantum__rt__string_create()`.
|
||||
`quantum__rt__result_to_string()` also depends on strings.cpp's `quantum__rt__string_create()`.
|
||||
`__quantum__rt__qubit_to_string()` also depends on strings.cpp's `__quantum__rt__string_create()`.
|
||||
`__quantum__rt__result_to_string()` also depends on strings.cpp's `__quantum__rt__string_create()`.
|
||||
|
||||
**arrays.cpp** Implements {the internals of `QirArray`} and `quantum__rt__*array*`.
|
||||
Depends on `Microsoft::Quantum::GlobalContext()`, `quantum__rt__fail()`, `quantum__rt__string_create()`,
|
||||
**delegated.cpp**'s `quantum__rt__qubit_allocate()`
|
||||
**arrays.cpp** Implements {the internals of `QirArray`} and `__quantum__rt__*array*`.
|
||||
Depends on `Microsoft::Quantum::GlobalContext()`, `__quantum__rt__fail()`, `__quantum__rt__string_create()`,
|
||||
**delegated.cpp**'s `__quantum__rt__qubit_allocate()`
|
||||
|
||||
## Level 4
|
||||
|
||||
**callables.cpp** Defines the {internals of `QirTupleHeader`, `QirCallable`}, `quantum__rt__tuple_*()`, `quantum__rt__callable_*()`
|
||||
Depends on `QirArray`, `Microsoft::Quantum::GlobalContext()`, `quantum__rt__fail()`, `quantum__rt__string_create()`, `TupleWithControls`,
|
||||
**callables.cpp** Defines the {internals of `QirTupleHeader`, `QirCallable`}, `__quantum__rt__tuple_*()`, `__quantum__rt__callable_*()`
|
||||
Depends on `QirArray`, `Microsoft::Quantum::GlobalContext()`, `__quantum__rt__fail()`, `__quantum__rt__string_create()`, `TupleWithControls`,
|
||||
Consider breaking up into **Tuples.cpp** and **Callables.cpp**.
|
||||
|
||||
## Level 5
|
||||
|
||||
**bridge-rt.ll** Defines the `@__quantum__rt__*` entry points (to be called by the `.ll` files generated from users' `.qs` files).
|
||||
The C++ Standard reserves the identifiers starting with double underscores `__`, that is why the definitions of `@__quantum__rt__*`
|
||||
have been put to `.ll` file rather than `.cpp` file.
|
||||
Depends on `quantum__rt__*` implementations (in **utils.cpp**, **strings.cpp**, **delegated.cpp**, **arrays.cpp**, **callables.cpp**).
|
||||
|
|
|
@ -18,16 +18,9 @@ Same-level entities are independent of each other (unless specified otherwise).
|
|||
|
||||
## Level 1
|
||||
|
||||
**qsharp__core__qis.hpp** Declares `quantum__qis__*()` gate set implementations.
|
||||
**qsharp__core__qis.hpp** Declares `__quantum__qis__*()` gate set implementations.
|
||||
Depends on `public\CoreTypes.hpp` (QUBIT, PauliId, RESULT)
|
||||
Uses `QirArray *` from `public\QirTypes.hpp`.
|
||||
|
||||
**intrinsics.cpp** Defines `quantum__qis__*()` gate set implementation.
|
||||
**intrinsics.cpp** Defines `__quantum__qis__*()` gate set implementation.
|
||||
Each API depends on `GlobalContext()`, `IQuantumGateSet`.
|
||||
|
||||
## Level 2
|
||||
|
||||
**qsharp-core-qis.ll** Defines `@__quantum__qis__*()` quantum gate set entry points (to be called by the `.ll` files generated from users' `.qs` files).
|
||||
The C++ Standard reserves the identifiers starting with double underscores `__`, that is why the definitions of `@__quantum__qis__*`
|
||||
have been put to `.ll` file rather than `.cpp` file.
|
||||
Depends on `quantum__qis__*` implementations (in **intrinsics.cpp**).
|
||||
|
|
|
@ -17,15 +17,15 @@ Same-level entities are independent of each other (unless specified otherwise).
|
|||
**public\QirTypes.hpp** Defines `QirArray`, `QirString`, `PTuple`, `QirTupleHeader`, `TupleWithControls`, `QirCallable`, `QirRange`.
|
||||
Depends on the listed earlier ones.
|
||||
|
||||
**public\QirRuntime.hpp** Declares `quantum__rt__*()`. Depends on the listed earlier ones.
|
||||
**public\QirRuntime.hpp** Declares `__quantum__rt__*()`. Depends on the listed earlier ones.
|
||||
|
||||
|
||||
## Level 1
|
||||
|
||||
**conditionals.cpp** Defines `quantum__qis__apply*__body()`.
|
||||
**conditionals.cpp** Defines `__quantum__qis__apply*__body()`.
|
||||
Depends on QIR's `quantum__rt__result_{equal,get_zero}()`, declared in **public\QirRuntime.hpp**.
|
||||
|
||||
**intrinsicsMath.cpp** Defines `quantum__qis__*` math funcs implementations,
|
||||
**intrinsicsMath.cpp** Defines `__quantum__qis__*` math funcs implementations,
|
||||
`Quantum::Qis::Internal::{excStrDrawRandomVal,RandomizeSeed,GetLastGeneratedRandomI64,GetLastGeneratedRandomDouble}`.
|
||||
Depends on `quantum__rt__fail()`, `quantum__rt__string_create()`, declared in **public\QirRuntime.hpp**.
|
||||
|
||||
|
@ -33,9 +33,5 @@ Same-level entities are independent of each other (unless specified otherwise).
|
|||
## Level 2
|
||||
|
||||
**qsharp__foundation__qis.hpp**
|
||||
Declares `quantum__qis__*()` math funcs and ApplyIf.
|
||||
Declares `__quantum__qis__*()` math funcs and ApplyIf.
|
||||
Depends on **public\CoreTypes.hpp**, **public\QirTypes.hpp**.
|
||||
|
||||
**qsharp-foundation-qis.ll**
|
||||
Defines `@__quantum__qis__*()` math funcs and ApplyIf - entry points (to be called by the `.ll` files generated from users' `.qs` files).
|
||||
Depends on `quantum__qis__*` implementations (in **intrinsicsMath.cpp**, **conditionals.cpp**, ).
|
||||
|
|
Загрузка…
Ссылка в новой задаче