1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7use objc2_metal::*;
8
9use crate::*;
10
11extern_class!(
12 #[unsafe(super(MPSCNNKernel, MPSKernel, NSObject))]
29 #[derive(Debug, PartialEq, Eq, Hash)]
30 #[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
31 pub struct MPSNNReduceUnary;
32);
33
34#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
35extern_conformance!(
36 unsafe impl NSCoding for MPSNNReduceUnary {}
37);
38
39#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
40extern_conformance!(
41 unsafe impl NSCopying for MPSNNReduceUnary {}
42);
43
44#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
45unsafe impl CopyingHelper for MPSNNReduceUnary {
46 type Result = Self;
47}
48
49#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
50extern_conformance!(
51 unsafe impl NSObjectProtocol for MPSNNReduceUnary {}
52);
53
54#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
55extern_conformance!(
56 unsafe impl NSSecureCoding for MPSNNReduceUnary {}
57);
58
59#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
60impl MPSNNReduceUnary {
61 extern_methods!(
62 #[unsafe(method(clipRectSource))]
69 #[unsafe(method_family = none)]
70 pub unsafe fn clipRectSource(&self) -> MTLRegion;
71
72 #[unsafe(method(setClipRectSource:))]
74 #[unsafe(method_family = none)]
75 pub unsafe fn setClipRectSource(&self, clip_rect_source: MTLRegion);
76
77 #[cfg(feature = "MPSCoreTypes")]
78 #[deprecated]
81 #[unsafe(method(offset))]
82 #[unsafe(method_family = none)]
83 pub unsafe fn offset(&self) -> MPSOffset;
84
85 #[cfg(feature = "MPSCoreTypes")]
86 #[deprecated]
88 #[unsafe(method(setOffset:))]
89 #[unsafe(method_family = none)]
90 pub unsafe fn setOffset(&self, offset: MPSOffset);
91
92 #[unsafe(method(initWithDevice:))]
93 #[unsafe(method_family = init)]
94 pub unsafe fn initWithDevice(
95 this: Allocated<Self>,
96 device: &ProtocolObject<dyn MTLDevice>,
97 ) -> Retained<Self>;
98 );
99}
100
101#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
103impl MPSNNReduceUnary {
104 extern_methods!(
105 #[unsafe(method(initWithCoder:device:))]
123 #[unsafe(method_family = init)]
124 pub unsafe fn initWithCoder_device(
125 this: Allocated<Self>,
126 a_decoder: &NSCoder,
127 device: &ProtocolObject<dyn MTLDevice>,
128 ) -> Option<Retained<Self>>;
129 );
130}
131
132#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
134impl MPSNNReduceUnary {
135 extern_methods!(
136 #[unsafe(method(initWithCoder:))]
149 #[unsafe(method_family = init)]
150 pub unsafe fn initWithCoder(
151 this: Allocated<Self>,
152 a_decoder: &NSCoder,
153 ) -> Option<Retained<Self>>;
154 );
155}
156
157#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
159impl MPSNNReduceUnary {
160 extern_methods!(
161 #[unsafe(method(init))]
162 #[unsafe(method_family = init)]
163 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
164
165 #[unsafe(method(new))]
166 #[unsafe(method_family = new)]
167 pub unsafe fn new() -> Retained<Self>;
168 );
169}
170
171extern_class!(
172 #[unsafe(super(MPSNNReduceUnary, MPSCNNKernel, MPSKernel, NSObject))]
176 #[derive(Debug, PartialEq, Eq, Hash)]
177 #[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
178 pub struct MPSNNReduceRowMin;
179);
180
181#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
182extern_conformance!(
183 unsafe impl NSCoding for MPSNNReduceRowMin {}
184);
185
186#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
187extern_conformance!(
188 unsafe impl NSCopying for MPSNNReduceRowMin {}
189);
190
191#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
192unsafe impl CopyingHelper for MPSNNReduceRowMin {
193 type Result = Self;
194}
195
196#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
197extern_conformance!(
198 unsafe impl NSObjectProtocol for MPSNNReduceRowMin {}
199);
200
201#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
202extern_conformance!(
203 unsafe impl NSSecureCoding for MPSNNReduceRowMin {}
204);
205
206#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
207impl MPSNNReduceRowMin {
208 extern_methods!(
209 #[unsafe(method(initWithDevice:))]
215 #[unsafe(method_family = init)]
216 pub unsafe fn initWithDevice(
217 this: Allocated<Self>,
218 device: &ProtocolObject<dyn MTLDevice>,
219 ) -> Retained<Self>;
220
221 #[unsafe(method(initWithCoder:device:))]
235 #[unsafe(method_family = init)]
236 pub unsafe fn initWithCoder_device(
237 this: Allocated<Self>,
238 a_decoder: &NSCoder,
239 device: &ProtocolObject<dyn MTLDevice>,
240 ) -> Option<Retained<Self>>;
241 );
242}
243
244#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
246impl MPSNNReduceRowMin {
247 extern_methods!(
248 #[unsafe(method(initWithCoder:))]
261 #[unsafe(method_family = init)]
262 pub unsafe fn initWithCoder(
263 this: Allocated<Self>,
264 a_decoder: &NSCoder,
265 ) -> Option<Retained<Self>>;
266 );
267}
268
269#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
271impl MPSNNReduceRowMin {
272 extern_methods!(
273 #[unsafe(method(init))]
274 #[unsafe(method_family = init)]
275 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
276
277 #[unsafe(method(new))]
278 #[unsafe(method_family = new)]
279 pub unsafe fn new() -> Retained<Self>;
280 );
281}
282
283extern_class!(
284 #[unsafe(super(MPSNNReduceUnary, MPSCNNKernel, MPSKernel, NSObject))]
288 #[derive(Debug, PartialEq, Eq, Hash)]
289 #[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
290 pub struct MPSNNReduceColumnMin;
291);
292
293#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
294extern_conformance!(
295 unsafe impl NSCoding for MPSNNReduceColumnMin {}
296);
297
298#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
299extern_conformance!(
300 unsafe impl NSCopying for MPSNNReduceColumnMin {}
301);
302
303#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
304unsafe impl CopyingHelper for MPSNNReduceColumnMin {
305 type Result = Self;
306}
307
308#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
309extern_conformance!(
310 unsafe impl NSObjectProtocol for MPSNNReduceColumnMin {}
311);
312
313#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
314extern_conformance!(
315 unsafe impl NSSecureCoding for MPSNNReduceColumnMin {}
316);
317
318#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
319impl MPSNNReduceColumnMin {
320 extern_methods!(
321 #[unsafe(method(initWithDevice:))]
327 #[unsafe(method_family = init)]
328 pub unsafe fn initWithDevice(
329 this: Allocated<Self>,
330 device: &ProtocolObject<dyn MTLDevice>,
331 ) -> Retained<Self>;
332
333 #[unsafe(method(initWithCoder:device:))]
347 #[unsafe(method_family = init)]
348 pub unsafe fn initWithCoder_device(
349 this: Allocated<Self>,
350 a_decoder: &NSCoder,
351 device: &ProtocolObject<dyn MTLDevice>,
352 ) -> Option<Retained<Self>>;
353 );
354}
355
356#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
358impl MPSNNReduceColumnMin {
359 extern_methods!(
360 #[unsafe(method(initWithCoder:))]
373 #[unsafe(method_family = init)]
374 pub unsafe fn initWithCoder(
375 this: Allocated<Self>,
376 a_decoder: &NSCoder,
377 ) -> Option<Retained<Self>>;
378 );
379}
380
381#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
383impl MPSNNReduceColumnMin {
384 extern_methods!(
385 #[unsafe(method(init))]
386 #[unsafe(method_family = init)]
387 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
388
389 #[unsafe(method(new))]
390 #[unsafe(method_family = new)]
391 pub unsafe fn new() -> Retained<Self>;
392 );
393}
394
395extern_class!(
396 #[unsafe(super(MPSNNReduceUnary, MPSCNNKernel, MPSKernel, NSObject))]
400 #[derive(Debug, PartialEq, Eq, Hash)]
401 #[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
402 pub struct MPSNNReduceFeatureChannelsMin;
403);
404
405#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
406extern_conformance!(
407 unsafe impl NSCoding for MPSNNReduceFeatureChannelsMin {}
408);
409
410#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
411extern_conformance!(
412 unsafe impl NSCopying for MPSNNReduceFeatureChannelsMin {}
413);
414
415#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
416unsafe impl CopyingHelper for MPSNNReduceFeatureChannelsMin {
417 type Result = Self;
418}
419
420#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
421extern_conformance!(
422 unsafe impl NSObjectProtocol for MPSNNReduceFeatureChannelsMin {}
423);
424
425#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
426extern_conformance!(
427 unsafe impl NSSecureCoding for MPSNNReduceFeatureChannelsMin {}
428);
429
430#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
431impl MPSNNReduceFeatureChannelsMin {
432 extern_methods!(
433 #[unsafe(method(initWithDevice:))]
439 #[unsafe(method_family = init)]
440 pub unsafe fn initWithDevice(
441 this: Allocated<Self>,
442 device: &ProtocolObject<dyn MTLDevice>,
443 ) -> Retained<Self>;
444
445 #[unsafe(method(initWithCoder:device:))]
459 #[unsafe(method_family = init)]
460 pub unsafe fn initWithCoder_device(
461 this: Allocated<Self>,
462 a_decoder: &NSCoder,
463 device: &ProtocolObject<dyn MTLDevice>,
464 ) -> Option<Retained<Self>>;
465 );
466}
467
468#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
470impl MPSNNReduceFeatureChannelsMin {
471 extern_methods!(
472 #[unsafe(method(initWithCoder:))]
485 #[unsafe(method_family = init)]
486 pub unsafe fn initWithCoder(
487 this: Allocated<Self>,
488 a_decoder: &NSCoder,
489 ) -> Option<Retained<Self>>;
490 );
491}
492
493#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
495impl MPSNNReduceFeatureChannelsMin {
496 extern_methods!(
497 #[unsafe(method(init))]
498 #[unsafe(method_family = init)]
499 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
500
501 #[unsafe(method(new))]
502 #[unsafe(method_family = new)]
503 pub unsafe fn new() -> Retained<Self>;
504 );
505}
506
507extern_class!(
508 #[unsafe(super(MPSNNReduceUnary, MPSCNNKernel, MPSKernel, NSObject))]
513 #[derive(Debug, PartialEq, Eq, Hash)]
514 #[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
515 pub struct MPSNNReduceFeatureChannelsArgumentMin;
516);
517
518#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
519extern_conformance!(
520 unsafe impl NSCoding for MPSNNReduceFeatureChannelsArgumentMin {}
521);
522
523#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
524extern_conformance!(
525 unsafe impl NSCopying for MPSNNReduceFeatureChannelsArgumentMin {}
526);
527
528#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
529unsafe impl CopyingHelper for MPSNNReduceFeatureChannelsArgumentMin {
530 type Result = Self;
531}
532
533#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
534extern_conformance!(
535 unsafe impl NSObjectProtocol for MPSNNReduceFeatureChannelsArgumentMin {}
536);
537
538#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
539extern_conformance!(
540 unsafe impl NSSecureCoding for MPSNNReduceFeatureChannelsArgumentMin {}
541);
542
543#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
544impl MPSNNReduceFeatureChannelsArgumentMin {
545 extern_methods!(
546 #[unsafe(method(initWithDevice:))]
552 #[unsafe(method_family = init)]
553 pub unsafe fn initWithDevice(
554 this: Allocated<Self>,
555 device: &ProtocolObject<dyn MTLDevice>,
556 ) -> Retained<Self>;
557
558 #[unsafe(method(initWithCoder:device:))]
572 #[unsafe(method_family = init)]
573 pub unsafe fn initWithCoder_device(
574 this: Allocated<Self>,
575 a_decoder: &NSCoder,
576 device: &ProtocolObject<dyn MTLDevice>,
577 ) -> Option<Retained<Self>>;
578 );
579}
580
581#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
583impl MPSNNReduceFeatureChannelsArgumentMin {
584 extern_methods!(
585 #[unsafe(method(initWithCoder:))]
598 #[unsafe(method_family = init)]
599 pub unsafe fn initWithCoder(
600 this: Allocated<Self>,
601 a_decoder: &NSCoder,
602 ) -> Option<Retained<Self>>;
603 );
604}
605
606#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
608impl MPSNNReduceFeatureChannelsArgumentMin {
609 extern_methods!(
610 #[unsafe(method(init))]
611 #[unsafe(method_family = init)]
612 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
613
614 #[unsafe(method(new))]
615 #[unsafe(method_family = new)]
616 pub unsafe fn new() -> Retained<Self>;
617 );
618}
619
620extern_class!(
621 #[unsafe(super(MPSNNReduceUnary, MPSCNNKernel, MPSKernel, NSObject))]
625 #[derive(Debug, PartialEq, Eq, Hash)]
626 #[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
627 pub struct MPSNNReduceRowMax;
628);
629
630#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
631extern_conformance!(
632 unsafe impl NSCoding for MPSNNReduceRowMax {}
633);
634
635#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
636extern_conformance!(
637 unsafe impl NSCopying for MPSNNReduceRowMax {}
638);
639
640#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
641unsafe impl CopyingHelper for MPSNNReduceRowMax {
642 type Result = Self;
643}
644
645#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
646extern_conformance!(
647 unsafe impl NSObjectProtocol for MPSNNReduceRowMax {}
648);
649
650#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
651extern_conformance!(
652 unsafe impl NSSecureCoding for MPSNNReduceRowMax {}
653);
654
655#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
656impl MPSNNReduceRowMax {
657 extern_methods!(
658 #[unsafe(method(initWithDevice:))]
664 #[unsafe(method_family = init)]
665 pub unsafe fn initWithDevice(
666 this: Allocated<Self>,
667 device: &ProtocolObject<dyn MTLDevice>,
668 ) -> Retained<Self>;
669
670 #[unsafe(method(initWithCoder:device:))]
684 #[unsafe(method_family = init)]
685 pub unsafe fn initWithCoder_device(
686 this: Allocated<Self>,
687 a_decoder: &NSCoder,
688 device: &ProtocolObject<dyn MTLDevice>,
689 ) -> Option<Retained<Self>>;
690 );
691}
692
693#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
695impl MPSNNReduceRowMax {
696 extern_methods!(
697 #[unsafe(method(initWithCoder:))]
710 #[unsafe(method_family = init)]
711 pub unsafe fn initWithCoder(
712 this: Allocated<Self>,
713 a_decoder: &NSCoder,
714 ) -> Option<Retained<Self>>;
715 );
716}
717
718#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
720impl MPSNNReduceRowMax {
721 extern_methods!(
722 #[unsafe(method(init))]
723 #[unsafe(method_family = init)]
724 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
725
726 #[unsafe(method(new))]
727 #[unsafe(method_family = new)]
728 pub unsafe fn new() -> Retained<Self>;
729 );
730}
731
732extern_class!(
733 #[unsafe(super(MPSNNReduceUnary, MPSCNNKernel, MPSKernel, NSObject))]
737 #[derive(Debug, PartialEq, Eq, Hash)]
738 #[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
739 pub struct MPSNNReduceColumnMax;
740);
741
742#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
743extern_conformance!(
744 unsafe impl NSCoding for MPSNNReduceColumnMax {}
745);
746
747#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
748extern_conformance!(
749 unsafe impl NSCopying for MPSNNReduceColumnMax {}
750);
751
752#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
753unsafe impl CopyingHelper for MPSNNReduceColumnMax {
754 type Result = Self;
755}
756
757#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
758extern_conformance!(
759 unsafe impl NSObjectProtocol for MPSNNReduceColumnMax {}
760);
761
762#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
763extern_conformance!(
764 unsafe impl NSSecureCoding for MPSNNReduceColumnMax {}
765);
766
767#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
768impl MPSNNReduceColumnMax {
769 extern_methods!(
770 #[unsafe(method(initWithDevice:))]
776 #[unsafe(method_family = init)]
777 pub unsafe fn initWithDevice(
778 this: Allocated<Self>,
779 device: &ProtocolObject<dyn MTLDevice>,
780 ) -> Retained<Self>;
781
782 #[unsafe(method(initWithCoder:device:))]
796 #[unsafe(method_family = init)]
797 pub unsafe fn initWithCoder_device(
798 this: Allocated<Self>,
799 a_decoder: &NSCoder,
800 device: &ProtocolObject<dyn MTLDevice>,
801 ) -> Option<Retained<Self>>;
802 );
803}
804
805#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
807impl MPSNNReduceColumnMax {
808 extern_methods!(
809 #[unsafe(method(initWithCoder:))]
822 #[unsafe(method_family = init)]
823 pub unsafe fn initWithCoder(
824 this: Allocated<Self>,
825 a_decoder: &NSCoder,
826 ) -> Option<Retained<Self>>;
827 );
828}
829
830#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
832impl MPSNNReduceColumnMax {
833 extern_methods!(
834 #[unsafe(method(init))]
835 #[unsafe(method_family = init)]
836 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
837
838 #[unsafe(method(new))]
839 #[unsafe(method_family = new)]
840 pub unsafe fn new() -> Retained<Self>;
841 );
842}
843
844extern_class!(
845 #[unsafe(super(MPSNNReduceUnary, MPSCNNKernel, MPSKernel, NSObject))]
849 #[derive(Debug, PartialEq, Eq, Hash)]
850 #[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
851 pub struct MPSNNReduceFeatureChannelsMax;
852);
853
854#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
855extern_conformance!(
856 unsafe impl NSCoding for MPSNNReduceFeatureChannelsMax {}
857);
858
859#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
860extern_conformance!(
861 unsafe impl NSCopying for MPSNNReduceFeatureChannelsMax {}
862);
863
864#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
865unsafe impl CopyingHelper for MPSNNReduceFeatureChannelsMax {
866 type Result = Self;
867}
868
869#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
870extern_conformance!(
871 unsafe impl NSObjectProtocol for MPSNNReduceFeatureChannelsMax {}
872);
873
874#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
875extern_conformance!(
876 unsafe impl NSSecureCoding for MPSNNReduceFeatureChannelsMax {}
877);
878
879#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
880impl MPSNNReduceFeatureChannelsMax {
881 extern_methods!(
882 #[unsafe(method(initWithDevice:))]
888 #[unsafe(method_family = init)]
889 pub unsafe fn initWithDevice(
890 this: Allocated<Self>,
891 device: &ProtocolObject<dyn MTLDevice>,
892 ) -> Retained<Self>;
893
894 #[unsafe(method(initWithCoder:device:))]
908 #[unsafe(method_family = init)]
909 pub unsafe fn initWithCoder_device(
910 this: Allocated<Self>,
911 a_decoder: &NSCoder,
912 device: &ProtocolObject<dyn MTLDevice>,
913 ) -> Option<Retained<Self>>;
914 );
915}
916
917#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
919impl MPSNNReduceFeatureChannelsMax {
920 extern_methods!(
921 #[unsafe(method(initWithCoder:))]
934 #[unsafe(method_family = init)]
935 pub unsafe fn initWithCoder(
936 this: Allocated<Self>,
937 a_decoder: &NSCoder,
938 ) -> Option<Retained<Self>>;
939 );
940}
941
942#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
944impl MPSNNReduceFeatureChannelsMax {
945 extern_methods!(
946 #[unsafe(method(init))]
947 #[unsafe(method_family = init)]
948 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
949
950 #[unsafe(method(new))]
951 #[unsafe(method_family = new)]
952 pub unsafe fn new() -> Retained<Self>;
953 );
954}
955
956extern_class!(
957 #[unsafe(super(MPSNNReduceUnary, MPSCNNKernel, MPSKernel, NSObject))]
962 #[derive(Debug, PartialEq, Eq, Hash)]
963 #[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
964 pub struct MPSNNReduceFeatureChannelsArgumentMax;
965);
966
967#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
968extern_conformance!(
969 unsafe impl NSCoding for MPSNNReduceFeatureChannelsArgumentMax {}
970);
971
972#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
973extern_conformance!(
974 unsafe impl NSCopying for MPSNNReduceFeatureChannelsArgumentMax {}
975);
976
977#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
978unsafe impl CopyingHelper for MPSNNReduceFeatureChannelsArgumentMax {
979 type Result = Self;
980}
981
982#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
983extern_conformance!(
984 unsafe impl NSObjectProtocol for MPSNNReduceFeatureChannelsArgumentMax {}
985);
986
987#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
988extern_conformance!(
989 unsafe impl NSSecureCoding for MPSNNReduceFeatureChannelsArgumentMax {}
990);
991
992#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
993impl MPSNNReduceFeatureChannelsArgumentMax {
994 extern_methods!(
995 #[unsafe(method(initWithDevice:))]
1001 #[unsafe(method_family = init)]
1002 pub unsafe fn initWithDevice(
1003 this: Allocated<Self>,
1004 device: &ProtocolObject<dyn MTLDevice>,
1005 ) -> Retained<Self>;
1006
1007 #[unsafe(method(initWithCoder:device:))]
1021 #[unsafe(method_family = init)]
1022 pub unsafe fn initWithCoder_device(
1023 this: Allocated<Self>,
1024 a_decoder: &NSCoder,
1025 device: &ProtocolObject<dyn MTLDevice>,
1026 ) -> Option<Retained<Self>>;
1027 );
1028}
1029
1030#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1032impl MPSNNReduceFeatureChannelsArgumentMax {
1033 extern_methods!(
1034 #[unsafe(method(initWithCoder:))]
1047 #[unsafe(method_family = init)]
1048 pub unsafe fn initWithCoder(
1049 this: Allocated<Self>,
1050 a_decoder: &NSCoder,
1051 ) -> Option<Retained<Self>>;
1052 );
1053}
1054
1055#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1057impl MPSNNReduceFeatureChannelsArgumentMax {
1058 extern_methods!(
1059 #[unsafe(method(init))]
1060 #[unsafe(method_family = init)]
1061 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1062
1063 #[unsafe(method(new))]
1064 #[unsafe(method_family = new)]
1065 pub unsafe fn new() -> Retained<Self>;
1066 );
1067}
1068
1069extern_class!(
1070 #[unsafe(super(MPSNNReduceUnary, MPSCNNKernel, MPSKernel, NSObject))]
1074 #[derive(Debug, PartialEq, Eq, Hash)]
1075 #[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1076 pub struct MPSNNReduceRowMean;
1077);
1078
1079#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1080extern_conformance!(
1081 unsafe impl NSCoding for MPSNNReduceRowMean {}
1082);
1083
1084#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1085extern_conformance!(
1086 unsafe impl NSCopying for MPSNNReduceRowMean {}
1087);
1088
1089#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1090unsafe impl CopyingHelper for MPSNNReduceRowMean {
1091 type Result = Self;
1092}
1093
1094#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1095extern_conformance!(
1096 unsafe impl NSObjectProtocol for MPSNNReduceRowMean {}
1097);
1098
1099#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1100extern_conformance!(
1101 unsafe impl NSSecureCoding for MPSNNReduceRowMean {}
1102);
1103
1104#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1105impl MPSNNReduceRowMean {
1106 extern_methods!(
1107 #[unsafe(method(initWithDevice:))]
1113 #[unsafe(method_family = init)]
1114 pub unsafe fn initWithDevice(
1115 this: Allocated<Self>,
1116 device: &ProtocolObject<dyn MTLDevice>,
1117 ) -> Retained<Self>;
1118
1119 #[unsafe(method(initWithCoder:device:))]
1133 #[unsafe(method_family = init)]
1134 pub unsafe fn initWithCoder_device(
1135 this: Allocated<Self>,
1136 a_decoder: &NSCoder,
1137 device: &ProtocolObject<dyn MTLDevice>,
1138 ) -> Option<Retained<Self>>;
1139 );
1140}
1141
1142#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1144impl MPSNNReduceRowMean {
1145 extern_methods!(
1146 #[unsafe(method(initWithCoder:))]
1159 #[unsafe(method_family = init)]
1160 pub unsafe fn initWithCoder(
1161 this: Allocated<Self>,
1162 a_decoder: &NSCoder,
1163 ) -> Option<Retained<Self>>;
1164 );
1165}
1166
1167#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1169impl MPSNNReduceRowMean {
1170 extern_methods!(
1171 #[unsafe(method(init))]
1172 #[unsafe(method_family = init)]
1173 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1174
1175 #[unsafe(method(new))]
1176 #[unsafe(method_family = new)]
1177 pub unsafe fn new() -> Retained<Self>;
1178 );
1179}
1180
1181extern_class!(
1182 #[unsafe(super(MPSNNReduceUnary, MPSCNNKernel, MPSKernel, NSObject))]
1186 #[derive(Debug, PartialEq, Eq, Hash)]
1187 #[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1188 pub struct MPSNNReduceColumnMean;
1189);
1190
1191#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1192extern_conformance!(
1193 unsafe impl NSCoding for MPSNNReduceColumnMean {}
1194);
1195
1196#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1197extern_conformance!(
1198 unsafe impl NSCopying for MPSNNReduceColumnMean {}
1199);
1200
1201#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1202unsafe impl CopyingHelper for MPSNNReduceColumnMean {
1203 type Result = Self;
1204}
1205
1206#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1207extern_conformance!(
1208 unsafe impl NSObjectProtocol for MPSNNReduceColumnMean {}
1209);
1210
1211#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1212extern_conformance!(
1213 unsafe impl NSSecureCoding for MPSNNReduceColumnMean {}
1214);
1215
1216#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1217impl MPSNNReduceColumnMean {
1218 extern_methods!(
1219 #[unsafe(method(initWithDevice:))]
1225 #[unsafe(method_family = init)]
1226 pub unsafe fn initWithDevice(
1227 this: Allocated<Self>,
1228 device: &ProtocolObject<dyn MTLDevice>,
1229 ) -> Retained<Self>;
1230
1231 #[unsafe(method(initWithCoder:device:))]
1245 #[unsafe(method_family = init)]
1246 pub unsafe fn initWithCoder_device(
1247 this: Allocated<Self>,
1248 a_decoder: &NSCoder,
1249 device: &ProtocolObject<dyn MTLDevice>,
1250 ) -> Option<Retained<Self>>;
1251 );
1252}
1253
1254#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1256impl MPSNNReduceColumnMean {
1257 extern_methods!(
1258 #[unsafe(method(initWithCoder:))]
1271 #[unsafe(method_family = init)]
1272 pub unsafe fn initWithCoder(
1273 this: Allocated<Self>,
1274 a_decoder: &NSCoder,
1275 ) -> Option<Retained<Self>>;
1276 );
1277}
1278
1279#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1281impl MPSNNReduceColumnMean {
1282 extern_methods!(
1283 #[unsafe(method(init))]
1284 #[unsafe(method_family = init)]
1285 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1286
1287 #[unsafe(method(new))]
1288 #[unsafe(method_family = new)]
1289 pub unsafe fn new() -> Retained<Self>;
1290 );
1291}
1292
1293extern_class!(
1294 #[unsafe(super(MPSNNReduceUnary, MPSCNNKernel, MPSKernel, NSObject))]
1298 #[derive(Debug, PartialEq, Eq, Hash)]
1299 #[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1300 pub struct MPSNNReduceFeatureChannelsMean;
1301);
1302
1303#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1304extern_conformance!(
1305 unsafe impl NSCoding for MPSNNReduceFeatureChannelsMean {}
1306);
1307
1308#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1309extern_conformance!(
1310 unsafe impl NSCopying for MPSNNReduceFeatureChannelsMean {}
1311);
1312
1313#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1314unsafe impl CopyingHelper for MPSNNReduceFeatureChannelsMean {
1315 type Result = Self;
1316}
1317
1318#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1319extern_conformance!(
1320 unsafe impl NSObjectProtocol for MPSNNReduceFeatureChannelsMean {}
1321);
1322
1323#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1324extern_conformance!(
1325 unsafe impl NSSecureCoding for MPSNNReduceFeatureChannelsMean {}
1326);
1327
1328#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1329impl MPSNNReduceFeatureChannelsMean {
1330 extern_methods!(
1331 #[unsafe(method(initWithDevice:))]
1337 #[unsafe(method_family = init)]
1338 pub unsafe fn initWithDevice(
1339 this: Allocated<Self>,
1340 device: &ProtocolObject<dyn MTLDevice>,
1341 ) -> Retained<Self>;
1342
1343 #[unsafe(method(initWithCoder:device:))]
1357 #[unsafe(method_family = init)]
1358 pub unsafe fn initWithCoder_device(
1359 this: Allocated<Self>,
1360 a_decoder: &NSCoder,
1361 device: &ProtocolObject<dyn MTLDevice>,
1362 ) -> Option<Retained<Self>>;
1363 );
1364}
1365
1366#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1368impl MPSNNReduceFeatureChannelsMean {
1369 extern_methods!(
1370 #[unsafe(method(initWithCoder:))]
1383 #[unsafe(method_family = init)]
1384 pub unsafe fn initWithCoder(
1385 this: Allocated<Self>,
1386 a_decoder: &NSCoder,
1387 ) -> Option<Retained<Self>>;
1388 );
1389}
1390
1391#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1393impl MPSNNReduceFeatureChannelsMean {
1394 extern_methods!(
1395 #[unsafe(method(init))]
1396 #[unsafe(method_family = init)]
1397 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1398
1399 #[unsafe(method(new))]
1400 #[unsafe(method_family = new)]
1401 pub unsafe fn new() -> Retained<Self>;
1402 );
1403}
1404
1405extern_class!(
1406 #[unsafe(super(MPSNNReduceUnary, MPSCNNKernel, MPSKernel, NSObject))]
1410 #[derive(Debug, PartialEq, Eq, Hash)]
1411 #[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1412 pub struct MPSNNReduceRowSum;
1413);
1414
1415#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1416extern_conformance!(
1417 unsafe impl NSCoding for MPSNNReduceRowSum {}
1418);
1419
1420#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1421extern_conformance!(
1422 unsafe impl NSCopying for MPSNNReduceRowSum {}
1423);
1424
1425#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1426unsafe impl CopyingHelper for MPSNNReduceRowSum {
1427 type Result = Self;
1428}
1429
1430#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1431extern_conformance!(
1432 unsafe impl NSObjectProtocol for MPSNNReduceRowSum {}
1433);
1434
1435#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1436extern_conformance!(
1437 unsafe impl NSSecureCoding for MPSNNReduceRowSum {}
1438);
1439
1440#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1441impl MPSNNReduceRowSum {
1442 extern_methods!(
1443 #[unsafe(method(initWithDevice:))]
1449 #[unsafe(method_family = init)]
1450 pub unsafe fn initWithDevice(
1451 this: Allocated<Self>,
1452 device: &ProtocolObject<dyn MTLDevice>,
1453 ) -> Retained<Self>;
1454
1455 #[unsafe(method(initWithCoder:device:))]
1469 #[unsafe(method_family = init)]
1470 pub unsafe fn initWithCoder_device(
1471 this: Allocated<Self>,
1472 a_decoder: &NSCoder,
1473 device: &ProtocolObject<dyn MTLDevice>,
1474 ) -> Option<Retained<Self>>;
1475 );
1476}
1477
1478#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1480impl MPSNNReduceRowSum {
1481 extern_methods!(
1482 #[unsafe(method(initWithCoder:))]
1495 #[unsafe(method_family = init)]
1496 pub unsafe fn initWithCoder(
1497 this: Allocated<Self>,
1498 a_decoder: &NSCoder,
1499 ) -> Option<Retained<Self>>;
1500 );
1501}
1502
1503#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1505impl MPSNNReduceRowSum {
1506 extern_methods!(
1507 #[unsafe(method(init))]
1508 #[unsafe(method_family = init)]
1509 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1510
1511 #[unsafe(method(new))]
1512 #[unsafe(method_family = new)]
1513 pub unsafe fn new() -> Retained<Self>;
1514 );
1515}
1516
1517extern_class!(
1518 #[unsafe(super(MPSNNReduceUnary, MPSCNNKernel, MPSKernel, NSObject))]
1522 #[derive(Debug, PartialEq, Eq, Hash)]
1523 #[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1524 pub struct MPSNNReduceColumnSum;
1525);
1526
1527#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1528extern_conformance!(
1529 unsafe impl NSCoding for MPSNNReduceColumnSum {}
1530);
1531
1532#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1533extern_conformance!(
1534 unsafe impl NSCopying for MPSNNReduceColumnSum {}
1535);
1536
1537#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1538unsafe impl CopyingHelper for MPSNNReduceColumnSum {
1539 type Result = Self;
1540}
1541
1542#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1543extern_conformance!(
1544 unsafe impl NSObjectProtocol for MPSNNReduceColumnSum {}
1545);
1546
1547#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1548extern_conformance!(
1549 unsafe impl NSSecureCoding for MPSNNReduceColumnSum {}
1550);
1551
1552#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1553impl MPSNNReduceColumnSum {
1554 extern_methods!(
1555 #[unsafe(method(initWithDevice:))]
1561 #[unsafe(method_family = init)]
1562 pub unsafe fn initWithDevice(
1563 this: Allocated<Self>,
1564 device: &ProtocolObject<dyn MTLDevice>,
1565 ) -> Retained<Self>;
1566
1567 #[unsafe(method(initWithCoder:device:))]
1581 #[unsafe(method_family = init)]
1582 pub unsafe fn initWithCoder_device(
1583 this: Allocated<Self>,
1584 a_decoder: &NSCoder,
1585 device: &ProtocolObject<dyn MTLDevice>,
1586 ) -> Option<Retained<Self>>;
1587 );
1588}
1589
1590#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1592impl MPSNNReduceColumnSum {
1593 extern_methods!(
1594 #[unsafe(method(initWithCoder:))]
1607 #[unsafe(method_family = init)]
1608 pub unsafe fn initWithCoder(
1609 this: Allocated<Self>,
1610 a_decoder: &NSCoder,
1611 ) -> Option<Retained<Self>>;
1612 );
1613}
1614
1615#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1617impl MPSNNReduceColumnSum {
1618 extern_methods!(
1619 #[unsafe(method(init))]
1620 #[unsafe(method_family = init)]
1621 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1622
1623 #[unsafe(method(new))]
1624 #[unsafe(method_family = new)]
1625 pub unsafe fn new() -> Retained<Self>;
1626 );
1627}
1628
1629extern_class!(
1630 #[unsafe(super(MPSNNReduceUnary, MPSCNNKernel, MPSKernel, NSObject))]
1634 #[derive(Debug, PartialEq, Eq, Hash)]
1635 #[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1636 pub struct MPSNNReduceFeatureChannelsSum;
1637);
1638
1639#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1640extern_conformance!(
1641 unsafe impl NSCoding for MPSNNReduceFeatureChannelsSum {}
1642);
1643
1644#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1645extern_conformance!(
1646 unsafe impl NSCopying for MPSNNReduceFeatureChannelsSum {}
1647);
1648
1649#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1650unsafe impl CopyingHelper for MPSNNReduceFeatureChannelsSum {
1651 type Result = Self;
1652}
1653
1654#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1655extern_conformance!(
1656 unsafe impl NSObjectProtocol for MPSNNReduceFeatureChannelsSum {}
1657);
1658
1659#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1660extern_conformance!(
1661 unsafe impl NSSecureCoding for MPSNNReduceFeatureChannelsSum {}
1662);
1663
1664#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1665impl MPSNNReduceFeatureChannelsSum {
1666 extern_methods!(
1667 #[unsafe(method(weight))]
1672 #[unsafe(method_family = none)]
1673 pub unsafe fn weight(&self) -> c_float;
1674
1675 #[unsafe(method(setWeight:))]
1677 #[unsafe(method_family = none)]
1678 pub unsafe fn setWeight(&self, weight: c_float);
1679
1680 #[unsafe(method(initWithDevice:))]
1686 #[unsafe(method_family = init)]
1687 pub unsafe fn initWithDevice(
1688 this: Allocated<Self>,
1689 device: &ProtocolObject<dyn MTLDevice>,
1690 ) -> Retained<Self>;
1691
1692 #[unsafe(method(initWithCoder:device:))]
1706 #[unsafe(method_family = init)]
1707 pub unsafe fn initWithCoder_device(
1708 this: Allocated<Self>,
1709 a_decoder: &NSCoder,
1710 device: &ProtocolObject<dyn MTLDevice>,
1711 ) -> Option<Retained<Self>>;
1712 );
1713}
1714
1715#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1717impl MPSNNReduceFeatureChannelsSum {
1718 extern_methods!(
1719 #[unsafe(method(initWithCoder:))]
1732 #[unsafe(method_family = init)]
1733 pub unsafe fn initWithCoder(
1734 this: Allocated<Self>,
1735 a_decoder: &NSCoder,
1736 ) -> Option<Retained<Self>>;
1737 );
1738}
1739
1740#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1742impl MPSNNReduceFeatureChannelsSum {
1743 extern_methods!(
1744 #[unsafe(method(init))]
1745 #[unsafe(method_family = init)]
1746 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1747
1748 #[unsafe(method(new))]
1749 #[unsafe(method_family = new)]
1750 pub unsafe fn new() -> Retained<Self>;
1751 );
1752}
1753
1754extern_class!(
1755 #[unsafe(super(MPSCNNBinaryKernel, MPSKernel, NSObject))]
1761 #[derive(Debug, PartialEq, Eq, Hash)]
1762 #[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1763 pub struct MPSNNReduceBinary;
1764);
1765
1766#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1767extern_conformance!(
1768 unsafe impl NSCoding for MPSNNReduceBinary {}
1769);
1770
1771#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1772extern_conformance!(
1773 unsafe impl NSCopying for MPSNNReduceBinary {}
1774);
1775
1776#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1777unsafe impl CopyingHelper for MPSNNReduceBinary {
1778 type Result = Self;
1779}
1780
1781#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1782extern_conformance!(
1783 unsafe impl NSObjectProtocol for MPSNNReduceBinary {}
1784);
1785
1786#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1787extern_conformance!(
1788 unsafe impl NSSecureCoding for MPSNNReduceBinary {}
1789);
1790
1791#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1792impl MPSNNReduceBinary {
1793 extern_methods!(
1794 #[unsafe(method(primarySourceClipRect))]
1804 #[unsafe(method_family = none)]
1805 pub unsafe fn primarySourceClipRect(&self) -> MTLRegion;
1806
1807 #[unsafe(method(setPrimarySourceClipRect:))]
1809 #[unsafe(method_family = none)]
1810 pub unsafe fn setPrimarySourceClipRect(&self, primary_source_clip_rect: MTLRegion);
1811
1812 #[unsafe(method(secondarySourceClipRect))]
1822 #[unsafe(method_family = none)]
1823 pub unsafe fn secondarySourceClipRect(&self) -> MTLRegion;
1824
1825 #[unsafe(method(setSecondarySourceClipRect:))]
1827 #[unsafe(method_family = none)]
1828 pub unsafe fn setSecondarySourceClipRect(&self, secondary_source_clip_rect: MTLRegion);
1829
1830 #[cfg(feature = "MPSCoreTypes")]
1831 #[deprecated]
1834 #[unsafe(method(primaryOffset))]
1835 #[unsafe(method_family = none)]
1836 pub unsafe fn primaryOffset(&self) -> MPSOffset;
1837
1838 #[cfg(feature = "MPSCoreTypes")]
1839 #[deprecated]
1841 #[unsafe(method(setPrimaryOffset:))]
1842 #[unsafe(method_family = none)]
1843 pub unsafe fn setPrimaryOffset(&self, primary_offset: MPSOffset);
1844
1845 #[cfg(feature = "MPSCoreTypes")]
1846 #[deprecated]
1849 #[unsafe(method(secondaryOffset))]
1850 #[unsafe(method_family = none)]
1851 pub unsafe fn secondaryOffset(&self) -> MPSOffset;
1852
1853 #[cfg(feature = "MPSCoreTypes")]
1854 #[deprecated]
1856 #[unsafe(method(setSecondaryOffset:))]
1857 #[unsafe(method_family = none)]
1858 pub unsafe fn setSecondaryOffset(&self, secondary_offset: MPSOffset);
1859
1860 #[unsafe(method(initWithDevice:))]
1861 #[unsafe(method_family = init)]
1862 pub unsafe fn initWithDevice(
1863 this: Allocated<Self>,
1864 device: &ProtocolObject<dyn MTLDevice>,
1865 ) -> Retained<Self>;
1866 );
1867}
1868
1869#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1871impl MPSNNReduceBinary {
1872 extern_methods!(
1873 #[unsafe(method(initWithCoder:device:))]
1891 #[unsafe(method_family = init)]
1892 pub unsafe fn initWithCoder_device(
1893 this: Allocated<Self>,
1894 a_decoder: &NSCoder,
1895 device: &ProtocolObject<dyn MTLDevice>,
1896 ) -> Option<Retained<Self>>;
1897 );
1898}
1899
1900#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1902impl MPSNNReduceBinary {
1903 extern_methods!(
1904 #[unsafe(method(initWithCoder:))]
1917 #[unsafe(method_family = init)]
1918 pub unsafe fn initWithCoder(
1919 this: Allocated<Self>,
1920 a_decoder: &NSCoder,
1921 ) -> Option<Retained<Self>>;
1922 );
1923}
1924
1925#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1927impl MPSNNReduceBinary {
1928 extern_methods!(
1929 #[unsafe(method(init))]
1930 #[unsafe(method_family = init)]
1931 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1932
1933 #[unsafe(method(new))]
1934 #[unsafe(method_family = new)]
1935 pub unsafe fn new() -> Retained<Self>;
1936 );
1937}
1938
1939extern_class!(
1940 #[unsafe(super(MPSNNReduceBinary, MPSCNNBinaryKernel, MPSKernel, NSObject))]
1942 #[derive(Debug, PartialEq, Eq, Hash)]
1943 #[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1944 pub struct MPSNNReduceFeatureChannelsAndWeightsMean;
1945);
1946
1947#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1948extern_conformance!(
1949 unsafe impl NSCoding for MPSNNReduceFeatureChannelsAndWeightsMean {}
1950);
1951
1952#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1953extern_conformance!(
1954 unsafe impl NSCopying for MPSNNReduceFeatureChannelsAndWeightsMean {}
1955);
1956
1957#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1958unsafe impl CopyingHelper for MPSNNReduceFeatureChannelsAndWeightsMean {
1959 type Result = Self;
1960}
1961
1962#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1963extern_conformance!(
1964 unsafe impl NSObjectProtocol for MPSNNReduceFeatureChannelsAndWeightsMean {}
1965);
1966
1967#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1968extern_conformance!(
1969 unsafe impl NSSecureCoding for MPSNNReduceFeatureChannelsAndWeightsMean {}
1970);
1971
1972#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
1973impl MPSNNReduceFeatureChannelsAndWeightsMean {
1974 extern_methods!(
1975 #[unsafe(method(initWithDevice:))]
1981 #[unsafe(method_family = init)]
1982 pub unsafe fn initWithDevice(
1983 this: Allocated<Self>,
1984 device: &ProtocolObject<dyn MTLDevice>,
1985 ) -> Retained<Self>;
1986
1987 #[unsafe(method(initWithCoder:device:))]
2001 #[unsafe(method_family = init)]
2002 pub unsafe fn initWithCoder_device(
2003 this: Allocated<Self>,
2004 a_decoder: &NSCoder,
2005 device: &ProtocolObject<dyn MTLDevice>,
2006 ) -> Option<Retained<Self>>;
2007 );
2008}
2009
2010#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
2012impl MPSNNReduceFeatureChannelsAndWeightsMean {
2013 extern_methods!(
2014 #[unsafe(method(initWithCoder:))]
2027 #[unsafe(method_family = init)]
2028 pub unsafe fn initWithCoder(
2029 this: Allocated<Self>,
2030 a_decoder: &NSCoder,
2031 ) -> Option<Retained<Self>>;
2032 );
2033}
2034
2035#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
2037impl MPSNNReduceFeatureChannelsAndWeightsMean {
2038 extern_methods!(
2039 #[unsafe(method(init))]
2040 #[unsafe(method_family = init)]
2041 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
2042
2043 #[unsafe(method(new))]
2044 #[unsafe(method_family = new)]
2045 pub unsafe fn new() -> Retained<Self>;
2046 );
2047}
2048
2049extern_class!(
2050 #[unsafe(super(MPSNNReduceBinary, MPSCNNBinaryKernel, MPSKernel, NSObject))]
2052 #[derive(Debug, PartialEq, Eq, Hash)]
2053 #[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
2054 pub struct MPSNNReduceFeatureChannelsAndWeightsSum;
2055);
2056
2057#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
2058extern_conformance!(
2059 unsafe impl NSCoding for MPSNNReduceFeatureChannelsAndWeightsSum {}
2060);
2061
2062#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
2063extern_conformance!(
2064 unsafe impl NSCopying for MPSNNReduceFeatureChannelsAndWeightsSum {}
2065);
2066
2067#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
2068unsafe impl CopyingHelper for MPSNNReduceFeatureChannelsAndWeightsSum {
2069 type Result = Self;
2070}
2071
2072#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
2073extern_conformance!(
2074 unsafe impl NSObjectProtocol for MPSNNReduceFeatureChannelsAndWeightsSum {}
2075);
2076
2077#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
2078extern_conformance!(
2079 unsafe impl NSSecureCoding for MPSNNReduceFeatureChannelsAndWeightsSum {}
2080);
2081
2082#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
2083impl MPSNNReduceFeatureChannelsAndWeightsSum {
2084 extern_methods!(
2085 #[unsafe(method(doWeightedSumByNonZeroWeights))]
2090 #[unsafe(method_family = none)]
2091 pub unsafe fn doWeightedSumByNonZeroWeights(&self) -> bool;
2092
2093 #[unsafe(method(initWithDevice:))]
2099 #[unsafe(method_family = init)]
2100 pub unsafe fn initWithDevice(
2101 this: Allocated<Self>,
2102 device: &ProtocolObject<dyn MTLDevice>,
2103 ) -> Retained<Self>;
2104
2105 #[unsafe(method(initWithDevice:doWeightedSumByNonZeroWeights:))]
2114 #[unsafe(method_family = init)]
2115 pub unsafe fn initWithDevice_doWeightedSumByNonZeroWeights(
2116 this: Allocated<Self>,
2117 device: &ProtocolObject<dyn MTLDevice>,
2118 do_weighted_sum_by_non_zero_weights: bool,
2119 ) -> Retained<Self>;
2120
2121 #[unsafe(method(initWithCoder:device:))]
2135 #[unsafe(method_family = init)]
2136 pub unsafe fn initWithCoder_device(
2137 this: Allocated<Self>,
2138 a_decoder: &NSCoder,
2139 device: &ProtocolObject<dyn MTLDevice>,
2140 ) -> Option<Retained<Self>>;
2141 );
2142}
2143
2144#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
2146impl MPSNNReduceFeatureChannelsAndWeightsSum {
2147 extern_methods!(
2148 #[unsafe(method(initWithCoder:))]
2161 #[unsafe(method_family = init)]
2162 pub unsafe fn initWithCoder(
2163 this: Allocated<Self>,
2164 a_decoder: &NSCoder,
2165 ) -> Option<Retained<Self>>;
2166 );
2167}
2168
2169#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
2171impl MPSNNReduceFeatureChannelsAndWeightsSum {
2172 extern_methods!(
2173 #[unsafe(method(init))]
2174 #[unsafe(method_family = init)]
2175 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
2176
2177 #[unsafe(method(new))]
2178 #[unsafe(method_family = new)]
2179 pub unsafe fn new() -> Retained<Self>;
2180 );
2181}
2182
2183extern_class!(
2184 #[unsafe(super(MPSNNReduceBinary, MPSCNNBinaryKernel, MPSKernel, NSObject))]
2200 #[derive(Debug, PartialEq, Eq, Hash)]
2201 #[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
2202 pub struct MPSNNLocalCorrelation;
2203);
2204
2205#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
2206extern_conformance!(
2207 unsafe impl NSCoding for MPSNNLocalCorrelation {}
2208);
2209
2210#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
2211extern_conformance!(
2212 unsafe impl NSCopying for MPSNNLocalCorrelation {}
2213);
2214
2215#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
2216unsafe impl CopyingHelper for MPSNNLocalCorrelation {
2217 type Result = Self;
2218}
2219
2220#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
2221extern_conformance!(
2222 unsafe impl NSObjectProtocol for MPSNNLocalCorrelation {}
2223);
2224
2225#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
2226extern_conformance!(
2227 unsafe impl NSSecureCoding for MPSNNLocalCorrelation {}
2228);
2229
2230#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
2231impl MPSNNLocalCorrelation {
2232 extern_methods!(
2233 #[unsafe(method(windowInX))]
2237 #[unsafe(method_family = none)]
2238 pub unsafe fn windowInX(&self) -> NSUInteger;
2239
2240 #[unsafe(method(setWindowInX:))]
2242 #[unsafe(method_family = none)]
2243 pub unsafe fn setWindowInX(&self, window_in_x: NSUInteger);
2244
2245 #[unsafe(method(windowInY))]
2249 #[unsafe(method_family = none)]
2250 pub unsafe fn windowInY(&self) -> NSUInteger;
2251
2252 #[unsafe(method(setWindowInY:))]
2254 #[unsafe(method_family = none)]
2255 pub unsafe fn setWindowInY(&self, window_in_y: NSUInteger);
2256
2257 #[unsafe(method(strideInX))]
2261 #[unsafe(method_family = none)]
2262 pub unsafe fn strideInX(&self) -> NSUInteger;
2263
2264 #[unsafe(method(setStrideInX:))]
2266 #[unsafe(method_family = none)]
2267 pub unsafe fn setStrideInX(&self, stride_in_x: NSUInteger);
2268
2269 #[unsafe(method(strideInY))]
2273 #[unsafe(method_family = none)]
2274 pub unsafe fn strideInY(&self) -> NSUInteger;
2275
2276 #[unsafe(method(setStrideInY:))]
2278 #[unsafe(method_family = none)]
2279 pub unsafe fn setStrideInY(&self, stride_in_y: NSUInteger);
2280
2281 #[unsafe(method(initWithDevice:))]
2287 #[unsafe(method_family = init)]
2288 pub unsafe fn initWithDevice(
2289 this: Allocated<Self>,
2290 device: &ProtocolObject<dyn MTLDevice>,
2291 ) -> Retained<Self>;
2292
2293 #[unsafe(method(initWithDevice:windowInX:windowInY:strideInX:strideInY:))]
2309 #[unsafe(method_family = init)]
2310 pub unsafe fn initWithDevice_windowInX_windowInY_strideInX_strideInY(
2311 this: Allocated<Self>,
2312 device: &ProtocolObject<dyn MTLDevice>,
2313 window_in_x: NSUInteger,
2314 window_in_y: NSUInteger,
2315 stride_in_x: NSUInteger,
2316 stride_in_y: NSUInteger,
2317 ) -> Retained<Self>;
2318
2319 #[unsafe(method(initWithCoder:device:))]
2333 #[unsafe(method_family = init)]
2334 pub unsafe fn initWithCoder_device(
2335 this: Allocated<Self>,
2336 a_decoder: &NSCoder,
2337 device: &ProtocolObject<dyn MTLDevice>,
2338 ) -> Option<Retained<Self>>;
2339 );
2340}
2341
2342#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
2344impl MPSNNLocalCorrelation {
2345 extern_methods!(
2346 #[unsafe(method(initWithCoder:))]
2359 #[unsafe(method_family = init)]
2360 pub unsafe fn initWithCoder(
2361 this: Allocated<Self>,
2362 a_decoder: &NSCoder,
2363 ) -> Option<Retained<Self>>;
2364 );
2365}
2366
2367#[cfg(all(feature = "MPSCNNKernel", feature = "MPSCore", feature = "MPSKernel"))]
2369impl MPSNNLocalCorrelation {
2370 extern_methods!(
2371 #[unsafe(method(init))]
2372 #[unsafe(method_family = init)]
2373 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
2374
2375 #[unsafe(method(new))]
2376 #[unsafe(method_family = new)]
2377 pub unsafe fn new() -> Retained<Self>;
2378 );
2379}