#[cfg(feature = "Win32_Graphics_Direct3D12")]
#[inline]
pub unsafe fn DMLCreateDevice<P0, T>(d3d12device: P0, flags: DML_CREATE_DEVICE_FLAGS, result__: *mut Option<T>) -> windows_core::Result<()>
where
P0: windows_core::Param<super::super::super::Graphics::Direct3D12::ID3D12Device>,
T: windows_core::Interface,
{
windows_targets::link!("directml.dll" "system" fn DMLCreateDevice(d3d12device : * mut core::ffi::c_void, flags : DML_CREATE_DEVICE_FLAGS, riid : *const windows_core::GUID, ppv : *mut *mut core::ffi::c_void) -> windows_core::HRESULT);
DMLCreateDevice(d3d12device.param().abi(), flags, &T::IID, result__ as *mut _ as *mut _).ok()
}
#[cfg(feature = "Win32_Graphics_Direct3D12")]
#[inline]
pub unsafe fn DMLCreateDevice1<P0, T>(d3d12device: P0, flags: DML_CREATE_DEVICE_FLAGS, minimumfeaturelevel: DML_FEATURE_LEVEL, result__: *mut Option<T>) -> windows_core::Result<()>
where
P0: windows_core::Param<super::super::super::Graphics::Direct3D12::ID3D12Device>,
T: windows_core::Interface,
{
windows_targets::link!("directml.dll" "system" fn DMLCreateDevice1(d3d12device : * mut core::ffi::c_void, flags : DML_CREATE_DEVICE_FLAGS, minimumfeaturelevel : DML_FEATURE_LEVEL, riid : *const windows_core::GUID, ppv : *mut *mut core::ffi::c_void) -> windows_core::HRESULT);
DMLCreateDevice1(d3d12device.param().abi(), flags, minimumfeaturelevel, &T::IID, result__ as *mut _ as *mut _).ok()
}
windows_core::imp::define_interface!(IDMLBindingTable, IDMLBindingTable_Vtbl, 0x29c687dc_de74_4e3b_ab00_1168f2fc3cfc);
impl core::ops::Deref for IDMLBindingTable {
type Target = IDMLDeviceChild;
fn deref(&self) -> &Self::Target {
unsafe { core::mem::transmute(self) }
}
}
windows_core::imp::interface_hierarchy!(IDMLBindingTable, windows_core::IUnknown, IDMLObject, IDMLDeviceChild);
impl IDMLBindingTable {
pub unsafe fn BindInputs(&self, bindings: Option<&[DML_BINDING_DESC]>) {
(windows_core::Interface::vtable(self).BindInputs)(windows_core::Interface::as_raw(self), bindings.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), core::mem::transmute(bindings.as_deref().map_or(core::ptr::null(), |slice| slice.as_ptr())))
}
pub unsafe fn BindOutputs(&self, bindings: Option<&[DML_BINDING_DESC]>) {
(windows_core::Interface::vtable(self).BindOutputs)(windows_core::Interface::as_raw(self), bindings.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), core::mem::transmute(bindings.as_deref().map_or(core::ptr::null(), |slice| slice.as_ptr())))
}
pub unsafe fn BindTemporaryResource(&self, binding: Option<*const DML_BINDING_DESC>) {
(windows_core::Interface::vtable(self).BindTemporaryResource)(windows_core::Interface::as_raw(self), core::mem::transmute(binding.unwrap_or(std::ptr::null())))
}
pub unsafe fn BindPersistentResource(&self, binding: Option<*const DML_BINDING_DESC>) {
(windows_core::Interface::vtable(self).BindPersistentResource)(windows_core::Interface::as_raw(self), core::mem::transmute(binding.unwrap_or(std::ptr::null())))
}
#[cfg(feature = "Win32_Graphics_Direct3D12")]
pub unsafe fn Reset(&self, desc: Option<*const DML_BINDING_TABLE_DESC>) -> windows_core::Result<()> {
(windows_core::Interface::vtable(self).Reset)(windows_core::Interface::as_raw(self), core::mem::transmute(desc.unwrap_or(std::ptr::null()))).ok()
}
}
#[repr(C)]
pub struct IDMLBindingTable_Vtbl {
pub base__: IDMLDeviceChild_Vtbl,
pub BindInputs: unsafe extern "system" fn(*mut core::ffi::c_void, u32, *const DML_BINDING_DESC),
pub BindOutputs: unsafe extern "system" fn(*mut core::ffi::c_void, u32, *const DML_BINDING_DESC),
pub BindTemporaryResource: unsafe extern "system" fn(*mut core::ffi::c_void, *const DML_BINDING_DESC),
pub BindPersistentResource: unsafe extern "system" fn(*mut core::ffi::c_void, *const DML_BINDING_DESC),
#[cfg(feature = "Win32_Graphics_Direct3D12")]
pub Reset: unsafe extern "system" fn(*mut core::ffi::c_void, *const DML_BINDING_TABLE_DESC) -> windows_core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_Direct3D12"))]
Reset: usize,
}
windows_core::imp::define_interface!(IDMLCommandRecorder, IDMLCommandRecorder_Vtbl, 0xe6857a76_2e3e_4fdd_bff4_5d2ba10fb453);
impl core::ops::Deref for IDMLCommandRecorder {
type Target = IDMLDeviceChild;
fn deref(&self) -> &Self::Target {
unsafe { core::mem::transmute(self) }
}
}
windows_core::imp::interface_hierarchy!(IDMLCommandRecorder, windows_core::IUnknown, IDMLObject, IDMLDeviceChild);
impl IDMLCommandRecorder {
#[cfg(feature = "Win32_Graphics_Direct3D12")]
pub unsafe fn RecordDispatch<P0, P1, P2>(&self, commandlist: P0, dispatchable: P1, bindings: P2)
where
P0: windows_core::Param<super::super::super::Graphics::Direct3D12::ID3D12CommandList>,
P1: windows_core::Param<IDMLDispatchable>,
P2: windows_core::Param<IDMLBindingTable>,
{
(windows_core::Interface::vtable(self).RecordDispatch)(windows_core::Interface::as_raw(self), commandlist.param().abi(), dispatchable.param().abi(), bindings.param().abi())
}
}
#[repr(C)]
pub struct IDMLCommandRecorder_Vtbl {
pub base__: IDMLDeviceChild_Vtbl,
#[cfg(feature = "Win32_Graphics_Direct3D12")]
pub RecordDispatch: unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void, *mut core::ffi::c_void, *mut core::ffi::c_void),
#[cfg(not(feature = "Win32_Graphics_Direct3D12"))]
RecordDispatch: usize,
}
windows_core::imp::define_interface!(IDMLCompiledOperator, IDMLCompiledOperator_Vtbl, 0x6b15e56a_bf5c_4902_92d8_da3a650afea4);
impl core::ops::Deref for IDMLCompiledOperator {
type Target = IDMLDispatchable;
fn deref(&self) -> &Self::Target {
unsafe { core::mem::transmute(self) }
}
}
windows_core::imp::interface_hierarchy!(IDMLCompiledOperator, windows_core::IUnknown, IDMLObject, IDMLDeviceChild, IDMLPageable, IDMLDispatchable);
impl IDMLCompiledOperator {}
#[repr(C)]
pub struct IDMLCompiledOperator_Vtbl {
pub base__: IDMLDispatchable_Vtbl,
}
windows_core::imp::define_interface!(IDMLDebugDevice, IDMLDebugDevice_Vtbl, 0x7d6f3ac9_394a_4ac3_92a7_390cc57a8217);
impl core::ops::Deref for IDMLDebugDevice {
type Target = windows_core::IUnknown;
fn deref(&self) -> &Self::Target {
unsafe { core::mem::transmute(self) }
}
}
windows_core::imp::interface_hierarchy!(IDMLDebugDevice, windows_core::IUnknown);
impl IDMLDebugDevice {
pub unsafe fn SetMuteDebugOutput<P0>(&self, mute: P0)
where
P0: windows_core::Param<super::super::super::Foundation::BOOL>,
{
(windows_core::Interface::vtable(self).SetMuteDebugOutput)(windows_core::Interface::as_raw(self), mute.param().abi())
}
}
#[repr(C)]
pub struct IDMLDebugDevice_Vtbl {
pub base__: windows_core::IUnknown_Vtbl,
pub SetMuteDebugOutput: unsafe extern "system" fn(*mut core::ffi::c_void, super::super::super::Foundation::BOOL),
}
windows_core::imp::define_interface!(IDMLDevice, IDMLDevice_Vtbl, 0x6dbd6437_96fd_423f_a98c_ae5e7c2a573f);
impl core::ops::Deref for IDMLDevice {
type Target = IDMLObject;
fn deref(&self) -> &Self::Target {
unsafe { core::mem::transmute(self) }
}
}
windows_core::imp::interface_hierarchy!(IDMLDevice, windows_core::IUnknown, IDMLObject);
impl IDMLDevice {
pub unsafe fn CheckFeatureSupport(&self, feature: DML_FEATURE, featurequerydatasize: u32, featurequerydata: Option<*const core::ffi::c_void>, featuresupportdatasize: u32, featuresupportdata: *mut core::ffi::c_void) -> windows_core::Result<()> {
(windows_core::Interface::vtable(self).CheckFeatureSupport)(windows_core::Interface::as_raw(self), feature, featurequerydatasize, core::mem::transmute(featurequerydata.unwrap_or(std::ptr::null())), featuresupportdatasize, featuresupportdata).ok()
}
pub unsafe fn CreateOperator<T>(&self, desc: *const DML_OPERATOR_DESC, result__: *mut Option<T>) -> windows_core::Result<()>
where
T: windows_core::Interface,
{
(windows_core::Interface::vtable(self).CreateOperator)(windows_core::Interface::as_raw(self), desc, &T::IID, result__ as *mut _ as *mut _).ok()
}
pub unsafe fn CompileOperator<P0, T>(&self, op: P0, flags: DML_EXECUTION_FLAGS, result__: *mut Option<T>) -> windows_core::Result<()>
where
P0: windows_core::Param<IDMLOperator>,
T: windows_core::Interface,
{
(windows_core::Interface::vtable(self).CompileOperator)(windows_core::Interface::as_raw(self), op.param().abi(), flags, &T::IID, result__ as *mut _ as *mut _).ok()
}
pub unsafe fn CreateOperatorInitializer<T>(&self, operators: Option<&[Option<IDMLCompiledOperator>]>) -> windows_core::Result<T>
where
T: windows_core::Interface,
{
let mut result__ = core::ptr::null_mut();
(windows_core::Interface::vtable(self).CreateOperatorInitializer)(windows_core::Interface::as_raw(self), operators.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), core::mem::transmute(operators.as_deref().map_or(core::ptr::null(), |slice| slice.as_ptr())), &T::IID, &mut result__).and_then(|| windows_core::Type::from_abi(result__))
}
pub unsafe fn CreateCommandRecorder<T>(&self) -> windows_core::Result<T>
where
T: windows_core::Interface,
{
let mut result__ = core::ptr::null_mut();
(windows_core::Interface::vtable(self).CreateCommandRecorder)(windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| windows_core::Type::from_abi(result__))
}
#[cfg(feature = "Win32_Graphics_Direct3D12")]
pub unsafe fn CreateBindingTable<T>(&self, desc: Option<*const DML_BINDING_TABLE_DESC>) -> windows_core::Result<T>
where
T: windows_core::Interface,
{
let mut result__ = core::ptr::null_mut();
(windows_core::Interface::vtable(self).CreateBindingTable)(windows_core::Interface::as_raw(self), core::mem::transmute(desc.unwrap_or(std::ptr::null())), &T::IID, &mut result__).and_then(|| windows_core::Type::from_abi(result__))
}
pub unsafe fn Evict(&self, ppobjects: &[Option<IDMLPageable>]) -> windows_core::Result<()> {
(windows_core::Interface::vtable(self).Evict)(windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), core::mem::transmute(ppobjects.as_ptr())).ok()
}
pub unsafe fn MakeResident(&self, ppobjects: &[Option<IDMLPageable>]) -> windows_core::Result<()> {
(windows_core::Interface::vtable(self).MakeResident)(windows_core::Interface::as_raw(self), ppobjects.len().try_into().unwrap(), core::mem::transmute(ppobjects.as_ptr())).ok()
}
pub unsafe fn GetDeviceRemovedReason(&self) -> windows_core::Result<()> {
(windows_core::Interface::vtable(self).GetDeviceRemovedReason)(windows_core::Interface::as_raw(self)).ok()
}
pub unsafe fn GetParentDevice<T>(&self) -> windows_core::Result<T>
where
T: windows_core::Interface,
{
let mut result__ = core::ptr::null_mut();
(windows_core::Interface::vtable(self).GetParentDevice)(windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| windows_core::Type::from_abi(result__))
}
}
#[repr(C)]
pub struct IDMLDevice_Vtbl {
pub base__: IDMLObject_Vtbl,
pub CheckFeatureSupport: unsafe extern "system" fn(*mut core::ffi::c_void, DML_FEATURE, u32, *const core::ffi::c_void, u32, *mut core::ffi::c_void) -> windows_core::HRESULT,
pub CreateOperator: unsafe extern "system" fn(*mut core::ffi::c_void, *const DML_OPERATOR_DESC, *const windows_core::GUID, *mut *mut core::ffi::c_void) -> windows_core::HRESULT,
pub CompileOperator: unsafe extern "system" fn(*mut core::ffi::c_void, *mut core::ffi::c_void, DML_EXECUTION_FLAGS, *const windows_core::GUID, *mut *mut core::ffi::c_void) -> windows_core::HRESULT,
pub CreateOperatorInitializer: unsafe extern "system" fn(*mut core::ffi::c_void, u32, *const *mut core::ffi::c_void, *const windows_core::GUID, *mut *mut core::ffi::c_void) -> windows_core::HRESULT,
pub CreateCommandRecorder: unsafe extern "system" fn(*mut core::ffi::c_void, *const windows_core::GUID, *mut *mut core::ffi::c_void) -> windows_core::HRESULT,
#[cfg(feature = "Win32_Graphics_Direct3D12")]
pub CreateBindingTable: unsafe extern "system" fn(*mut core::ffi::c_void, *const DML_BINDING_TABLE_DESC, *const windows_core::GUID, *mut *mut core::ffi::c_void) -> windows_core::HRESULT,
#[cfg(not(feature = "Win32_Graphics_Direct3D12"))]
CreateBindingTable: usize,
pub Evict: unsafe extern "system" fn(*mut core::ffi::c_void, u32, *const *mut core::ffi::c_void) -> windows_core::HRESULT,
pub MakeResident: unsafe extern "system" fn(*mut core::ffi::c_void, u32, *const *mut core::ffi::c_void) -> windows_core::HRESULT,
pub GetDeviceRemovedReason: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
pub GetParentDevice: unsafe extern "system" fn(*mut core::ffi::c_void, *const windows_core::GUID, *mut *mut core::ffi::c_void) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(IDMLDevice1, IDMLDevice1_Vtbl, 0xa0884f9a_d2be_4355_aa5d_5901281ad1d2);
impl core::ops::Deref for IDMLDevice1 {
type Target = IDMLDevice;
fn deref(&self) -> &Self::Target {
unsafe { core::mem::transmute(self) }
}
}
windows_core::imp::interface_hierarchy!(IDMLDevice1, windows_core::IUnknown, IDMLObject, IDMLDevice);
impl IDMLDevice1 {
pub unsafe fn CompileGraph<T>(&self, desc: *const DML_GRAPH_DESC, flags: DML_EXECUTION_FLAGS, result__: *mut Option<T>) -> windows_core::Result<()>
where
T: windows_core::Interface,
{
(windows_core::Interface::vtable(self).CompileGraph)(windows_core::Interface::as_raw(self), desc, flags, &T::IID, result__ as *mut _ as *mut _).ok()
}
}
#[repr(C)]
pub struct IDMLDevice1_Vtbl {
pub base__: IDMLDevice_Vtbl,
pub CompileGraph: unsafe extern "system" fn(*mut core::ffi::c_void, *const DML_GRAPH_DESC, DML_EXECUTION_FLAGS, *const windows_core::GUID, *mut *mut core::ffi::c_void) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(IDMLDeviceChild, IDMLDeviceChild_Vtbl, 0x27e83142_8165_49e3_974e_2fd66e4cb69d);
impl core::ops::Deref for IDMLDeviceChild {
type Target = IDMLObject;
fn deref(&self) -> &Self::Target {
unsafe { core::mem::transmute(self) }
}
}
windows_core::imp::interface_hierarchy!(IDMLDeviceChild, windows_core::IUnknown, IDMLObject);
impl IDMLDeviceChild {
pub unsafe fn GetDevice<T>(&self) -> windows_core::Result<T>
where
T: windows_core::Interface,
{
let mut result__ = core::ptr::null_mut();
(windows_core::Interface::vtable(self).GetDevice)(windows_core::Interface::as_raw(self), &T::IID, &mut result__).and_then(|| windows_core::Type::from_abi(result__))
}
}
#[repr(C)]
pub struct IDMLDeviceChild_Vtbl {
pub base__: IDMLObject_Vtbl,
pub GetDevice: unsafe extern "system" fn(*mut core::ffi::c_void, *const windows_core::GUID, *mut *mut core::ffi::c_void) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(IDMLDispatchable, IDMLDispatchable_Vtbl, 0xdcb821a8_1039_441e_9f1c_b1759c2f3cec);
impl core::ops::Deref for IDMLDispatchable {
type Target = IDMLPageable;
fn deref(&self) -> &Self::Target {
unsafe { core::mem::transmute(self) }
}
}
windows_core::imp::interface_hierarchy!(IDMLDispatchable, windows_core::IUnknown, IDMLObject, IDMLDeviceChild, IDMLPageable);
impl IDMLDispatchable {
pub unsafe fn GetBindingProperties(&self) -> DML_BINDING_PROPERTIES {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).GetBindingProperties)(windows_core::Interface::as_raw(self), &mut result__);
result__
}
}
#[repr(C)]
pub struct IDMLDispatchable_Vtbl {
pub base__: IDMLPageable_Vtbl,
pub GetBindingProperties: unsafe extern "system" fn(*mut core::ffi::c_void, *mut DML_BINDING_PROPERTIES),
}
windows_core::imp::define_interface!(IDMLObject, IDMLObject_Vtbl, 0xc8263aac_9e0c_4a2d_9b8e_007521a3317c);
impl core::ops::Deref for IDMLObject {
type Target = windows_core::IUnknown;
fn deref(&self) -> &Self::Target {
unsafe { core::mem::transmute(self) }
}
}
windows_core::imp::interface_hierarchy!(IDMLObject, windows_core::IUnknown);
impl IDMLObject {
pub unsafe fn GetPrivateData(&self, guid: *const windows_core::GUID, datasize: *mut u32, data: Option<*mut core::ffi::c_void>) -> windows_core::Result<()> {
(windows_core::Interface::vtable(self).GetPrivateData)(windows_core::Interface::as_raw(self), guid, datasize, core::mem::transmute(data.unwrap_or(std::ptr::null_mut()))).ok()
}
pub unsafe fn SetPrivateData(&self, guid: *const windows_core::GUID, datasize: u32, data: Option<*const core::ffi::c_void>) -> windows_core::Result<()> {
(windows_core::Interface::vtable(self).SetPrivateData)(windows_core::Interface::as_raw(self), guid, datasize, core::mem::transmute(data.unwrap_or(std::ptr::null()))).ok()
}
pub unsafe fn SetPrivateDataInterface<P0>(&self, guid: *const windows_core::GUID, data: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IUnknown>,
{
(windows_core::Interface::vtable(self).SetPrivateDataInterface)(windows_core::Interface::as_raw(self), guid, data.param().abi()).ok()
}
pub unsafe fn SetName<P0>(&self, name: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::PCWSTR>,
{
(windows_core::Interface::vtable(self).SetName)(windows_core::Interface::as_raw(self), name.param().abi()).ok()
}
}
#[repr(C)]
pub struct IDMLObject_Vtbl {
pub base__: windows_core::IUnknown_Vtbl,
pub GetPrivateData: unsafe extern "system" fn(*mut core::ffi::c_void, *const windows_core::GUID, *mut u32, *mut core::ffi::c_void) -> windows_core::HRESULT,
pub SetPrivateData: unsafe extern "system" fn(*mut core::ffi::c_void, *const windows_core::GUID, u32, *const core::ffi::c_void) -> windows_core::HRESULT,
pub SetPrivateDataInterface: unsafe extern "system" fn(*mut core::ffi::c_void, *const windows_core::GUID, *mut core::ffi::c_void) -> windows_core::HRESULT,
pub SetName: unsafe extern "system" fn(*mut core::ffi::c_void, windows_core::PCWSTR) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(IDMLOperator, IDMLOperator_Vtbl, 0x26caae7a_3081_4633_9581_226fbe57695d);
impl core::ops::Deref for IDMLOperator {
type Target = IDMLDeviceChild;
fn deref(&self) -> &Self::Target {
unsafe { core::mem::transmute(self) }
}
}
windows_core::imp::interface_hierarchy!(IDMLOperator, windows_core::IUnknown, IDMLObject, IDMLDeviceChild);
impl IDMLOperator {}
#[repr(C)]
pub struct IDMLOperator_Vtbl {
pub base__: IDMLDeviceChild_Vtbl,
}
windows_core::imp::define_interface!(IDMLOperatorInitializer, IDMLOperatorInitializer_Vtbl, 0x427c1113_435c_469c_8676_4d5dd072f813);
impl core::ops::Deref for IDMLOperatorInitializer {
type Target = IDMLDispatchable;
fn deref(&self) -> &Self::Target {
unsafe { core::mem::transmute(self) }
}
}
windows_core::imp::interface_hierarchy!(IDMLOperatorInitializer, windows_core::IUnknown, IDMLObject, IDMLDeviceChild, IDMLPageable, IDMLDispatchable);
impl IDMLOperatorInitializer {
pub unsafe fn Reset(&self, operators: Option<&[Option<IDMLCompiledOperator>]>) -> windows_core::Result<()> {
(windows_core::Interface::vtable(self).Reset)(windows_core::Interface::as_raw(self), operators.as_deref().map_or(0, |slice| slice.len().try_into().unwrap()), core::mem::transmute(operators.as_deref().map_or(core::ptr::null(), |slice| slice.as_ptr()))).ok()
}
}
#[repr(C)]
pub struct IDMLOperatorInitializer_Vtbl {
pub base__: IDMLDispatchable_Vtbl,
pub Reset: unsafe extern "system" fn(*mut core::ffi::c_void, u32, *const *mut core::ffi::c_void) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(IDMLPageable, IDMLPageable_Vtbl, 0xb1ab0825_4542_4a4b_8617_6dde6e8f6201);
impl core::ops::Deref for IDMLPageable {
type Target = IDMLDeviceChild;
fn deref(&self) -> &Self::Target {
unsafe { core::mem::transmute(self) }
}
}
windows_core::imp::interface_hierarchy!(IDMLPageable, windows_core::IUnknown, IDMLObject, IDMLDeviceChild);
impl IDMLPageable {}
#[repr(C)]
pub struct IDMLPageable_Vtbl {
pub base__: IDMLDeviceChild_Vtbl,
}
pub const DML_AXIS_DIRECTION_DECREASING: DML_AXIS_DIRECTION = DML_AXIS_DIRECTION(1i32);
pub const DML_AXIS_DIRECTION_INCREASING: DML_AXIS_DIRECTION = DML_AXIS_DIRECTION(0i32);
pub const DML_BINDING_TYPE_BUFFER: DML_BINDING_TYPE = DML_BINDING_TYPE(1i32);
pub const DML_BINDING_TYPE_BUFFER_ARRAY: DML_BINDING_TYPE = DML_BINDING_TYPE(2i32);
pub const DML_BINDING_TYPE_NONE: DML_BINDING_TYPE = DML_BINDING_TYPE(0i32);
pub const DML_CONVOLUTION_DIRECTION_BACKWARD: DML_CONVOLUTION_DIRECTION = DML_CONVOLUTION_DIRECTION(1i32);
pub const DML_CONVOLUTION_DIRECTION_FORWARD: DML_CONVOLUTION_DIRECTION = DML_CONVOLUTION_DIRECTION(0i32);
pub const DML_CONVOLUTION_MODE_CONVOLUTION: DML_CONVOLUTION_MODE = DML_CONVOLUTION_MODE(0i32);
pub const DML_CONVOLUTION_MODE_CROSS_CORRELATION: DML_CONVOLUTION_MODE = DML_CONVOLUTION_MODE(1i32);
pub const DML_CREATE_DEVICE_FLAG_DEBUG: DML_CREATE_DEVICE_FLAGS = DML_CREATE_DEVICE_FLAGS(1i32);
pub const DML_CREATE_DEVICE_FLAG_NONE: DML_CREATE_DEVICE_FLAGS = DML_CREATE_DEVICE_FLAGS(0i32);
pub const DML_DEPTH_SPACE_ORDER_COLUMN_ROW_DEPTH: DML_DEPTH_SPACE_ORDER = DML_DEPTH_SPACE_ORDER(1i32);
pub const DML_DEPTH_SPACE_ORDER_DEPTH_COLUMN_ROW: DML_DEPTH_SPACE_ORDER = DML_DEPTH_SPACE_ORDER(0i32);
pub const DML_EXECUTION_FLAG_ALLOW_HALF_PRECISION_COMPUTATION: DML_EXECUTION_FLAGS = DML_EXECUTION_FLAGS(1i32);
pub const DML_EXECUTION_FLAG_DESCRIPTORS_VOLATILE: DML_EXECUTION_FLAGS = DML_EXECUTION_FLAGS(4i32);
pub const DML_EXECUTION_FLAG_DISABLE_META_COMMANDS: DML_EXECUTION_FLAGS = DML_EXECUTION_FLAGS(2i32);
pub const DML_EXECUTION_FLAG_NONE: DML_EXECUTION_FLAGS = DML_EXECUTION_FLAGS(0i32);
pub const DML_FEATURE_FEATURE_LEVELS: DML_FEATURE = DML_FEATURE(1i32);
pub const DML_FEATURE_LEVEL_1_0: DML_FEATURE_LEVEL = DML_FEATURE_LEVEL(4096i32);
pub const DML_FEATURE_LEVEL_2_0: DML_FEATURE_LEVEL = DML_FEATURE_LEVEL(8192i32);
pub const DML_FEATURE_LEVEL_2_1: DML_FEATURE_LEVEL = DML_FEATURE_LEVEL(8448i32);
pub const DML_FEATURE_LEVEL_3_0: DML_FEATURE_LEVEL = DML_FEATURE_LEVEL(12288i32);
pub const DML_FEATURE_LEVEL_3_1: DML_FEATURE_LEVEL = DML_FEATURE_LEVEL(12544i32);
pub const DML_FEATURE_LEVEL_4_0: DML_FEATURE_LEVEL = DML_FEATURE_LEVEL(16384i32);
pub const DML_FEATURE_LEVEL_4_1: DML_FEATURE_LEVEL = DML_FEATURE_LEVEL(16640i32);
pub const DML_FEATURE_LEVEL_5_0: DML_FEATURE_LEVEL = DML_FEATURE_LEVEL(20480i32);
pub const DML_FEATURE_TENSOR_DATA_TYPE_SUPPORT: DML_FEATURE = DML_FEATURE(0i32);
pub const DML_GRAPH_EDGE_TYPE_INPUT: DML_GRAPH_EDGE_TYPE = DML_GRAPH_EDGE_TYPE(1i32);
pub const DML_GRAPH_EDGE_TYPE_INTERMEDIATE: DML_GRAPH_EDGE_TYPE = DML_GRAPH_EDGE_TYPE(3i32);
pub const DML_GRAPH_EDGE_TYPE_INVALID: DML_GRAPH_EDGE_TYPE = DML_GRAPH_EDGE_TYPE(0i32);
pub const DML_GRAPH_EDGE_TYPE_OUTPUT: DML_GRAPH_EDGE_TYPE = DML_GRAPH_EDGE_TYPE(2i32);
pub const DML_GRAPH_NODE_TYPE_INVALID: DML_GRAPH_NODE_TYPE = DML_GRAPH_NODE_TYPE(0i32);
pub const DML_GRAPH_NODE_TYPE_OPERATOR: DML_GRAPH_NODE_TYPE = DML_GRAPH_NODE_TYPE(1i32);
pub const DML_INTERPOLATION_MODE_LINEAR: DML_INTERPOLATION_MODE = DML_INTERPOLATION_MODE(1i32);
pub const DML_INTERPOLATION_MODE_NEAREST_NEIGHBOR: DML_INTERPOLATION_MODE = DML_INTERPOLATION_MODE(0i32);
pub const DML_IS_INFINITY_MODE_EITHER: DML_IS_INFINITY_MODE = DML_IS_INFINITY_MODE(0i32);
pub const DML_IS_INFINITY_MODE_NEGATIVE: DML_IS_INFINITY_MODE = DML_IS_INFINITY_MODE(2i32);
pub const DML_IS_INFINITY_MODE_POSITIVE: DML_IS_INFINITY_MODE = DML_IS_INFINITY_MODE(1i32);
pub const DML_MATRIX_TRANSFORM_NONE: DML_MATRIX_TRANSFORM = DML_MATRIX_TRANSFORM(0i32);
pub const DML_MATRIX_TRANSFORM_TRANSPOSE: DML_MATRIX_TRANSFORM = DML_MATRIX_TRANSFORM(1i32);
pub const DML_MINIMUM_BUFFER_TENSOR_ALIGNMENT: u32 = 16u32;
pub const DML_OPERATOR_ACTIVATION_CELU: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(128i32);
pub const DML_OPERATOR_ACTIVATION_ELU: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(35i32);
pub const DML_OPERATOR_ACTIVATION_HARDMAX: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(36i32);
pub const DML_OPERATOR_ACTIVATION_HARD_SIGMOID: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(37i32);
pub const DML_OPERATOR_ACTIVATION_IDENTITY: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(38i32);
pub const DML_OPERATOR_ACTIVATION_LEAKY_RELU: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(39i32);
pub const DML_OPERATOR_ACTIVATION_LINEAR: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(40i32);
pub const DML_OPERATOR_ACTIVATION_LOG_SOFTMAX: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(41i32);
pub const DML_OPERATOR_ACTIVATION_PARAMETERIZED_RELU: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(42i32);
pub const DML_OPERATOR_ACTIVATION_PARAMETRIC_SOFTPLUS: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(43i32);
pub const DML_OPERATOR_ACTIVATION_RELU: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(44i32);
pub const DML_OPERATOR_ACTIVATION_RELU_GRAD: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(129i32);
pub const DML_OPERATOR_ACTIVATION_SCALED_ELU: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(45i32);
pub const DML_OPERATOR_ACTIVATION_SCALED_TANH: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(46i32);
pub const DML_OPERATOR_ACTIVATION_SHRINK: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(90i32);
pub const DML_OPERATOR_ACTIVATION_SIGMOID: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(47i32);
pub const DML_OPERATOR_ACTIVATION_SOFTMAX: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(48i32);
pub const DML_OPERATOR_ACTIVATION_SOFTPLUS: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(49i32);
pub const DML_OPERATOR_ACTIVATION_SOFTSIGN: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(50i32);
pub const DML_OPERATOR_ACTIVATION_TANH: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(51i32);
pub const DML_OPERATOR_ACTIVATION_THRESHOLDED_RELU: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(52i32);
pub const DML_OPERATOR_ADAM_OPTIMIZER: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(136i32);
pub const DML_OPERATOR_ARGMAX: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(138i32);
pub const DML_OPERATOR_ARGMIN: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(137i32);
pub const DML_OPERATOR_AVERAGE_POOLING: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(56i32);
pub const DML_OPERATOR_AVERAGE_POOLING_GRAD: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(130i32);
pub const DML_OPERATOR_BATCH_NORMALIZATION: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(72i32);
pub const DML_OPERATOR_BATCH_NORMALIZATION_GRAD: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(146i32);
pub const DML_OPERATOR_CAST: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(61i32);
pub const DML_OPERATOR_CONVOLUTION: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(53i32);
pub const DML_OPERATOR_CONVOLUTION_INTEGER: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(119i32);
pub const DML_OPERATOR_CUMULATIVE_PRODUCT: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(145i32);
pub const DML_OPERATOR_CUMULATIVE_SUMMATION: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(105i32);
pub const DML_OPERATOR_DEPTH_TO_SPACE: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(69i32);
pub const DML_OPERATOR_DEPTH_TO_SPACE1: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(113i32);
pub const DML_OPERATOR_DIAGONAL_MATRIX: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(93i32);
pub const DML_OPERATOR_DYNAMIC_QUANTIZE_LINEAR: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(148i32);
pub const DML_OPERATOR_ELEMENT_WISE_ABS: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(2i32);
pub const DML_OPERATOR_ELEMENT_WISE_ACOS: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(3i32);
pub const DML_OPERATOR_ELEMENT_WISE_ACOSH: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(86i32);
pub const DML_OPERATOR_ELEMENT_WISE_ADD: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(4i32);
pub const DML_OPERATOR_ELEMENT_WISE_ADD1: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(89i32);
pub const DML_OPERATOR_ELEMENT_WISE_ASIN: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(5i32);
pub const DML_OPERATOR_ELEMENT_WISE_ASINH: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(85i32);
pub const DML_OPERATOR_ELEMENT_WISE_ATAN: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(6i32);
pub const DML_OPERATOR_ELEMENT_WISE_ATANH: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(87i32);
pub const DML_OPERATOR_ELEMENT_WISE_ATAN_YX: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(141i32);
pub const DML_OPERATOR_ELEMENT_WISE_BIT_AND: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(121i32);
pub const DML_OPERATOR_ELEMENT_WISE_BIT_COUNT: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(125i32);
pub const DML_OPERATOR_ELEMENT_WISE_BIT_NOT: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(124i32);
pub const DML_OPERATOR_ELEMENT_WISE_BIT_OR: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(122i32);
pub const DML_OPERATOR_ELEMENT_WISE_BIT_SHIFT_LEFT: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(97i32);
pub const DML_OPERATOR_ELEMENT_WISE_BIT_SHIFT_RIGHT: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(98i32);
pub const DML_OPERATOR_ELEMENT_WISE_BIT_XOR: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(123i32);
pub const DML_OPERATOR_ELEMENT_WISE_CEIL: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(7i32);
pub const DML_OPERATOR_ELEMENT_WISE_CLIP: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(8i32);
pub const DML_OPERATOR_ELEMENT_WISE_CLIP_GRAD: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(142i32);
pub const DML_OPERATOR_ELEMENT_WISE_CONSTANT_POW: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(26i32);
pub const DML_OPERATOR_ELEMENT_WISE_COS: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(9i32);
pub const DML_OPERATOR_ELEMENT_WISE_COSH: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(83i32);
pub const DML_OPERATOR_ELEMENT_WISE_DEQUANTIZE_LINEAR: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(34i32);
pub const DML_OPERATOR_ELEMENT_WISE_DIFFERENCE_SQUARE: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(143i32);
pub const DML_OPERATOR_ELEMENT_WISE_DIVIDE: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(10i32);
pub const DML_OPERATOR_ELEMENT_WISE_ERF: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(81i32);
pub const DML_OPERATOR_ELEMENT_WISE_EXP: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(11i32);
pub const DML_OPERATOR_ELEMENT_WISE_FLOOR: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(12i32);
pub const DML_OPERATOR_ELEMENT_WISE_IDENTITY: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(1i32);
pub const DML_OPERATOR_ELEMENT_WISE_IF: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(88i32);
pub const DML_OPERATOR_ELEMENT_WISE_IS_INFINITY: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(100i32);
pub const DML_OPERATOR_ELEMENT_WISE_IS_NAN: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(80i32);
pub const DML_OPERATOR_ELEMENT_WISE_LOG: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(13i32);
pub const DML_OPERATOR_ELEMENT_WISE_LOGICAL_AND: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(14i32);
pub const DML_OPERATOR_ELEMENT_WISE_LOGICAL_EQUALS: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(15i32);
pub const DML_OPERATOR_ELEMENT_WISE_LOGICAL_GREATER_THAN: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(16i32);
pub const DML_OPERATOR_ELEMENT_WISE_LOGICAL_GREATER_THAN_OR_EQUAL: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(126i32);
pub const DML_OPERATOR_ELEMENT_WISE_LOGICAL_LESS_THAN: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(17i32);
pub const DML_OPERATOR_ELEMENT_WISE_LOGICAL_LESS_THAN_OR_EQUAL: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(127i32);
pub const DML_OPERATOR_ELEMENT_WISE_LOGICAL_NOT: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(18i32);
pub const DML_OPERATOR_ELEMENT_WISE_LOGICAL_OR: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(19i32);
pub const DML_OPERATOR_ELEMENT_WISE_LOGICAL_XOR: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(20i32);
pub const DML_OPERATOR_ELEMENT_WISE_MAX: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(21i32);
pub const DML_OPERATOR_ELEMENT_WISE_MEAN: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(22i32);
pub const DML_OPERATOR_ELEMENT_WISE_MIN: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(23i32);
pub const DML_OPERATOR_ELEMENT_WISE_MODULUS_FLOOR: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(102i32);
pub const DML_OPERATOR_ELEMENT_WISE_MODULUS_TRUNCATE: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(101i32);
pub const DML_OPERATOR_ELEMENT_WISE_MULTIPLY: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(24i32);
pub const DML_OPERATOR_ELEMENT_WISE_POW: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(25i32);
pub const DML_OPERATOR_ELEMENT_WISE_QUANTIZED_LINEAR_ADD: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(147i32);
pub const DML_OPERATOR_ELEMENT_WISE_QUANTIZE_LINEAR: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(33i32);
pub const DML_OPERATOR_ELEMENT_WISE_RECIP: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(27i32);
pub const DML_OPERATOR_ELEMENT_WISE_ROUND: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(99i32);
pub const DML_OPERATOR_ELEMENT_WISE_SIGN: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(79i32);
pub const DML_OPERATOR_ELEMENT_WISE_SIN: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(28i32);
pub const DML_OPERATOR_ELEMENT_WISE_SINH: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(82i32);
pub const DML_OPERATOR_ELEMENT_WISE_SQRT: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(29i32);
pub const DML_OPERATOR_ELEMENT_WISE_SUBTRACT: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(30i32);
pub const DML_OPERATOR_ELEMENT_WISE_TAN: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(31i32);
pub const DML_OPERATOR_ELEMENT_WISE_TANH: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(84i32);
pub const DML_OPERATOR_ELEMENT_WISE_THRESHOLD: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(32i32);
pub const DML_OPERATOR_FILL_VALUE_CONSTANT: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(103i32);
pub const DML_OPERATOR_FILL_VALUE_SEQUENCE: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(104i32);
pub const DML_OPERATOR_GATHER: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(67i32);
pub const DML_OPERATOR_GATHER_ELEMENTS: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(107i32);
pub const DML_OPERATOR_GATHER_ND: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(108i32);
pub const DML_OPERATOR_GATHER_ND1: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(140i32);
pub const DML_OPERATOR_GEMM: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(54i32);
pub const DML_OPERATOR_GRU: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(78i32);
pub const DML_OPERATOR_INVALID: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(0i32);
pub const DML_OPERATOR_JOIN: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(63i32);
pub const DML_OPERATOR_LOCAL_RESPONSE_NORMALIZATION: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(74i32);
pub const DML_OPERATOR_LOCAL_RESPONSE_NORMALIZATION_GRAD: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(144i32);
pub const DML_OPERATOR_LP_NORMALIZATION: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(75i32);
pub const DML_OPERATOR_LP_POOLING: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(57i32);
pub const DML_OPERATOR_LSTM: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(77i32);
pub const DML_OPERATOR_MATRIX_MULTIPLY_INTEGER: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(117i32);
pub const DML_OPERATOR_MAX_POOLING: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(58i32);
pub const DML_OPERATOR_MAX_POOLING1: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(91i32);
pub const DML_OPERATOR_MAX_POOLING2: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(110i32);
pub const DML_OPERATOR_MAX_POOLING_GRAD: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(131i32);
pub const DML_OPERATOR_MAX_UNPOOLING: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(92i32);
pub const DML_OPERATOR_MEAN_VARIANCE_NORMALIZATION: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(73i32);
pub const DML_OPERATOR_MEAN_VARIANCE_NORMALIZATION1: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(115i32);
pub const DML_OPERATOR_NONZERO_COORDINATES: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(133i32);
pub const DML_OPERATOR_ONE_HOT: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(95i32);
pub const DML_OPERATOR_PADDING: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(64i32);
pub const DML_OPERATOR_QUANTIZED_LINEAR_CONVOLUTION: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(120i32);
pub const DML_OPERATOR_QUANTIZED_LINEAR_MATRIX_MULTIPLY: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(118i32);
pub const DML_OPERATOR_RANDOM_GENERATOR: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(132i32);
pub const DML_OPERATOR_REDUCE: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(55i32);
pub const DML_OPERATOR_RESAMPLE: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(96i32);
pub const DML_OPERATOR_RESAMPLE1: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(116i32);
pub const DML_OPERATOR_RESAMPLE_GRAD: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(134i32);
pub const DML_OPERATOR_REVERSE_SUBSEQUENCES: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(106i32);
pub const DML_OPERATOR_RNN: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(76i32);
pub const DML_OPERATOR_ROI_ALIGN: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(139i32);
pub const DML_OPERATOR_ROI_ALIGN1: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(149i32);
pub const DML_OPERATOR_ROI_POOLING: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(59i32);
pub const DML_OPERATOR_SCATTER: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(94i32);
pub const DML_OPERATOR_SCATTER_ELEMENTS: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(94i32);
pub const DML_OPERATOR_SCATTER_ND: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(109i32);
pub const DML_OPERATOR_SLICE: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(60i32);
pub const DML_OPERATOR_SLICE1: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(111i32);
pub const DML_OPERATOR_SLICE_GRAD: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(135i32);
pub const DML_OPERATOR_SPACE_TO_DEPTH: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(68i32);
pub const DML_OPERATOR_SPACE_TO_DEPTH1: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(114i32);
pub const DML_OPERATOR_SPLIT: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(62i32);
pub const DML_OPERATOR_TILE: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(70i32);
pub const DML_OPERATOR_TOP_K: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(71i32);
pub const DML_OPERATOR_TOP_K1: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(112i32);
pub const DML_OPERATOR_UPSAMPLE_2D: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(66i32);
pub const DML_OPERATOR_VALUE_SCALE_2D: DML_OPERATOR_TYPE = DML_OPERATOR_TYPE(65i32);
pub const DML_PADDING_MODE_CONSTANT: DML_PADDING_MODE = DML_PADDING_MODE(0i32);
pub const DML_PADDING_MODE_EDGE: DML_PADDING_MODE = DML_PADDING_MODE(1i32);
pub const DML_PADDING_MODE_REFLECTION: DML_PADDING_MODE = DML_PADDING_MODE(2i32);
pub const DML_PADDING_MODE_SYMMETRIC: DML_PADDING_MODE = DML_PADDING_MODE(3i32);
pub const DML_PERSISTENT_BUFFER_ALIGNMENT: u32 = 256u32;
pub const DML_RANDOM_GENERATOR_TYPE_PHILOX_4X32_10: DML_RANDOM_GENERATOR_TYPE = DML_RANDOM_GENERATOR_TYPE(0i32);
pub const DML_RECURRENT_NETWORK_DIRECTION_BACKWARD: DML_RECURRENT_NETWORK_DIRECTION = DML_RECURRENT_NETWORK_DIRECTION(1i32);
pub const DML_RECURRENT_NETWORK_DIRECTION_BIDIRECTIONAL: DML_RECURRENT_NETWORK_DIRECTION = DML_RECURRENT_NETWORK_DIRECTION(2i32);
pub const DML_RECURRENT_NETWORK_DIRECTION_FORWARD: DML_RECURRENT_NETWORK_DIRECTION = DML_RECURRENT_NETWORK_DIRECTION(0i32);
pub const DML_REDUCE_FUNCTION_ARGMAX: DML_REDUCE_FUNCTION = DML_REDUCE_FUNCTION(0i32);
pub const DML_REDUCE_FUNCTION_ARGMIN: DML_REDUCE_FUNCTION = DML_REDUCE_FUNCTION(1i32);
pub const DML_REDUCE_FUNCTION_AVERAGE: DML_REDUCE_FUNCTION = DML_REDUCE_FUNCTION(2i32);
pub const DML_REDUCE_FUNCTION_L1: DML_REDUCE_FUNCTION = DML_REDUCE_FUNCTION(3i32);
pub const DML_REDUCE_FUNCTION_L2: DML_REDUCE_FUNCTION = DML_REDUCE_FUNCTION(4i32);
pub const DML_REDUCE_FUNCTION_LOG_SUM: DML_REDUCE_FUNCTION = DML_REDUCE_FUNCTION(5i32);
pub const DML_REDUCE_FUNCTION_LOG_SUM_EXP: DML_REDUCE_FUNCTION = DML_REDUCE_FUNCTION(6i32);
pub const DML_REDUCE_FUNCTION_MAX: DML_REDUCE_FUNCTION = DML_REDUCE_FUNCTION(7i32);
pub const DML_REDUCE_FUNCTION_MIN: DML_REDUCE_FUNCTION = DML_REDUCE_FUNCTION(8i32);
pub const DML_REDUCE_FUNCTION_MULTIPLY: DML_REDUCE_FUNCTION = DML_REDUCE_FUNCTION(9i32);
pub const DML_REDUCE_FUNCTION_SUM: DML_REDUCE_FUNCTION = DML_REDUCE_FUNCTION(10i32);
pub const DML_REDUCE_FUNCTION_SUM_SQUARE: DML_REDUCE_FUNCTION = DML_REDUCE_FUNCTION(11i32);
pub const DML_ROUNDING_MODE_HALVES_TO_NEAREST_EVEN: DML_ROUNDING_MODE = DML_ROUNDING_MODE(0i32);
pub const DML_ROUNDING_MODE_TOWARD_INFINITY: DML_ROUNDING_MODE = DML_ROUNDING_MODE(2i32);
pub const DML_ROUNDING_MODE_TOWARD_ZERO: DML_ROUNDING_MODE = DML_ROUNDING_MODE(1i32);
pub const DML_TARGET_VERSION: u32 = 20480u32;
pub const DML_TEMPORARY_BUFFER_ALIGNMENT: u32 = 256u32;
pub const DML_TENSOR_DATA_TYPE_FLOAT16: DML_TENSOR_DATA_TYPE = DML_TENSOR_DATA_TYPE(2i32);
pub const DML_TENSOR_DATA_TYPE_FLOAT32: DML_TENSOR_DATA_TYPE = DML_TENSOR_DATA_TYPE(1i32);
pub const DML_TENSOR_DATA_TYPE_FLOAT64: DML_TENSOR_DATA_TYPE = DML_TENSOR_DATA_TYPE(9i32);
pub const DML_TENSOR_DATA_TYPE_INT16: DML_TENSOR_DATA_TYPE = DML_TENSOR_DATA_TYPE(7i32);
pub const DML_TENSOR_DATA_TYPE_INT32: DML_TENSOR_DATA_TYPE = DML_TENSOR_DATA_TYPE(6i32);
pub const DML_TENSOR_DATA_TYPE_INT64: DML_TENSOR_DATA_TYPE = DML_TENSOR_DATA_TYPE(11i32);
pub const DML_TENSOR_DATA_TYPE_INT8: DML_TENSOR_DATA_TYPE = DML_TENSOR_DATA_TYPE(8i32);
pub const DML_TENSOR_DATA_TYPE_UINT16: DML_TENSOR_DATA_TYPE = DML_TENSOR_DATA_TYPE(4i32);
pub const DML_TENSOR_DATA_TYPE_UINT32: DML_TENSOR_DATA_TYPE = DML_TENSOR_DATA_TYPE(3i32);
pub const DML_TENSOR_DATA_TYPE_UINT64: DML_TENSOR_DATA_TYPE = DML_TENSOR_DATA_TYPE(10i32);
pub const DML_TENSOR_DATA_TYPE_UINT8: DML_TENSOR_DATA_TYPE = DML_TENSOR_DATA_TYPE(5i32);
pub const DML_TENSOR_DATA_TYPE_UNKNOWN: DML_TENSOR_DATA_TYPE = DML_TENSOR_DATA_TYPE(0i32);
pub const DML_TENSOR_DIMENSION_COUNT_MAX: u32 = 5u32;
pub const DML_TENSOR_DIMENSION_COUNT_MAX1: u32 = 8u32;
pub const DML_TENSOR_FLAG_NONE: DML_TENSOR_FLAGS = DML_TENSOR_FLAGS(0i32);
pub const DML_TENSOR_FLAG_OWNED_BY_DML: DML_TENSOR_FLAGS = DML_TENSOR_FLAGS(1i32);
pub const DML_TENSOR_TYPE_BUFFER: DML_TENSOR_TYPE = DML_TENSOR_TYPE(1i32);
pub const DML_TENSOR_TYPE_INVALID: DML_TENSOR_TYPE = DML_TENSOR_TYPE(0i32);
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_AXIS_DIRECTION(pub i32);
impl windows_core::TypeKind for DML_AXIS_DIRECTION {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_AXIS_DIRECTION {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_AXIS_DIRECTION").field(&self.0).finish()
}
}
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_BINDING_TYPE(pub i32);
impl windows_core::TypeKind for DML_BINDING_TYPE {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_BINDING_TYPE {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_BINDING_TYPE").field(&self.0).finish()
}
}
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_CONVOLUTION_DIRECTION(pub i32);
impl windows_core::TypeKind for DML_CONVOLUTION_DIRECTION {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_CONVOLUTION_DIRECTION {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_CONVOLUTION_DIRECTION").field(&self.0).finish()
}
}
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_CONVOLUTION_MODE(pub i32);
impl windows_core::TypeKind for DML_CONVOLUTION_MODE {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_CONVOLUTION_MODE {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_CONVOLUTION_MODE").field(&self.0).finish()
}
}
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_CREATE_DEVICE_FLAGS(pub i32);
impl windows_core::TypeKind for DML_CREATE_DEVICE_FLAGS {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_CREATE_DEVICE_FLAGS {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_CREATE_DEVICE_FLAGS").field(&self.0).finish()
}
}
impl DML_CREATE_DEVICE_FLAGS {
pub const fn contains(&self, other: Self) -> bool {
self.0 & other.0 == other.0
}
}
impl core::ops::BitOr for DML_CREATE_DEVICE_FLAGS {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl core::ops::BitAnd for DML_CREATE_DEVICE_FLAGS {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl core::ops::BitOrAssign for DML_CREATE_DEVICE_FLAGS {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0)
}
}
impl core::ops::BitAndAssign for DML_CREATE_DEVICE_FLAGS {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0)
}
}
impl core::ops::Not for DML_CREATE_DEVICE_FLAGS {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_DEPTH_SPACE_ORDER(pub i32);
impl windows_core::TypeKind for DML_DEPTH_SPACE_ORDER {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_DEPTH_SPACE_ORDER {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_DEPTH_SPACE_ORDER").field(&self.0).finish()
}
}
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_EXECUTION_FLAGS(pub i32);
impl windows_core::TypeKind for DML_EXECUTION_FLAGS {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_EXECUTION_FLAGS {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_EXECUTION_FLAGS").field(&self.0).finish()
}
}
impl DML_EXECUTION_FLAGS {
pub const fn contains(&self, other: Self) -> bool {
self.0 & other.0 == other.0
}
}
impl core::ops::BitOr for DML_EXECUTION_FLAGS {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl core::ops::BitAnd for DML_EXECUTION_FLAGS {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl core::ops::BitOrAssign for DML_EXECUTION_FLAGS {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0)
}
}
impl core::ops::BitAndAssign for DML_EXECUTION_FLAGS {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0)
}
}
impl core::ops::Not for DML_EXECUTION_FLAGS {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_FEATURE(pub i32);
impl windows_core::TypeKind for DML_FEATURE {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_FEATURE {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_FEATURE").field(&self.0).finish()
}
}
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_FEATURE_LEVEL(pub i32);
impl windows_core::TypeKind for DML_FEATURE_LEVEL {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_FEATURE_LEVEL {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_FEATURE_LEVEL").field(&self.0).finish()
}
}
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_GRAPH_EDGE_TYPE(pub i32);
impl windows_core::TypeKind for DML_GRAPH_EDGE_TYPE {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_GRAPH_EDGE_TYPE {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_GRAPH_EDGE_TYPE").field(&self.0).finish()
}
}
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_GRAPH_NODE_TYPE(pub i32);
impl windows_core::TypeKind for DML_GRAPH_NODE_TYPE {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_GRAPH_NODE_TYPE {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_GRAPH_NODE_TYPE").field(&self.0).finish()
}
}
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_INTERPOLATION_MODE(pub i32);
impl windows_core::TypeKind for DML_INTERPOLATION_MODE {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_INTERPOLATION_MODE {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_INTERPOLATION_MODE").field(&self.0).finish()
}
}
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_IS_INFINITY_MODE(pub i32);
impl windows_core::TypeKind for DML_IS_INFINITY_MODE {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_IS_INFINITY_MODE {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_IS_INFINITY_MODE").field(&self.0).finish()
}
}
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_MATRIX_TRANSFORM(pub i32);
impl windows_core::TypeKind for DML_MATRIX_TRANSFORM {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_MATRIX_TRANSFORM {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_MATRIX_TRANSFORM").field(&self.0).finish()
}
}
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_OPERATOR_TYPE(pub i32);
impl windows_core::TypeKind for DML_OPERATOR_TYPE {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_OPERATOR_TYPE {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_OPERATOR_TYPE").field(&self.0).finish()
}
}
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_PADDING_MODE(pub i32);
impl windows_core::TypeKind for DML_PADDING_MODE {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_PADDING_MODE {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_PADDING_MODE").field(&self.0).finish()
}
}
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_RANDOM_GENERATOR_TYPE(pub i32);
impl windows_core::TypeKind for DML_RANDOM_GENERATOR_TYPE {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_RANDOM_GENERATOR_TYPE {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_RANDOM_GENERATOR_TYPE").field(&self.0).finish()
}
}
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_RECURRENT_NETWORK_DIRECTION(pub i32);
impl windows_core::TypeKind for DML_RECURRENT_NETWORK_DIRECTION {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_RECURRENT_NETWORK_DIRECTION {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_RECURRENT_NETWORK_DIRECTION").field(&self.0).finish()
}
}
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_REDUCE_FUNCTION(pub i32);
impl windows_core::TypeKind for DML_REDUCE_FUNCTION {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_REDUCE_FUNCTION {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_REDUCE_FUNCTION").field(&self.0).finish()
}
}
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_ROUNDING_MODE(pub i32);
impl windows_core::TypeKind for DML_ROUNDING_MODE {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_ROUNDING_MODE {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_ROUNDING_MODE").field(&self.0).finish()
}
}
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_TENSOR_DATA_TYPE(pub i32);
impl windows_core::TypeKind for DML_TENSOR_DATA_TYPE {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_TENSOR_DATA_TYPE {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_TENSOR_DATA_TYPE").field(&self.0).finish()
}
}
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_TENSOR_FLAGS(pub i32);
impl windows_core::TypeKind for DML_TENSOR_FLAGS {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_TENSOR_FLAGS {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_TENSOR_FLAGS").field(&self.0).finish()
}
}
impl DML_TENSOR_FLAGS {
pub const fn contains(&self, other: Self) -> bool {
self.0 & other.0 == other.0
}
}
impl core::ops::BitOr for DML_TENSOR_FLAGS {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl core::ops::BitAnd for DML_TENSOR_FLAGS {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl core::ops::BitOrAssign for DML_TENSOR_FLAGS {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0)
}
}
impl core::ops::BitAndAssign for DML_TENSOR_FLAGS {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0)
}
}
impl core::ops::Not for DML_TENSOR_FLAGS {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
#[repr(transparent)]
#[derive(PartialEq, Eq, Copy, Clone, Default)]
pub struct DML_TENSOR_TYPE(pub i32);
impl windows_core::TypeKind for DML_TENSOR_TYPE {
type TypeKind = windows_core::CopyType;
}
impl core::fmt::Debug for DML_TENSOR_TYPE {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
f.debug_tuple("DML_TENSOR_TYPE").field(&self.0).finish()
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_ACTIVATION_CELU_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Alpha: f32,
}
impl windows_core::TypeKind for DML_ACTIVATION_CELU_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ACTIVATION_CELU_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_ACTIVATION_ELU_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Alpha: f32,
}
impl windows_core::TypeKind for DML_ACTIVATION_ELU_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ACTIVATION_ELU_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ACTIVATION_HARDMAX_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ACTIVATION_HARDMAX_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ACTIVATION_HARDMAX_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_ACTIVATION_HARD_SIGMOID_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Alpha: f32,
pub Beta: f32,
}
impl windows_core::TypeKind for DML_ACTIVATION_HARD_SIGMOID_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ACTIVATION_HARD_SIGMOID_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ACTIVATION_IDENTITY_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ACTIVATION_IDENTITY_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ACTIVATION_IDENTITY_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_ACTIVATION_LEAKY_RELU_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Alpha: f32,
}
impl windows_core::TypeKind for DML_ACTIVATION_LEAKY_RELU_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ACTIVATION_LEAKY_RELU_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_ACTIVATION_LINEAR_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Alpha: f32,
pub Beta: f32,
}
impl windows_core::TypeKind for DML_ACTIVATION_LINEAR_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ACTIVATION_LINEAR_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ACTIVATION_LOG_SOFTMAX_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ACTIVATION_LOG_SOFTMAX_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ACTIVATION_LOG_SOFTMAX_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ACTIVATION_PARAMETERIZED_RELU_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub SlopeTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ACTIVATION_PARAMETERIZED_RELU_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ACTIVATION_PARAMETERIZED_RELU_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_ACTIVATION_PARAMETRIC_SOFTPLUS_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Alpha: f32,
pub Beta: f32,
}
impl windows_core::TypeKind for DML_ACTIVATION_PARAMETRIC_SOFTPLUS_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ACTIVATION_PARAMETRIC_SOFTPLUS_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ACTIVATION_RELU_GRAD_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub InputGradientTensor: *const DML_TENSOR_DESC,
pub OutputGradientTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ACTIVATION_RELU_GRAD_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ACTIVATION_RELU_GRAD_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ACTIVATION_RELU_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ACTIVATION_RELU_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ACTIVATION_RELU_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_ACTIVATION_SCALED_ELU_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Alpha: f32,
pub Gamma: f32,
}
impl windows_core::TypeKind for DML_ACTIVATION_SCALED_ELU_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ACTIVATION_SCALED_ELU_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_ACTIVATION_SCALED_TANH_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Alpha: f32,
pub Beta: f32,
}
impl windows_core::TypeKind for DML_ACTIVATION_SCALED_TANH_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ACTIVATION_SCALED_TANH_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_ACTIVATION_SHRINK_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Bias: f32,
pub Threshold: f32,
}
impl windows_core::TypeKind for DML_ACTIVATION_SHRINK_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ACTIVATION_SHRINK_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ACTIVATION_SIGMOID_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ACTIVATION_SIGMOID_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ACTIVATION_SIGMOID_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ACTIVATION_SOFTMAX_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ACTIVATION_SOFTMAX_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ACTIVATION_SOFTMAX_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_ACTIVATION_SOFTPLUS_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Steepness: f32,
}
impl windows_core::TypeKind for DML_ACTIVATION_SOFTPLUS_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ACTIVATION_SOFTPLUS_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ACTIVATION_SOFTSIGN_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ACTIVATION_SOFTSIGN_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ACTIVATION_SOFTSIGN_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ACTIVATION_TANH_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ACTIVATION_TANH_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ACTIVATION_TANH_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_ACTIVATION_THRESHOLDED_RELU_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Alpha: f32,
}
impl windows_core::TypeKind for DML_ACTIVATION_THRESHOLDED_RELU_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ACTIVATION_THRESHOLDED_RELU_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_ADAM_OPTIMIZER_OPERATOR_DESC {
pub InputParametersTensor: *const DML_TENSOR_DESC,
pub InputFirstMomentTensor: *const DML_TENSOR_DESC,
pub InputSecondMomentTensor: *const DML_TENSOR_DESC,
pub GradientTensor: *const DML_TENSOR_DESC,
pub TrainingStepTensor: *const DML_TENSOR_DESC,
pub OutputParametersTensor: *const DML_TENSOR_DESC,
pub OutputFirstMomentTensor: *const DML_TENSOR_DESC,
pub OutputSecondMomentTensor: *const DML_TENSOR_DESC,
pub LearningRate: f32,
pub Beta1: f32,
pub Beta2: f32,
pub Epsilon: f32,
}
impl windows_core::TypeKind for DML_ADAM_OPTIMIZER_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ADAM_OPTIMIZER_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ARGMAX_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub AxisCount: u32,
pub Axes: *const u32,
pub AxisDirection: DML_AXIS_DIRECTION,
}
impl windows_core::TypeKind for DML_ARGMAX_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ARGMAX_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ARGMIN_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub AxisCount: u32,
pub Axes: *const u32,
pub AxisDirection: DML_AXIS_DIRECTION,
}
impl windows_core::TypeKind for DML_ARGMIN_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ARGMIN_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_AVERAGE_POOLING_GRAD_OPERATOR_DESC {
pub InputGradientTensor: *const DML_TENSOR_DESC,
pub OutputGradientTensor: *const DML_TENSOR_DESC,
pub DimensionCount: u32,
pub Strides: *const u32,
pub WindowSize: *const u32,
pub StartPadding: *const u32,
pub EndPadding: *const u32,
pub IncludePadding: super::super::super::Foundation::BOOL,
}
impl windows_core::TypeKind for DML_AVERAGE_POOLING_GRAD_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_AVERAGE_POOLING_GRAD_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_AVERAGE_POOLING_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub DimensionCount: u32,
pub Strides: *const u32,
pub WindowSize: *const u32,
pub StartPadding: *const u32,
pub EndPadding: *const u32,
pub IncludePadding: super::super::super::Foundation::BOOL,
}
impl windows_core::TypeKind for DML_AVERAGE_POOLING_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_AVERAGE_POOLING_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_BATCH_NORMALIZATION_GRAD_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub InputGradientTensor: *const DML_TENSOR_DESC,
pub MeanTensor: *const DML_TENSOR_DESC,
pub VarianceTensor: *const DML_TENSOR_DESC,
pub ScaleTensor: *const DML_TENSOR_DESC,
pub OutputGradientTensor: *const DML_TENSOR_DESC,
pub OutputScaleGradientTensor: *const DML_TENSOR_DESC,
pub OutputBiasGradientTensor: *const DML_TENSOR_DESC,
pub Epsilon: f32,
}
impl windows_core::TypeKind for DML_BATCH_NORMALIZATION_GRAD_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_BATCH_NORMALIZATION_GRAD_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_BATCH_NORMALIZATION_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub MeanTensor: *const DML_TENSOR_DESC,
pub VarianceTensor: *const DML_TENSOR_DESC,
pub ScaleTensor: *const DML_TENSOR_DESC,
pub BiasTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Spatial: super::super::super::Foundation::BOOL,
pub Epsilon: f32,
pub FusedActivation: *const DML_OPERATOR_DESC,
}
impl windows_core::TypeKind for DML_BATCH_NORMALIZATION_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_BATCH_NORMALIZATION_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_BINDING_DESC {
pub Type: DML_BINDING_TYPE,
pub Desc: *const core::ffi::c_void,
}
impl windows_core::TypeKind for DML_BINDING_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_BINDING_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_BINDING_PROPERTIES {
pub RequiredDescriptorCount: u32,
pub TemporaryResourceSize: u64,
pub PersistentResourceSize: u64,
}
impl windows_core::TypeKind for DML_BINDING_PROPERTIES {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_BINDING_PROPERTIES {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[cfg(feature = "Win32_Graphics_Direct3D12")]
#[derive(Debug, Eq, PartialEq)]
pub struct DML_BINDING_TABLE_DESC {
pub Dispatchable: core::mem::ManuallyDrop<Option<IDMLDispatchable>>,
pub CPUDescriptorHandle: super::super::super::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
pub GPUDescriptorHandle: super::super::super::Graphics::Direct3D12::D3D12_GPU_DESCRIPTOR_HANDLE,
pub SizeInDescriptors: u32,
}
#[cfg(feature = "Win32_Graphics_Direct3D12")]
impl Clone for DML_BINDING_TABLE_DESC {
fn clone(&self) -> Self {
unsafe { core::mem::transmute_copy(self) }
}
}
#[cfg(feature = "Win32_Graphics_Direct3D12")]
impl windows_core::TypeKind for DML_BINDING_TABLE_DESC {
type TypeKind = windows_core::CopyType;
}
#[cfg(feature = "Win32_Graphics_Direct3D12")]
impl Default for DML_BINDING_TABLE_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[cfg(feature = "Win32_Graphics_Direct3D12")]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_BUFFER_ARRAY_BINDING {
pub BindingCount: u32,
pub Bindings: *const DML_BUFFER_BINDING,
}
#[cfg(feature = "Win32_Graphics_Direct3D12")]
impl windows_core::TypeKind for DML_BUFFER_ARRAY_BINDING {
type TypeKind = windows_core::CopyType;
}
#[cfg(feature = "Win32_Graphics_Direct3D12")]
impl Default for DML_BUFFER_ARRAY_BINDING {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[cfg(feature = "Win32_Graphics_Direct3D12")]
#[derive(Debug, Eq, PartialEq)]
pub struct DML_BUFFER_BINDING {
pub Buffer: core::mem::ManuallyDrop<Option<super::super::super::Graphics::Direct3D12::ID3D12Resource>>,
pub Offset: u64,
pub SizeInBytes: u64,
}
#[cfg(feature = "Win32_Graphics_Direct3D12")]
impl Clone for DML_BUFFER_BINDING {
fn clone(&self) -> Self {
unsafe { core::mem::transmute_copy(self) }
}
}
#[cfg(feature = "Win32_Graphics_Direct3D12")]
impl windows_core::TypeKind for DML_BUFFER_BINDING {
type TypeKind = windows_core::CopyType;
}
#[cfg(feature = "Win32_Graphics_Direct3D12")]
impl Default for DML_BUFFER_BINDING {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_BUFFER_TENSOR_DESC {
pub DataType: DML_TENSOR_DATA_TYPE,
pub Flags: DML_TENSOR_FLAGS,
pub DimensionCount: u32,
pub Sizes: *const u32,
pub Strides: *const u32,
pub TotalTensorSizeInBytes: u64,
pub GuaranteedBaseOffsetAlignment: u32,
}
impl windows_core::TypeKind for DML_BUFFER_TENSOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_BUFFER_TENSOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_CAST_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_CAST_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_CAST_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_CONVOLUTION_INTEGER_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub InputZeroPointTensor: *const DML_TENSOR_DESC,
pub FilterTensor: *const DML_TENSOR_DESC,
pub FilterZeroPointTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub DimensionCount: u32,
pub Strides: *const u32,
pub Dilations: *const u32,
pub StartPadding: *const u32,
pub EndPadding: *const u32,
pub GroupCount: u32,
}
impl windows_core::TypeKind for DML_CONVOLUTION_INTEGER_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_CONVOLUTION_INTEGER_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_CONVOLUTION_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub FilterTensor: *const DML_TENSOR_DESC,
pub BiasTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Mode: DML_CONVOLUTION_MODE,
pub Direction: DML_CONVOLUTION_DIRECTION,
pub DimensionCount: u32,
pub Strides: *const u32,
pub Dilations: *const u32,
pub StartPadding: *const u32,
pub EndPadding: *const u32,
pub OutputPadding: *const u32,
pub GroupCount: u32,
pub FusedActivation: *const DML_OPERATOR_DESC,
}
impl windows_core::TypeKind for DML_CONVOLUTION_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_CONVOLUTION_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_CUMULATIVE_PRODUCT_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Axis: u32,
pub AxisDirection: DML_AXIS_DIRECTION,
pub HasExclusiveProduct: super::super::super::Foundation::BOOL,
}
impl windows_core::TypeKind for DML_CUMULATIVE_PRODUCT_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_CUMULATIVE_PRODUCT_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_CUMULATIVE_SUMMATION_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Axis: u32,
pub AxisDirection: DML_AXIS_DIRECTION,
pub HasExclusiveSum: super::super::super::Foundation::BOOL,
}
impl windows_core::TypeKind for DML_CUMULATIVE_SUMMATION_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_CUMULATIVE_SUMMATION_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_DEPTH_TO_SPACE1_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub BlockSize: u32,
pub Order: DML_DEPTH_SPACE_ORDER,
}
impl windows_core::TypeKind for DML_DEPTH_TO_SPACE1_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_DEPTH_TO_SPACE1_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_DEPTH_TO_SPACE_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub BlockSize: u32,
}
impl windows_core::TypeKind for DML_DEPTH_TO_SPACE_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_DEPTH_TO_SPACE_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_DIAGONAL_MATRIX_OPERATOR_DESC {
pub OutputTensor: *const DML_TENSOR_DESC,
pub Offset: i32,
pub Value: f32,
}
impl windows_core::TypeKind for DML_DIAGONAL_MATRIX_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_DIAGONAL_MATRIX_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_DYNAMIC_QUANTIZE_LINEAR_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub OutputScaleTensor: *const DML_TENSOR_DESC,
pub OutputZeroPointTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_DYNAMIC_QUANTIZE_LINEAR_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_DYNAMIC_QUANTIZE_LINEAR_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_ABS_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_ABS_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_ABS_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_ACOSH_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_ACOSH_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_ACOSH_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_ACOS_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_ACOS_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_ACOS_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_ADD1_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub FusedActivation: *const DML_OPERATOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_ADD1_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_ADD1_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_ADD_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_ADD_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_ADD_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_ASINH_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_ASINH_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_ASINH_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_ASIN_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_ASIN_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_ASIN_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_ATANH_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_ATANH_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_ATANH_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_ATAN_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_ATAN_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_ATAN_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_ATAN_YX_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_ATAN_YX_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_ATAN_YX_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_BIT_AND_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_BIT_AND_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_BIT_AND_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_BIT_COUNT_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_BIT_COUNT_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_BIT_COUNT_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_BIT_NOT_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_BIT_NOT_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_BIT_NOT_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_BIT_OR_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_BIT_OR_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_BIT_OR_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_BIT_SHIFT_LEFT_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_BIT_SHIFT_LEFT_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_BIT_SHIFT_LEFT_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_BIT_SHIFT_RIGHT_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_BIT_SHIFT_RIGHT_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_BIT_SHIFT_RIGHT_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_BIT_XOR_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_BIT_XOR_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_BIT_XOR_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_CEIL_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_CEIL_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_CEIL_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_ELEMENT_WISE_CLIP_GRAD_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub InputGradientTensor: *const DML_TENSOR_DESC,
pub OutputGradientTensor: *const DML_TENSOR_DESC,
pub Min: f32,
pub Max: f32,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_CLIP_GRAD_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_CLIP_GRAD_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_ELEMENT_WISE_CLIP_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
pub Min: f32,
pub Max: f32,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_CLIP_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_CLIP_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_ELEMENT_WISE_CONSTANT_POW_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
pub Exponent: f32,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_CONSTANT_POW_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_CONSTANT_POW_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_COSH_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_COSH_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_COSH_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_COS_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_COS_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_COS_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_DEQUANTIZE_LINEAR_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub ScaleTensor: *const DML_TENSOR_DESC,
pub ZeroPointTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_DEQUANTIZE_LINEAR_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_DEQUANTIZE_LINEAR_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_DIFFERENCE_SQUARE_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_DIFFERENCE_SQUARE_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_DIFFERENCE_SQUARE_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_DIVIDE_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_DIVIDE_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_DIVIDE_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_ERF_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_ERF_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_ERF_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_EXP_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_EXP_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_EXP_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_FLOOR_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_FLOOR_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_FLOOR_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_IDENTITY_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_IDENTITY_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_IDENTITY_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_IF_OPERATOR_DESC {
pub ConditionTensor: *const DML_TENSOR_DESC,
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_IF_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_IF_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_IS_INFINITY_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub InfinityMode: DML_IS_INFINITY_MODE,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_IS_INFINITY_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_IS_INFINITY_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_IS_NAN_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_IS_NAN_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_IS_NAN_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_LOGICAL_AND_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_LOGICAL_AND_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_LOGICAL_AND_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_LOGICAL_EQUALS_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_LOGICAL_EQUALS_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_LOGICAL_EQUALS_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_LOGICAL_GREATER_THAN_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_LOGICAL_GREATER_THAN_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_LOGICAL_GREATER_THAN_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_LOGICAL_GREATER_THAN_OR_EQUAL_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_LOGICAL_GREATER_THAN_OR_EQUAL_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_LOGICAL_GREATER_THAN_OR_EQUAL_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_LOGICAL_LESS_THAN_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_LOGICAL_LESS_THAN_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_LOGICAL_LESS_THAN_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_LOGICAL_LESS_THAN_OR_EQUAL_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_LOGICAL_LESS_THAN_OR_EQUAL_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_LOGICAL_LESS_THAN_OR_EQUAL_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_LOGICAL_NOT_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_LOGICAL_NOT_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_LOGICAL_NOT_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_LOGICAL_OR_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_LOGICAL_OR_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_LOGICAL_OR_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_LOGICAL_XOR_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_LOGICAL_XOR_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_LOGICAL_XOR_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_LOG_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_LOG_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_LOG_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_MAX_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_MAX_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_MAX_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_MEAN_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_MEAN_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_MEAN_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_MIN_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_MIN_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_MIN_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_MODULUS_FLOOR_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_MODULUS_FLOOR_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_MODULUS_FLOOR_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_MODULUS_TRUNCATE_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_MODULUS_TRUNCATE_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_MODULUS_TRUNCATE_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_MULTIPLY_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_MULTIPLY_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_MULTIPLY_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_POW_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub ExponentTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_POW_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_POW_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_QUANTIZED_LINEAR_ADD_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub AScaleTensor: *const DML_TENSOR_DESC,
pub AZeroPointTensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub BScaleTensor: *const DML_TENSOR_DESC,
pub BZeroPointTensor: *const DML_TENSOR_DESC,
pub OutputScaleTensor: *const DML_TENSOR_DESC,
pub OutputZeroPointTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_QUANTIZED_LINEAR_ADD_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_QUANTIZED_LINEAR_ADD_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_QUANTIZE_LINEAR_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub ScaleTensor: *const DML_TENSOR_DESC,
pub ZeroPointTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_QUANTIZE_LINEAR_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_QUANTIZE_LINEAR_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_RECIP_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_RECIP_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_RECIP_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_ROUND_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub RoundingMode: DML_ROUNDING_MODE,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_ROUND_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_ROUND_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_SIGN_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_SIGN_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_SIGN_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_SINH_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_SINH_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_SINH_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_SIN_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_SIN_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_SIN_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_SQRT_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_SQRT_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_SQRT_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_SUBTRACT_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_SUBTRACT_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_SUBTRACT_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_TANH_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_TANH_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_TANH_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ELEMENT_WISE_TAN_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_TAN_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_TAN_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_ELEMENT_WISE_THRESHOLD_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleBias: *const DML_SCALE_BIAS,
pub Min: f32,
}
impl windows_core::TypeKind for DML_ELEMENT_WISE_THRESHOLD_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ELEMENT_WISE_THRESHOLD_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_FEATURE_DATA_FEATURE_LEVELS {
pub MaxSupportedFeatureLevel: DML_FEATURE_LEVEL,
}
impl windows_core::TypeKind for DML_FEATURE_DATA_FEATURE_LEVELS {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_FEATURE_DATA_FEATURE_LEVELS {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_FEATURE_DATA_TENSOR_DATA_TYPE_SUPPORT {
pub IsSupported: super::super::super::Foundation::BOOL,
}
impl windows_core::TypeKind for DML_FEATURE_DATA_TENSOR_DATA_TYPE_SUPPORT {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_FEATURE_DATA_TENSOR_DATA_TYPE_SUPPORT {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_FEATURE_QUERY_FEATURE_LEVELS {
pub RequestedFeatureLevelCount: u32,
pub RequestedFeatureLevels: *const DML_FEATURE_LEVEL,
}
impl windows_core::TypeKind for DML_FEATURE_QUERY_FEATURE_LEVELS {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_FEATURE_QUERY_FEATURE_LEVELS {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_FEATURE_QUERY_TENSOR_DATA_TYPE_SUPPORT {
pub DataType: DML_TENSOR_DATA_TYPE,
}
impl windows_core::TypeKind for DML_FEATURE_QUERY_TENSOR_DATA_TYPE_SUPPORT {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_FEATURE_QUERY_TENSOR_DATA_TYPE_SUPPORT {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy)]
pub struct DML_FILL_VALUE_CONSTANT_OPERATOR_DESC {
pub OutputTensor: *const DML_TENSOR_DESC,
pub ValueDataType: DML_TENSOR_DATA_TYPE,
pub Value: DML_SCALAR_UNION,
}
impl windows_core::TypeKind for DML_FILL_VALUE_CONSTANT_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_FILL_VALUE_CONSTANT_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy)]
pub struct DML_FILL_VALUE_SEQUENCE_OPERATOR_DESC {
pub OutputTensor: *const DML_TENSOR_DESC,
pub ValueDataType: DML_TENSOR_DATA_TYPE,
pub ValueStart: DML_SCALAR_UNION,
pub ValueDelta: DML_SCALAR_UNION,
}
impl windows_core::TypeKind for DML_FILL_VALUE_SEQUENCE_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_FILL_VALUE_SEQUENCE_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_GATHER_ELEMENTS_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub IndicesTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Axis: u32,
}
impl windows_core::TypeKind for DML_GATHER_ELEMENTS_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_GATHER_ELEMENTS_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_GATHER_ND1_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub IndicesTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub InputDimensionCount: u32,
pub IndicesDimensionCount: u32,
pub BatchDimensionCount: u32,
}
impl windows_core::TypeKind for DML_GATHER_ND1_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_GATHER_ND1_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_GATHER_ND_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub IndicesTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub InputDimensionCount: u32,
pub IndicesDimensionCount: u32,
}
impl windows_core::TypeKind for DML_GATHER_ND_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_GATHER_ND_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_GATHER_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub IndicesTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Axis: u32,
pub IndexDimensions: u32,
}
impl windows_core::TypeKind for DML_GATHER_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_GATHER_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_GEMM_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub CTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub TransA: DML_MATRIX_TRANSFORM,
pub TransB: DML_MATRIX_TRANSFORM,
pub Alpha: f32,
pub Beta: f32,
pub FusedActivation: *const DML_OPERATOR_DESC,
}
impl windows_core::TypeKind for DML_GEMM_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_GEMM_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_GRAPH_DESC {
pub InputCount: u32,
pub OutputCount: u32,
pub NodeCount: u32,
pub Nodes: *const DML_GRAPH_NODE_DESC,
pub InputEdgeCount: u32,
pub InputEdges: *const DML_GRAPH_EDGE_DESC,
pub OutputEdgeCount: u32,
pub OutputEdges: *const DML_GRAPH_EDGE_DESC,
pub IntermediateEdgeCount: u32,
pub IntermediateEdges: *const DML_GRAPH_EDGE_DESC,
}
impl windows_core::TypeKind for DML_GRAPH_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_GRAPH_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_GRAPH_EDGE_DESC {
pub Type: DML_GRAPH_EDGE_TYPE,
pub Desc: *const core::ffi::c_void,
}
impl windows_core::TypeKind for DML_GRAPH_EDGE_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_GRAPH_EDGE_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_GRAPH_NODE_DESC {
pub Type: DML_GRAPH_NODE_TYPE,
pub Desc: *const core::ffi::c_void,
}
impl windows_core::TypeKind for DML_GRAPH_NODE_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_GRAPH_NODE_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_GRU_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub WeightTensor: *const DML_TENSOR_DESC,
pub RecurrenceTensor: *const DML_TENSOR_DESC,
pub BiasTensor: *const DML_TENSOR_DESC,
pub HiddenInitTensor: *const DML_TENSOR_DESC,
pub SequenceLengthsTensor: *const DML_TENSOR_DESC,
pub OutputSequenceTensor: *const DML_TENSOR_DESC,
pub OutputSingleTensor: *const DML_TENSOR_DESC,
pub ActivationDescCount: u32,
pub ActivationDescs: *const DML_OPERATOR_DESC,
pub Direction: DML_RECURRENT_NETWORK_DIRECTION,
pub LinearBeforeReset: super::super::super::Foundation::BOOL,
}
impl windows_core::TypeKind for DML_GRU_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_GRU_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_INPUT_GRAPH_EDGE_DESC {
pub GraphInputIndex: u32,
pub ToNodeIndex: u32,
pub ToNodeInputIndex: u32,
pub Name: windows_core::PCSTR,
}
impl windows_core::TypeKind for DML_INPUT_GRAPH_EDGE_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_INPUT_GRAPH_EDGE_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_INTERMEDIATE_GRAPH_EDGE_DESC {
pub FromNodeIndex: u32,
pub FromNodeOutputIndex: u32,
pub ToNodeIndex: u32,
pub ToNodeInputIndex: u32,
pub Name: windows_core::PCSTR,
}
impl windows_core::TypeKind for DML_INTERMEDIATE_GRAPH_EDGE_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_INTERMEDIATE_GRAPH_EDGE_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_JOIN_OPERATOR_DESC {
pub InputCount: u32,
pub InputTensors: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Axis: u32,
}
impl windows_core::TypeKind for DML_JOIN_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_JOIN_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_LOCAL_RESPONSE_NORMALIZATION_GRAD_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub InputGradientTensor: *const DML_TENSOR_DESC,
pub OutputGradientTensor: *const DML_TENSOR_DESC,
pub CrossChannel: super::super::super::Foundation::BOOL,
pub LocalSize: u32,
pub Alpha: f32,
pub Beta: f32,
pub Bias: f32,
}
impl windows_core::TypeKind for DML_LOCAL_RESPONSE_NORMALIZATION_GRAD_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_LOCAL_RESPONSE_NORMALIZATION_GRAD_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_LOCAL_RESPONSE_NORMALIZATION_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub CrossChannel: super::super::super::Foundation::BOOL,
pub LocalSize: u32,
pub Alpha: f32,
pub Beta: f32,
pub Bias: f32,
}
impl windows_core::TypeKind for DML_LOCAL_RESPONSE_NORMALIZATION_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_LOCAL_RESPONSE_NORMALIZATION_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_LP_NORMALIZATION_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Axis: u32,
pub Epsilon: f32,
pub P: u32,
}
impl windows_core::TypeKind for DML_LP_NORMALIZATION_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_LP_NORMALIZATION_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_LP_POOLING_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub DimensionCount: u32,
pub Strides: *const u32,
pub WindowSize: *const u32,
pub StartPadding: *const u32,
pub EndPadding: *const u32,
pub P: u32,
}
impl windows_core::TypeKind for DML_LP_POOLING_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_LP_POOLING_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_LSTM_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub WeightTensor: *const DML_TENSOR_DESC,
pub RecurrenceTensor: *const DML_TENSOR_DESC,
pub BiasTensor: *const DML_TENSOR_DESC,
pub HiddenInitTensor: *const DML_TENSOR_DESC,
pub CellMemInitTensor: *const DML_TENSOR_DESC,
pub SequenceLengthsTensor: *const DML_TENSOR_DESC,
pub PeepholeTensor: *const DML_TENSOR_DESC,
pub OutputSequenceTensor: *const DML_TENSOR_DESC,
pub OutputSingleTensor: *const DML_TENSOR_DESC,
pub OutputCellSingleTensor: *const DML_TENSOR_DESC,
pub ActivationDescCount: u32,
pub ActivationDescs: *const DML_OPERATOR_DESC,
pub Direction: DML_RECURRENT_NETWORK_DIRECTION,
pub ClipThreshold: f32,
pub UseClipThreshold: super::super::super::Foundation::BOOL,
pub CoupleInputForget: super::super::super::Foundation::BOOL,
}
impl windows_core::TypeKind for DML_LSTM_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_LSTM_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_MATRIX_MULTIPLY_INTEGER_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub AZeroPointTensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub BZeroPointTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_MATRIX_MULTIPLY_INTEGER_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_MATRIX_MULTIPLY_INTEGER_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_MAX_POOLING1_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub OutputIndicesTensor: *const DML_TENSOR_DESC,
pub DimensionCount: u32,
pub Strides: *const u32,
pub WindowSize: *const u32,
pub StartPadding: *const u32,
pub EndPadding: *const u32,
}
impl windows_core::TypeKind for DML_MAX_POOLING1_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_MAX_POOLING1_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_MAX_POOLING2_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub OutputIndicesTensor: *const DML_TENSOR_DESC,
pub DimensionCount: u32,
pub Strides: *const u32,
pub WindowSize: *const u32,
pub StartPadding: *const u32,
pub EndPadding: *const u32,
pub Dilations: *const u32,
}
impl windows_core::TypeKind for DML_MAX_POOLING2_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_MAX_POOLING2_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_MAX_POOLING_GRAD_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub InputGradientTensor: *const DML_TENSOR_DESC,
pub OutputGradientTensor: *const DML_TENSOR_DESC,
pub DimensionCount: u32,
pub Strides: *const u32,
pub WindowSize: *const u32,
pub StartPadding: *const u32,
pub EndPadding: *const u32,
pub Dilations: *const u32,
}
impl windows_core::TypeKind for DML_MAX_POOLING_GRAD_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_MAX_POOLING_GRAD_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_MAX_POOLING_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub DimensionCount: u32,
pub Strides: *const u32,
pub WindowSize: *const u32,
pub StartPadding: *const u32,
pub EndPadding: *const u32,
}
impl windows_core::TypeKind for DML_MAX_POOLING_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_MAX_POOLING_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_MAX_UNPOOLING_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub IndicesTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_MAX_UNPOOLING_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_MAX_UNPOOLING_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_MEAN_VARIANCE_NORMALIZATION1_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub ScaleTensor: *const DML_TENSOR_DESC,
pub BiasTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub AxisCount: u32,
pub Axes: *const u32,
pub NormalizeVariance: super::super::super::Foundation::BOOL,
pub Epsilon: f32,
pub FusedActivation: *const DML_OPERATOR_DESC,
}
impl windows_core::TypeKind for DML_MEAN_VARIANCE_NORMALIZATION1_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_MEAN_VARIANCE_NORMALIZATION1_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_MEAN_VARIANCE_NORMALIZATION_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub ScaleTensor: *const DML_TENSOR_DESC,
pub BiasTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub CrossChannel: super::super::super::Foundation::BOOL,
pub NormalizeVariance: super::super::super::Foundation::BOOL,
pub Epsilon: f32,
pub FusedActivation: *const DML_OPERATOR_DESC,
}
impl windows_core::TypeKind for DML_MEAN_VARIANCE_NORMALIZATION_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_MEAN_VARIANCE_NORMALIZATION_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_NONZERO_COORDINATES_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputCountTensor: *const DML_TENSOR_DESC,
pub OutputCoordinatesTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_NONZERO_COORDINATES_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_NONZERO_COORDINATES_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_ONE_HOT_OPERATOR_DESC {
pub IndicesTensor: *const DML_TENSOR_DESC,
pub ValuesTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Axis: u32,
}
impl windows_core::TypeKind for DML_ONE_HOT_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ONE_HOT_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_OPERATOR_DESC {
pub Type: DML_OPERATOR_TYPE,
pub Desc: *const core::ffi::c_void,
}
impl windows_core::TypeKind for DML_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Debug, Eq, PartialEq)]
pub struct DML_OPERATOR_GRAPH_NODE_DESC {
pub Operator: core::mem::ManuallyDrop<Option<IDMLOperator>>,
pub Name: windows_core::PCSTR,
}
impl Clone for DML_OPERATOR_GRAPH_NODE_DESC {
fn clone(&self) -> Self {
unsafe { core::mem::transmute_copy(self) }
}
}
impl windows_core::TypeKind for DML_OPERATOR_GRAPH_NODE_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_OPERATOR_GRAPH_NODE_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_OUTPUT_GRAPH_EDGE_DESC {
pub FromNodeIndex: u32,
pub FromNodeOutputIndex: u32,
pub GraphOutputIndex: u32,
pub Name: windows_core::PCSTR,
}
impl windows_core::TypeKind for DML_OUTPUT_GRAPH_EDGE_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_OUTPUT_GRAPH_EDGE_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_PADDING_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub PaddingMode: DML_PADDING_MODE,
pub PaddingValue: f32,
pub DimensionCount: u32,
pub StartPadding: *const u32,
pub EndPadding: *const u32,
}
impl windows_core::TypeKind for DML_PADDING_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_PADDING_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_QUANTIZED_LINEAR_CONVOLUTION_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub InputScaleTensor: *const DML_TENSOR_DESC,
pub InputZeroPointTensor: *const DML_TENSOR_DESC,
pub FilterTensor: *const DML_TENSOR_DESC,
pub FilterScaleTensor: *const DML_TENSOR_DESC,
pub FilterZeroPointTensor: *const DML_TENSOR_DESC,
pub BiasTensor: *const DML_TENSOR_DESC,
pub OutputScaleTensor: *const DML_TENSOR_DESC,
pub OutputZeroPointTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub DimensionCount: u32,
pub Strides: *const u32,
pub Dilations: *const u32,
pub StartPadding: *const u32,
pub EndPadding: *const u32,
pub GroupCount: u32,
}
impl windows_core::TypeKind for DML_QUANTIZED_LINEAR_CONVOLUTION_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_QUANTIZED_LINEAR_CONVOLUTION_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_QUANTIZED_LINEAR_MATRIX_MULTIPLY_OPERATOR_DESC {
pub ATensor: *const DML_TENSOR_DESC,
pub AScaleTensor: *const DML_TENSOR_DESC,
pub AZeroPointTensor: *const DML_TENSOR_DESC,
pub BTensor: *const DML_TENSOR_DESC,
pub BScaleTensor: *const DML_TENSOR_DESC,
pub BZeroPointTensor: *const DML_TENSOR_DESC,
pub OutputScaleTensor: *const DML_TENSOR_DESC,
pub OutputZeroPointTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
}
impl windows_core::TypeKind for DML_QUANTIZED_LINEAR_MATRIX_MULTIPLY_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_QUANTIZED_LINEAR_MATRIX_MULTIPLY_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_RANDOM_GENERATOR_OPERATOR_DESC {
pub InputStateTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub OutputStateTensor: *const DML_TENSOR_DESC,
pub Type: DML_RANDOM_GENERATOR_TYPE,
}
impl windows_core::TypeKind for DML_RANDOM_GENERATOR_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_RANDOM_GENERATOR_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_REDUCE_OPERATOR_DESC {
pub Function: DML_REDUCE_FUNCTION,
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub AxisCount: u32,
pub Axes: *const u32,
}
impl windows_core::TypeKind for DML_REDUCE_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_REDUCE_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_RESAMPLE1_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub InterpolationMode: DML_INTERPOLATION_MODE,
pub DimensionCount: u32,
pub Scales: *const f32,
pub InputPixelOffsets: *const f32,
pub OutputPixelOffsets: *const f32,
}
impl windows_core::TypeKind for DML_RESAMPLE1_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_RESAMPLE1_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_RESAMPLE_GRAD_OPERATOR_DESC {
pub InputGradientTensor: *const DML_TENSOR_DESC,
pub OutputGradientTensor: *const DML_TENSOR_DESC,
pub InterpolationMode: DML_INTERPOLATION_MODE,
pub DimensionCount: u32,
pub Scales: *const f32,
pub InputPixelOffsets: *const f32,
pub OutputPixelOffsets: *const f32,
}
impl windows_core::TypeKind for DML_RESAMPLE_GRAD_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_RESAMPLE_GRAD_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_RESAMPLE_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub InterpolationMode: DML_INTERPOLATION_MODE,
pub ScaleCount: u32,
pub Scales: *const f32,
}
impl windows_core::TypeKind for DML_RESAMPLE_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_RESAMPLE_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_REVERSE_SUBSEQUENCES_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub SequenceLengthsTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Axis: u32,
}
impl windows_core::TypeKind for DML_REVERSE_SUBSEQUENCES_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_REVERSE_SUBSEQUENCES_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_RNN_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub WeightTensor: *const DML_TENSOR_DESC,
pub RecurrenceTensor: *const DML_TENSOR_DESC,
pub BiasTensor: *const DML_TENSOR_DESC,
pub HiddenInitTensor: *const DML_TENSOR_DESC,
pub SequenceLengthsTensor: *const DML_TENSOR_DESC,
pub OutputSequenceTensor: *const DML_TENSOR_DESC,
pub OutputSingleTensor: *const DML_TENSOR_DESC,
pub ActivationDescCount: u32,
pub ActivationDescs: *const DML_OPERATOR_DESC,
pub Direction: DML_RECURRENT_NETWORK_DIRECTION,
}
impl windows_core::TypeKind for DML_RNN_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_RNN_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_ROI_ALIGN1_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub ROITensor: *const DML_TENSOR_DESC,
pub BatchIndicesTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ReductionFunction: DML_REDUCE_FUNCTION,
pub InterpolationMode: DML_INTERPOLATION_MODE,
pub SpatialScaleX: f32,
pub SpatialScaleY: f32,
pub InputPixelOffset: f32,
pub OutputPixelOffset: f32,
pub OutOfBoundsInputValue: f32,
pub MinimumSamplesPerOutput: u32,
pub MaximumSamplesPerOutput: u32,
pub AlignRegionsToCorners: super::super::super::Foundation::BOOL,
}
impl windows_core::TypeKind for DML_ROI_ALIGN1_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ROI_ALIGN1_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_ROI_ALIGN_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub ROITensor: *const DML_TENSOR_DESC,
pub BatchIndicesTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ReductionFunction: DML_REDUCE_FUNCTION,
pub InterpolationMode: DML_INTERPOLATION_MODE,
pub SpatialScaleX: f32,
pub SpatialScaleY: f32,
pub OutOfBoundsInputValue: f32,
pub MinimumSamplesPerOutput: u32,
pub MaximumSamplesPerOutput: u32,
}
impl windows_core::TypeKind for DML_ROI_ALIGN_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ROI_ALIGN_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_ROI_POOLING_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub ROITensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub SpatialScale: f32,
pub PooledSize: DML_SIZE_2D,
}
impl windows_core::TypeKind for DML_ROI_POOLING_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_ROI_POOLING_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy)]
pub union DML_SCALAR_UNION {
pub Bytes: [u8; 8],
pub Int8: i8,
pub UInt8: u8,
pub Int16: i16,
pub UInt16: u16,
pub Int32: i32,
pub UInt32: u32,
pub Int64: i64,
pub UInt64: u64,
pub Float32: f32,
pub Float64: f64,
}
impl windows_core::TypeKind for DML_SCALAR_UNION {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_SCALAR_UNION {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_SCALE_BIAS {
pub Scale: f32,
pub Bias: f32,
}
impl windows_core::TypeKind for DML_SCALE_BIAS {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_SCALE_BIAS {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_SCATTER_ND_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub IndicesTensor: *const DML_TENSOR_DESC,
pub UpdatesTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub InputDimensionCount: u32,
pub IndicesDimensionCount: u32,
}
impl windows_core::TypeKind for DML_SCATTER_ND_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_SCATTER_ND_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_SCATTER_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub IndicesTensor: *const DML_TENSOR_DESC,
pub UpdatesTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Axis: u32,
}
impl windows_core::TypeKind for DML_SCATTER_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_SCATTER_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_SIZE_2D {
pub Width: u32,
pub Height: u32,
}
impl windows_core::TypeKind for DML_SIZE_2D {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_SIZE_2D {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_SLICE1_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub DimensionCount: u32,
pub InputWindowOffsets: *const u32,
pub InputWindowSizes: *const u32,
pub InputWindowStrides: *const i32,
}
impl windows_core::TypeKind for DML_SLICE1_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_SLICE1_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_SLICE_GRAD_OPERATOR_DESC {
pub InputGradientTensor: *const DML_TENSOR_DESC,
pub OutputGradientTensor: *const DML_TENSOR_DESC,
pub DimensionCount: u32,
pub InputWindowOffsets: *const u32,
pub InputWindowSizes: *const u32,
pub InputWindowStrides: *const i32,
}
impl windows_core::TypeKind for DML_SLICE_GRAD_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_SLICE_GRAD_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_SLICE_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub DimensionCount: u32,
pub Offsets: *const u32,
pub Sizes: *const u32,
pub Strides: *const u32,
}
impl windows_core::TypeKind for DML_SLICE_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_SLICE_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_SPACE_TO_DEPTH1_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub BlockSize: u32,
pub Order: DML_DEPTH_SPACE_ORDER,
}
impl windows_core::TypeKind for DML_SPACE_TO_DEPTH1_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_SPACE_TO_DEPTH1_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_SPACE_TO_DEPTH_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub BlockSize: u32,
}
impl windows_core::TypeKind for DML_SPACE_TO_DEPTH_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_SPACE_TO_DEPTH_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_SPLIT_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputCount: u32,
pub OutputTensors: *const DML_TENSOR_DESC,
pub Axis: u32,
}
impl windows_core::TypeKind for DML_SPLIT_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_SPLIT_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_TENSOR_DESC {
pub Type: DML_TENSOR_TYPE,
pub Desc: *const core::ffi::c_void,
}
impl windows_core::TypeKind for DML_TENSOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_TENSOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_TILE_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub RepeatsCount: u32,
pub Repeats: *const u32,
}
impl windows_core::TypeKind for DML_TILE_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_TILE_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_TOP_K1_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputValueTensor: *const DML_TENSOR_DESC,
pub OutputIndexTensor: *const DML_TENSOR_DESC,
pub Axis: u32,
pub K: u32,
pub AxisDirection: DML_AXIS_DIRECTION,
}
impl windows_core::TypeKind for DML_TOP_K1_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_TOP_K1_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_TOP_K_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputValueTensor: *const DML_TENSOR_DESC,
pub OutputIndexTensor: *const DML_TENSOR_DESC,
pub Axis: u32,
pub K: u32,
}
impl windows_core::TypeKind for DML_TOP_K_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_TOP_K_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct DML_UPSAMPLE_2D_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub ScaleSize: DML_SIZE_2D,
pub InterpolationMode: DML_INTERPOLATION_MODE,
}
impl windows_core::TypeKind for DML_UPSAMPLE_2D_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_UPSAMPLE_2D_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct DML_VALUE_SCALE_2D_OPERATOR_DESC {
pub InputTensor: *const DML_TENSOR_DESC,
pub OutputTensor: *const DML_TENSOR_DESC,
pub Scale: f32,
pub ChannelCount: u32,
pub Bias: *const f32,
}
impl windows_core::TypeKind for DML_VALUE_SCALE_2D_OPERATOR_DESC {
type TypeKind = windows_core::CopyType;
}
impl Default for DML_VALUE_SCALE_2D_OPERATOR_DESC {
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[cfg(feature = "implement")]
core::include!("impl.rs");