---
title: MPSCNNBinaryConvolutionType
framework: metalperformanceshaders
role: symbol
role_heading: Enumeration
path: metalperformanceshaders/mpscnnbinaryconvolutiontype
---

# MPSCNNBinaryConvolutionType

Options that defines what operations are used to perform binary convolution.

## Declaration

```swift
enum MPSCNNBinaryConvolutionType
```

## Topics

### Enumeration Cases

- [MPSCNNBinaryConvolutionType.AND](metalperformanceshaders/mpscnnbinaryconvolutiontype/and.md)
- [MPSCNNBinaryConvolutionType.XNOR](metalperformanceshaders/mpscnnbinaryconvolutiontype/xnor.md)
- [MPSCNNBinaryConvolutionType.binaryWeights](metalperformanceshaders/mpscnnbinaryconvolutiontype/binaryweights.md)

### Initializers

- [init(rawValue:)](metalperformanceshaders/mpscnnbinaryconvolutiontype/init(rawvalue:).md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Initializers

- [init(coder:device:)](metalperformanceshaders/mpscnnbinaryconvolution/init(coder:device:).md)
- [init(device:convolutionData:outputBiasTerms:outputScaleTerms:inputBiasTerms:inputScaleTerms:type:flags:)](metalperformanceshaders/mpscnnbinaryconvolution/init(device:convolutiondata:outputbiasterms:outputscaleterms:inputbiasterms:inputscaleterms:type:flags:).md)
- [init(device:convolutionData:scaleValue:type:flags:)](metalperformanceshaders/mpscnnbinaryconvolution/init(device:convolutiondata:scalevalue:type:flags:).md)
- [MPSCNNConvolutionDataSource](metalperformanceshaders/mpscnnconvolutiondatasource.md)
- [MPSCNNBinaryConvolutionFlags](metalperformanceshaders/mpscnnbinaryconvolutionflags.md)
