objc2_ml_compute/generated/
MLCSGDOptimizer.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 MLCSGDOptimizer specifies a stochastic gradient descent optimizer.
12    ///
13    /// See also [Apple's documentation](https://developer.apple.com/documentation/mlcompute/mlcsgdoptimizer?language=objc)
14    #[unsafe(super(MLCOptimizer, NSObject))]
15    #[derive(Debug, PartialEq, Eq, Hash)]
16    #[cfg(feature = "MLCOptimizer")]
17    #[deprecated]
18    pub struct MLCSGDOptimizer;
19);
20
21#[cfg(feature = "MLCOptimizer")]
22extern_conformance!(
23    unsafe impl NSCopying for MLCSGDOptimizer {}
24);
25
26#[cfg(feature = "MLCOptimizer")]
27unsafe impl CopyingHelper for MLCSGDOptimizer {
28    type Result = Self;
29}
30
31#[cfg(feature = "MLCOptimizer")]
32extern_conformance!(
33    unsafe impl NSObjectProtocol for MLCSGDOptimizer {}
34);
35
36#[cfg(feature = "MLCOptimizer")]
37impl MLCSGDOptimizer {
38    extern_methods!(
39        /// The momentum factor.  A hyper-parameter.
40        ///
41        /// The default is 0.0.
42        #[deprecated]
43        #[unsafe(method(momentumScale))]
44        #[unsafe(method_family = none)]
45        pub unsafe fn momentumScale(&self) -> c_float;
46
47        /// A boolean that specifies whether to apply nesterov momentum or not.
48        ///
49        /// The default is false.
50        #[deprecated]
51        #[unsafe(method(usesNesterovMomentum))]
52        #[unsafe(method_family = none)]
53        pub unsafe fn usesNesterovMomentum(&self) -> bool;
54
55        #[cfg(feature = "MLCOptimizerDescriptor")]
56        /// Create an MLCSGDOptimizer object with defaults
57        ///
58        /// Returns: A new MLCSGDOptimizer object.
59        #[deprecated]
60        #[unsafe(method(optimizerWithDescriptor:))]
61        #[unsafe(method_family = none)]
62        pub unsafe fn optimizerWithDescriptor(
63            optimizer_descriptor: &MLCOptimizerDescriptor,
64        ) -> Retained<Self>;
65
66        #[cfg(feature = "MLCOptimizerDescriptor")]
67        /// Create an MLCSGDOptimizer object
68        ///
69        /// Parameter `optimizerDescriptor`: The optimizer descriptor object
70        ///
71        /// Parameter `momentumScale`: The momentum scale
72        ///
73        /// Parameter `usesNesterovMomentum`: A boolean to enable / disable nesterov momentum
74        ///
75        /// Returns: A new MLCSGDOptimizer object.
76        #[deprecated]
77        #[unsafe(method(optimizerWithDescriptor:momentumScale:usesNesterovMomentum:))]
78        #[unsafe(method_family = none)]
79        pub unsafe fn optimizerWithDescriptor_momentumScale_usesNesterovMomentum(
80            optimizer_descriptor: &MLCOptimizerDescriptor,
81            momentum_scale: c_float,
82            uses_nesterov_momentum: bool,
83        ) -> Retained<Self>;
84    );
85}
86
87/// Methods declared on superclass `MLCOptimizer`.
88#[cfg(feature = "MLCOptimizer")]
89impl MLCSGDOptimizer {
90    extern_methods!(
91        #[deprecated]
92        #[unsafe(method(new))]
93        #[unsafe(method_family = new)]
94        pub unsafe fn new() -> Retained<Self>;
95
96        #[deprecated]
97        #[unsafe(method(init))]
98        #[unsafe(method_family = init)]
99        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
100    );
101}