# Quickstart

> NumKong for Swift

```swift
import NumKong

let a: [Float32] = [1, 2, 3]
let b: [Float32] = [4, 5, 6]
let dot = a.dot(b) // widened to Float64
print(dot as Any)
```

`import NumKong`

## Status

Why a call failed, one case per failing `nk_status_t`, which `nk_status_name` spells.

```swift
enum Status
```

- `badAllocation`
- `unexpectedDimensions`
- `missingGpu`
- `deviceCodeMismatch`
- `deviceMemoryMismatch`
- `missingKernel`
- `misaligned`
- `packMismatch`
- `missingLibrary`

Conforms to: `Equatable`, `Hashable`, `RawRepresentable`, `Sendable`

## name

The C spelling, like "unexpected_dimensions".

```swift
var name: String { get }
```

## Error

One failed call: a status every caller can branch on, and the detail the status cannot carry.

```swift
struct Error
```

Conforms to: [`Error`](#Error), `CustomStringConvertible`, `Equatable`, `Sendable`

## status

The failure identity, shared with the C library.

```swift
let status: Status
```

## message

This binding's detail when it rejected the call itself, else empty.

```swift
let message: String
```

## description

```swift
var description: String { get }
```

