#![allow(missing_docs)]
use uor_foundation::enforcement::{GroundedShape, ShapeViolation};
use uor_foundation::pipeline::{ConstrainedTypeShape, ConstraintRef, IntoBindingValue};
#[derive(Debug, Clone, Copy)]
pub struct Tensor3Shape<const D0: usize, const D1: usize, const D2: usize, const ELEM_BYTES: usize>;
impl<const D0: usize, const D1: usize, const D2: usize, const ELEM_BYTES: usize> Default
for Tensor3Shape<D0, D1, D2, ELEM_BYTES>
{
fn default() -> Self {
Self
}
}
impl<const D0: usize, const D1: usize, const D2: usize, const ELEM_BYTES: usize>
ConstrainedTypeShape for Tensor3Shape<D0, D1, D2, ELEM_BYTES>
{
const IRI: &'static str = "https://uor.foundation/type/ConstrainedType";
const SITE_COUNT: usize = D0 * D1 * D2 * ELEM_BYTES;
const CONSTRAINTS: &'static [ConstraintRef] = &[];
#[allow(clippy::cast_possible_truncation)]
const CYCLE_SIZE: u64 = 256u64.saturating_pow((D0 * D1 * D2 * ELEM_BYTES) as u32);
}
impl<const D0: usize, const D1: usize, const D2: usize, const ELEM_BYTES: usize>
uor_foundation::pipeline::__sdk_seal::Sealed for Tensor3Shape<D0, D1, D2, ELEM_BYTES>
{
}
impl<const D0: usize, const D1: usize, const D2: usize, const ELEM_BYTES: usize> GroundedShape
for Tensor3Shape<D0, D1, D2, ELEM_BYTES>
{
}
impl<const D0: usize, const D1: usize, const D2: usize, const ELEM_BYTES: usize> IntoBindingValue
for Tensor3Shape<D0, D1, D2, ELEM_BYTES>
{
const MAX_BYTES: usize = D0 * D1 * D2 * ELEM_BYTES;
fn into_binding_bytes(&self, _out: &mut [u8]) -> Result<usize, ShapeViolation> {
Ok(0)
}
}
#[derive(Debug, Clone, Copy)]
pub struct Tensor4Shape<
const D0: usize,
const D1: usize,
const D2: usize,
const D3: usize,
const ELEM_BYTES: usize,
>;
impl<
const D0: usize,
const D1: usize,
const D2: usize,
const D3: usize,
const ELEM_BYTES: usize,
> Default for Tensor4Shape<D0, D1, D2, D3, ELEM_BYTES>
{
fn default() -> Self {
Self
}
}
impl<
const D0: usize,
const D1: usize,
const D2: usize,
const D3: usize,
const ELEM_BYTES: usize,
> ConstrainedTypeShape for Tensor4Shape<D0, D1, D2, D3, ELEM_BYTES>
{
const IRI: &'static str = "https://uor.foundation/type/ConstrainedType";
const SITE_COUNT: usize = D0 * D1 * D2 * D3 * ELEM_BYTES;
const CONSTRAINTS: &'static [ConstraintRef] = &[];
#[allow(clippy::cast_possible_truncation)]
const CYCLE_SIZE: u64 = 256u64.saturating_pow((D0 * D1 * D2 * D3 * ELEM_BYTES) as u32);
}
impl<
const D0: usize,
const D1: usize,
const D2: usize,
const D3: usize,
const ELEM_BYTES: usize,
> uor_foundation::pipeline::__sdk_seal::Sealed for Tensor4Shape<D0, D1, D2, D3, ELEM_BYTES>
{
}
impl<
const D0: usize,
const D1: usize,
const D2: usize,
const D3: usize,
const ELEM_BYTES: usize,
> GroundedShape for Tensor4Shape<D0, D1, D2, D3, ELEM_BYTES>
{
}
impl<
const D0: usize,
const D1: usize,
const D2: usize,
const D3: usize,
const ELEM_BYTES: usize,
> IntoBindingValue for Tensor4Shape<D0, D1, D2, D3, ELEM_BYTES>
{
const MAX_BYTES: usize = D0 * D1 * D2 * D3 * ELEM_BYTES;
fn into_binding_bytes(&self, _out: &mut [u8]) -> Result<usize, ShapeViolation> {
Ok(0)
}
}