|
Uni20
Asynchronous tensor and runtime library.
|
Small async helper operations used in tests and examples. More...
#include "async.hpp"#include "scheduler.hpp"#include <cmath>#include <fmt/format.h>#include <iostream>#include <uni20/core/math.hpp>Go to the source code of this file.
Namespaces | |
| namespace | uni20 |
| namespace | uni20::async |
| This represents the reverse-mode adjoint for functions of complex variables, assuming a real-valued scalar loss function ( L \colon \mathbb{C} \to \mathbb{R} ). | |
Functions | |
| template<typename T > | |
| void | uni20::async::async_print (std::string Format, Async< T > x) |
| Schedules a formatted print once an async value is ready. | |
| template<typename T > | |
| void | uni20::async::async_read (std::string Prompt, Async< T > &x) |
Schedules reading a value from std::cin into an async slot. | |
| template<typename T > | |
| AsyncTask | uni20::async::co_conj (ReadBuffer< T > in, WriteBuffer< T > out) |
| Coroutine implementation of complex conjugation over async buffers. | |
| template<typename T > | |
| AsyncTask | uni20::async::co_cos (ReadBuffer< T > in, WriteBuffer< T > out) |
Coroutine implementation of cos over async buffers. | |
| template<typename T > | |
| AsyncTask | uni20::async::co_herm (ReadBuffer< T > in, WriteBuffer< T > out) |
| Coroutine implementation of Hermitian conjugation over async buffers. | |
| template<typename T > | |
| AsyncTask | uni20::async::co_imag (ReadBuffer< T > in, WriteBuffer< uni20::make_real_t< T > > out) |
| Coroutine implementation of imaginary-part extraction over async buffers. | |
| template<typename T > | |
| AsyncTask | uni20::async::co_real (ReadBuffer< T > in, WriteBuffer< uni20::make_real_t< T > > out) |
| Coroutine implementation of real-part extraction over async buffers. | |
| template<typename T > | |
| AsyncTask | uni20::async::co_sin (ReadBuffer< T > in, WriteBuffer< T > out) |
Coroutine implementation of sin over async buffers. | |
| template<typename T > | |
| Async< T > | uni20::async::conj (Async< T > const &x) |
| Schedules asynchronous conjugation. | |
| template<typename T > | |
| Async< T > | uni20::async::cos (Async< T > const &x) |
| Schedules asynchronous cosine evaluation. | |
| template<typename T > | |
| Async< T > | uni20::async::herm (Async< T > const &x) |
| Schedules asynchronous Hermitian conjugation. | |
| template<typename T > | |
| Async< uni20::make_real_t< T > > | uni20::async::imag (Async< T > const &x) |
| Schedules asynchronous imaginary-part extraction. | |
| template<typename T > | |
| Async< uni20::make_real_t< T > > | uni20::async::real (Async< T > const &x) |
| Schedules asynchronous real-part extraction. | |
| template<typename T > | |
| Async< T > | uni20::async::sin (Async< T > const &x) |
| Schedules asynchronous sine evaluation. | |
Small async helper operations used in tests and examples.