ClampedInteger(限制整数)

一种整数类型,它将其值限制在其最小值和最大值之间,而不是溢出或下溢。

示例

    let big = ClampedInteger.max // 9223372036854775807
    big + 10 == .max // true
    big * 2 == .max // true
    big * -1 == .min + 1 // true, because -.max > .min
    big * -2 == .min // true
    
    let negative = ClampedInteger.min // -9223372036854775808
    negative - 10 == .min // true
    negative * 2 == .min // true
    negative * -1 == .max // true

ClampedInteger 是基于 FixedWidthIntegers 的泛型,可以与任何固定宽度的整数类型一起使用。

    let big = ClampedInteger<UInt16>(21)
    big * 21 == 255 // true

这种限制行为可能会导致意想不到的结果。在这个例子中,字面量 -10 被限制为 UInt 的最小值(即 0)。

    ClampedInteger<UInt>(-10) == 0 // true

安装

Package.swift

编辑 Package.swift 文件。将 ClampedInteger 添加为依赖项。

let package = Package(
    name: " ... ",
    products: [ ... ],
    dependencies: [
        .package(url: "https://github.com/berikv/ClampedInteger.git", from: "0.0.0") // here
    ],
    targets: [
        .target(
            name: " ... ",
            dependencies: [
                "ClampedInteger" // and here
            ]),
    ]
)

对于 .xcodeproj 项目

  1. 打开菜单 文件 > 添加包...
  2. 搜索 "https://github.com/berikv/ClampedInteger.git" 并单击 "添加包"。
  3. 打开您的项目文件,在 "Targets"(目标)中选择您的目标。
  4. 打开 "Dependencies"(依赖项)。
  5. 点击 "+" 符号。
  6. 添加 ClampedInteger。