---
title: "init(type:mem:apply:)"
framework: accelerate
role: symbol
role_heading: Initializer
path: "accelerate/sparseopaquepreconditioner_float/init(type:mem:apply:)"
---

# init(type:mem:apply:)

Creates a new single-precision preconditioner.

## Declaration

```swift
init(type: SparsePreconditioner_t, mem: UnsafeMutableRawPointer, apply: (UnsafeMutableRawPointer, CBLAS_TRANSPOSE, DenseMatrix_Float, DenseMatrix_Float) -> Void)
```

## Parameters

- `type`: The preconditioner type.
- `mem`: The unaltered memory pointer that passes as the first parameter of the apply function.
- `apply`: A function that calculates Y = PX, where P is the preconditioner.
