objc2_ml_compute/generated/
MLCMatMulDescriptor.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10extern_class!(
11    /// The MLCMatMulDescriptor specifies a batched matrix multiplication descriptor
12    ///
13    /// See also [Apple's documentation](https://developer.apple.com/documentation/mlcompute/mlcmatmuldescriptor?language=objc)
14    #[unsafe(super(NSObject))]
15    #[derive(Debug, PartialEq, Eq, Hash)]
16    #[deprecated]
17    pub struct MLCMatMulDescriptor;
18);
19
20extern_conformance!(
21    unsafe impl NSCopying for MLCMatMulDescriptor {}
22);
23
24unsafe impl CopyingHelper for MLCMatMulDescriptor {
25    type Result = Self;
26}
27
28extern_conformance!(
29    unsafe impl NSObjectProtocol for MLCMatMulDescriptor {}
30);
31
32impl MLCMatMulDescriptor {
33    extern_methods!(
34        #[deprecated]
35        #[unsafe(method(new))]
36        #[unsafe(method_family = new)]
37        pub unsafe fn new() -> Retained<Self>;
38
39        #[deprecated]
40        #[unsafe(method(init))]
41        #[unsafe(method_family = init)]
42        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
43
44        /// a scalar to scale the result in C=alpha x X x Y. Default = 1.0
45        #[deprecated]
46        #[unsafe(method(alpha))]
47        #[unsafe(method_family = none)]
48        pub unsafe fn alpha(&self) -> c_float;
49
50        /// if true, transposes the last two dimensions of X. Default = False
51        #[deprecated]
52        #[unsafe(method(transposesX))]
53        #[unsafe(method_family = none)]
54        pub unsafe fn transposesX(&self) -> bool;
55
56        /// if true, transposes the last two dimensions of Y. Default = False
57        #[deprecated]
58        #[unsafe(method(transposesY))]
59        #[unsafe(method_family = none)]
60        pub unsafe fn transposesY(&self) -> bool;
61
62        /// A matrix multiplication layer descriptor
63        ///
64        /// Parameter `alpha`: a scalar to scale the left hand side, C = alpha x X x Y
65        ///
66        /// Parameter `transposesX`: if true, transposes the last two dimensions of X
67        ///
68        /// Parameter `transposesY`: if true, transposes the last two dimensions of Y
69        ///
70        /// Returns: A new matrix multiplication layer descriptor
71        #[deprecated]
72        #[unsafe(method(descriptorWithAlpha:transposesX:transposesY:))]
73        #[unsafe(method_family = none)]
74        pub unsafe fn descriptorWithAlpha_transposesX_transposesY(
75            alpha: c_float,
76            transposes_x: bool,
77            transposes_y: bool,
78        ) -> Option<Retained<Self>>;
79
80        /// A matrix multiplication layer descriptor
81        #[deprecated]
82        #[unsafe(method(descriptor))]
83        #[unsafe(method_family = none)]
84        pub unsafe fn descriptor() -> Retained<Self>;
85    );
86}