#pragma once
namespace at {
struct CUDAGeneratorImpl;
struct TensorIteratorBase;
class TensorBase;
namespace native {
void launch_poisson_cuda_kernel(
const TensorBase &ret, const TensorBase &lambda, CUDAGeneratorImpl *gen);
void launch_gamma_kernel(
const TensorBase &ret, const TensorBase &alpha, CUDAGeneratorImpl *gen);
void launch_binomial_cuda_kernel(
TensorIteratorBase &iter, CUDAGeneratorImpl *gen);
void launch_dirichlet_kernel(TensorIteratorBase &iter);
void launch_standard_gamma_grad_kernel(TensorIteratorBase &iter);
void launch_dirichlet_grad_kernel(TensorIteratorBase &iter);
}} // namespace at::native