Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Namespaces | Functions
async_toys.hpp File Reference

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>
Include dependency graph for async_toys.hpp:
This graph shows which files directly or indirectly include this file:

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.
 

Detailed Description

Small async helper operations used in tests and examples.