dfdx 0.13.0

Ergonomic auto differentiation in Rust, with pytorch like apis.
Documentation
use super::NansToKernelOp as NansTo;
#[allow(unused_imports)]
use crate::dtypes::*;
use crate::tensor_ops::cuda_kernels::cuda_unary;

#[cfg(feature = "f16")]
unsafe impl cudarc::driver::DeviceRepr for NansTo<f16> {}
#[cfg(feature = "f16")]
unsafe impl cudarc::driver::DeviceRepr for NansTo<AMP<f16>> {}
unsafe impl cudarc::driver::DeviceRepr for NansTo<f32> {}
unsafe impl cudarc::driver::DeviceRepr for NansTo<f64> {}

const PTX: &str = include_str!(concat!(env!("OUT_DIR"), "/nans_to.ptx"));

#[cfg(feature = "f16")]
cuda_unary!(NansTo<f16>, f16, PTX, "nans_to_fwd_f16", "nans_to_bwd_f16");
#[cfg(feature = "f16")]
cuda_unary!(
    NansTo<AMP<f16>>,
    AMP<f16>,
    PTX,
    "nans_to_fwd_f16",
    "nans_to_bwd_f16"
);
cuda_unary!(NansTo<f32>, f32, PTX, "nans_to_fwd_f32", "nans_to_bwd_f32");
cuda_unary!(NansTo<f64>, f64, PTX, "nans_to_fwd_f64", "nans_to_bwd_f64");