overflow 包

介绍

在整数运算时,若运算结果大于其类型最大值或小于其类型最小值既是溢出,默认情况下,在出现溢出时会抛出异常。

overflow 包提供了四种溢出处理策略,并定义了对应的 interface,四种策略列举如下:

策略接口描述
抛出异常public interface ThrowingOp出现溢出,抛出异常
高位截断public interface WrappingOp出现溢出,高位截断
饱和public interface SaturatingOp当计算结果大于目标类型的 MAX 值,返回 MAX 值;当计算结果小于目标类型的 MIN 值,返回 MIN 值
返回 Option 类型public interface CheckedOp出现溢出,返回 Option.None

overflow 包中通过扩展为所有的整数类型提供了这些接口的实现,用户可以用同样的方式为其他类型实现 overflow 接口。

主要接口

interface ThrowingOp

public interface ThrowingOp<T> {
    func throwingAdd(y: T): T
    func throwingSub(y: T): T
    func throwingMul(y: T): T
    func throwingDiv(y: T): T
    func throwingMod(y: T): T
    func throwingInc(): T
    func throwingDec(): T
    func throwingNeg(): T
}

当整数运算出现溢出,抛出异常。

func throwingAdd

func throwingAdd(y: T): T

功能:加法运算。

参数:

  • y:加数

返回值:算数结果

异常:

  • OverflowException:当加法运算出现溢出时,抛出异常

func throwingSub

func throwingSub(y: T): T

功能:减法运算。

参数:

  • y:减数

返回值:算数结果

异常:

  • OverflowException:当减法运算出现溢出时,抛出异常

func throwingMul

func throwingMul(y: T): T

功能:乘法运算。

参数:

  • y:乘数

返回值:算数结果

异常:

  • OverflowException:当乘法运算出现溢出时,抛出异常

func throwingDiv

func throwingDiv(y: T): T

功能:除法运算。

参数:

  • y:除数

返回值:算数结果

异常:

  • OverflowException:当除法运算出现溢出时,抛出异常

func throwingMod

func throwingMod(y: T): T

功能:取余运算。

参数:

  • y:除数

返回值:算数结果

异常:

  • OverflowException:当取余运算出现溢出时,抛出异常

func throwingInc

func throwingInc(): T

功能:自增运算。

返回值:算数结果

异常:

  • OverflowException:当自增运算出现溢出时,抛出异常

func throwingDec

func throwingDec(): T

功能:自减运算。

返回值:算数结果

异常:

  • OverflowException:当自减运算出现溢出时,抛出异常

func throwingNeg

func throwingNeg(): T

功能:负号运算。

返回值:算数结果

异常:

  • OverflowException:当负号运算出现溢出时,抛出异常

interface WrappingOp

public interface WrappingOp<T> {
    func wrappingAdd(y: T): T
    func wrappingSub(y: T): T
    func wrappingMul(y: T): T
    func wrappingDiv(y: T): T
    func wrappingMod(y: T): T
    func wrappingInc(): T
    func wrappingDec(): T
    func wrappingNeg(): T
}

当整数运算出现溢出,高位截断。

func wrappingAdd

func wrappingAdd(y: T): T

功能:加法运算加法运算出现溢出,高位截断。

参数:

  • y:加数

返回值:算数结果

func wrappingSub

func wrappingSub(y: T): T

功能:减法运算减法运算出现溢出,高位截断。

参数:

  • y:减数

返回值:算数结果

func wrappingMul

func wrappingMul(y: T): T

功能:乘法运算乘法运算出现溢出,高位截断。

参数:

  • y:乘数

返回值:算数结果

func wrappingDiv

func wrappingDiv(y: T): T

功能:除法运算除法运算出现溢出,高位截断。

参数:

  • y:除数

返回值:算数结果

func wrappingMod

func wrappingMod(y: T): T

功能:取余运算取余运算出现溢出,高位截断。

参数:

  • y:除数

返回值:算数结果

func wrappingInc

func wrappingInc(): T

功能:自增运算自增运算出现溢出,高位截断。

返回值:算数结果

func wrappingDec

func wrappingDec(): T

功能:自减运算自减运算出现溢出,高位截断。

返回值:算数结果

func wrappingNeg

func wrappingNeg(): T

功能:负号运算负号运算出现溢出,高位截断。

返回值:算数结果

interface SaturatingOp

public interface SaturatingOp<T> {
    func saturatingAdd(y: T): T
    func saturatingSub(y: T): T
    func saturatingMul(y: T): T
    func saturatingDiv(y: T): T
    func saturatingMod(y: T): T
    func saturatingInc(): T
    func saturatingDec(): T
    func saturatingNeg(): T
}

当整数运算出现溢出,饱和处理。

func saturatingAdd

func saturatingAdd(y: T): T

功能:加法运算加法运算出现溢出,饱和处理。

参数:

  • y:加数

返回值:算数结果

func saturatingSub

func saturatingSub(y: T): T

功能:减法运算减法运算出现溢出,饱和处理。

参数:

  • y:减数

返回值:算数结果

func saturatingMul

func saturatingMul(y: T): T

功能:乘法运算乘法运算出现溢出,饱和处理。

参数:

  • y:乘数

返回值:算数结果

func saturatingDiv

func saturatingDiv(y: T): T

功能:除法运算除法运算出现溢出,饱和处理。

参数:

  • y:除数

返回值:算数结果

func saturatingMod

func saturatingMod(y: T): T

功能:取余运算取余运算出现溢出,饱和处理。

参数:

  • y:除数

返回值:算数结果

func saturatingInc

func saturatingInc(): T

功能:自增运算自增运算出现溢出,饱和处理。

返回值:算数结果

func saturatingDec

func saturatingDec(): T

功能:自减运算自减运算出现溢出,饱和处理。

返回值:算数结果

func saturatingNeg

func saturatingNeg(): T

功能:负号运算负号运算出现溢出,饱和处理。

返回值:算数结果

interface CheckedOp

public interface CheckedOp<T> {
    func checkedAdd(y: T): Option<T>
    func checkedSub(y: T): Option<T>
    func checkedMul(y: T): Option<T>
    func checkedDiv(y: T): Option<T>
    func checkedMod(y: T): Option<T>
    func checkedInc(): Option<T>
    func checkedDec(): Option<T>
    func checkedNeg(): Option<T>
}

当整数运算出现溢出,返回 Option.None。

func checkedAdd

func checkedAdd(y: T): Option<T>

功能:加法运算加法运算出现溢出,返回 Option.None。

参数:

  • y:加数

返回值:算数结果

func checkedSub

func checkedSub(y: T): Option<T>

功能:减法运算减法运算出现溢出,返回 Option.None。

参数:

  • y:减数

返回值:算数结果

func checkedMul

func checkedMul(y: T): Option<T>

功能:乘法运算乘法运算出现溢出,返回 Option.None。

参数:

  • y:乘数

返回值:算数结果

func checkedDiv

func checkedDiv(y: T): Option<T>

功能:除法运算除法运算出现溢出,返回 Option.None。

参数:

  • y:除数

返回值:算数结果

func checkedMod

func checkedMod(y: T): Option<T>

功能:取余运算取余运算出现溢出,返回 Option.None。

参数:

  • y:除数

返回值:算数结果

func checkedInc

func checkedInc(): Option<T>

功能:自增运算自增运算出现溢出,返回 Option.None。

返回值:算数结果

func checkedDec

func checkedDec(): Option<T>

功能:自减运算自减运算出现溢出,返回 Option.None。

返回值:算数结果

func checkedNeg

func checkedNeg(): Option<T>

功能:负号运算负号运算出现溢出,返回 Option.None。

返回值:算数结果

extend Int8 <: ThrowingOp

extend Int8 <: ThrowingOp<Int8>

Int8 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是抛出异常的策略

func throwingAdd

public func throwingAdd(y: Int8): Int8

功能:加法运算出现溢出,抛异常。

参数:

  • y:另一个 Int8

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingSub

public func throwingSub(y: Int8): Int8

功能:减法运算出现溢出,抛异常。

参数:

  • y:另一个 Int8

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingMul

public func throwingMul(y: Int8): Int8

功能:乘法运算出现溢出,抛异常。

参数:

  • y:另一个 Int8

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingDiv

public func throwingDiv(y: Int8): Int8

功能:除法运算出现溢出,抛异常。

参数:

  • y:另一个 Int8

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingMod

public func throwingMod(y: Int8): Int8

功能:取余运算出现溢出,抛异常。

参数:

  • y:另一个 Int8

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingInc

public func throwingInc(): Int8

功能:自增运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingDec

public func throwingDec(): Int8

功能:自减运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingNeg

public func throwingNeg(): Int8

功能:负号运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

extend Int8 <: WrappingOp

extend Int8 <: WrappingOp<Int8>

Int8 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是高位截断的策略

func wrappingAdd

public func wrappingAdd(y: Int8): Int8

功能:加法运算出现溢出,高位截断。

参数:

  • y:另一个 Int8

返回值:算数结果

func wrappingSub

public func wrappingSub(y: Int8): Int8

功能:减法运算出现溢出,高位截断。

参数:

  • y:另一个 Int8

返回值:算数结果

func wrappingMul

public func wrappingMul(y: Int8): Int8

功能:乘法运算出现溢出,高位截断。

参数:

  • y:另一个 Int8

返回值:算数结果

func wrappingDiv

public func wrappingDiv(y: Int8): Int8

功能:除法运算出现溢出,高位截断。

参数:

  • y:另一个 Int8

返回值:算数结果

func wrappingMod

public func wrappingMod(y: Int8): Int8

功能:取余运算出现溢出,高位截断。

参数:

  • y:另一个 Int8

返回值:算数结果

func wrappingInc

public func wrappingInc(): Int8

功能:自增运算出现溢出,高位截断。

返回值:算数结果

func wrappingDec

public func wrappingDec(): Int8

功能:自减运算出现溢出,高位截断。

返回值:算数结果

func wrappingNeg

public func wrappingNeg(): Int8

功能:负号运算出现溢出,高位截断。

返回值:算数结果

extend Int8 <: SaturatingOp

extend Int8 <: SaturatingOp<Int8>

Int8 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是饱和的策略

func saturatingAdd

public func saturatingAdd(y: Int8): Int8

功能:加法运算出现溢出,饱和处理。

参数:

  • y:另一个 Int8

返回值:算数结果

func saturatingSub

public func saturatingSub(y: Int8): Int8

功能:减法运算出现溢出,饱和处理。

参数:

  • y:另一个 Int8

返回值:算数结果

func saturatingMul

public func saturatingMul(y: Int8): Int8

功能:乘法运算出现溢出,饱和处理。

参数:

  • y:另一个 Int8

返回值:算数结果

func saturatingDiv

public func saturatingDiv(y: Int8): Int8

功能:除法运算出现溢出,饱和处理。

参数:

  • y:另一个 Int8

返回值:算数结果

func saturatingMod

public func saturatingMod(y: Int8): Int8

功能:取余运算出现溢出,饱和处理。

参数:

  • y:另一个 Int8

返回值:算数结果

func saturatingInc

public func saturatingInc(): Int8

功能:自增运算出现溢出,饱和处理。

返回值:算数结果

func saturatingDec

public func saturatingDec(): Int8

功能:自减运算出现溢出,饱和处理。

返回值:算数结果

func saturatingNeg

public func saturatingNeg(): Int8

功能:负号运算出现溢出,饱和处理。

返回值:算数结果

extend Int8 <: CheckedOp

extend Int8 <: CheckedOp<Int8>

Int8 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是返回 Option 类型的策略

func checkedAdd

public func checkedAdd(y: Int8): Option<Int8>

功能:加法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 Int8

返回值:Option 类型

func checkedSub

public func checkedSub(y: Int8): Option<Int8>

功能:减法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 Int8

返回值:Option 类型

func checkedMul

public func checkedMul(y: Int8): Option<Int8>

功能:乘法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 Int8

返回值:Option 类型

func checkedDiv

public func checkedDiv(y: Int8): Option<Int8>

功能:除法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 Int8

返回值:Option 类型

func checkedMod

public func checkedMod(y: Int8): Option<Int8>

功能:取余运算出现溢出,返回 Option.None。

参数:

  • y:另一个 Int8

返回值:Option 类型

func checkedInc

public func checkedInc(): Option<Int8>

功能:自增运算出现溢出,返回 Option.None。

返回值:Option 类型

func checkedDec

public func checkedDec(): Option<Int8>

功能:自减运算出现溢出,返回 Option.None。

返回值:Option 类型

func checkedNeg

public func checkedNeg(): Option<Int8>

功能:负号运算出现溢出,返回 Option.None。

返回值:Option 类型

extend Int16 <: ThrowingOp

extend Int16 <: ThrowingOp<Int16>

Int16 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是抛出异常的策略

func throwingAdd

public func throwingAdd(y: Int16): Int16

功能:加法运算出现溢出,抛异常。

参数:

  • y:另一个 Int16

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingSub

public func throwingSub(y: Int16): Int16

功能:减法运算出现溢出,抛异常。

参数:

  • y:另一个 Int16

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingMul

public func throwingMul(y: Int16): Int16

功能:乘法运算出现溢出,抛异常。

参数:

  • y:另一个 Int16

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingDiv

public func throwingDiv(y: Int16): Int16

功能:除法运算出现溢出,抛异常。

参数:

  • y:另一个 Int16

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingMod

public func throwingMod(y: Int16): Int16

功能:取余运算出现溢出,抛异常。

参数:

  • y:另一个 Int16

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingInc

public func throwingInc(): Int16

功能:自增运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingDec

public func throwingDec(): Int16

功能:自减运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingNeg

public func throwingNeg(): Int16

功能:负号运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

extend Int16 <: WrappingOp

extend Int16 <: WrappingOp<Int16>

Int16 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是高位截断的策略

func wrappingAdd

public func wrappingAdd(y: Int16): Int16

功能:加法运算出现溢出,高位截断。

参数:

  • y:另一个 Int16

返回值:算数结果

func wrappingSub

public func wrappingSub(y: Int16): Int16

功能:减法运算出现溢出,高位截断。

参数:

  • y:另一个 Int16

返回值:算数结果

func wrappingMul

public func wrappingMul(y: Int16): Int16

功能:乘法运算出现溢出,高位截断。

参数:

  • y:另一个 Int16

返回值:算数结果

func wrappingDiv

public func wrappingDiv(y: Int16): Int16

功能:除法运算出现溢出,高位截断。

参数:

  • y:另一个 Int16

返回值:算数结果

func wrappingMod

public func wrappingMod(y: Int16): Int16

功能:取余运算出现溢出,高位截断。

参数:

  • y:另一个 Int16

返回值:算数结果

func wrappingInc

public func wrappingInc(): Int16

功能:自增运算出现溢出,高位截断。

返回值:算数结果

func wrappingDec

public func wrappingDec(): Int16

功能:自减运算出现溢出,高位截断。

返回值:算数结果

func wrappingNeg

public func wrappingNeg(): Int16

功能:负号运算出现溢出,高位截断。

返回值:算数结果

extend Int16 <: SaturatingOp

extend Int16 <: SaturatingOp<Int16>

Int16 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是饱和的策略

func saturatingAdd

public func saturatingAdd(y: Int16): Int16

功能:加法运算出现溢出,饱和处理。

参数:

  • y:另一个 Int16

返回值:算数结果

func saturatingSub

public func saturatingSub(y: Int16): Int16

功能:减法运算出现溢出,饱和处理。

参数:

  • y:另一个 Int16

返回值:算数结果

func saturatingMul

public func saturatingMul(y: Int16): Int16

功能:乘法运算出现溢出,饱和处理。

参数:

  • y:另一个 Int16

返回值:算数结果

func saturatingDiv

public func saturatingDiv(y: Int16): Int16

功能:除法运算出现溢出,饱和处理。

参数:

  • y:另一个 Int16

返回值:算数结果

func saturatingMod

public func saturatingMod(y: Int16): Int16

功能:取余运算出现溢出,饱和处理。

参数:

  • y:另一个 Int16

返回值:算数结果

func saturatingInc

public func saturatingInc(): Int16

功能:自增运算出现溢出,饱和处理。

返回值:算数结果

func saturatingDec

public func saturatingDec(): Int16

功能:自减运算出现溢出,饱和处理。

返回值:算数结果

func saturatingNeg

public func saturatingNeg(): Int16

功能:负号运算出现溢出,饱和处理。

返回值:算数结果

extend Int16 <: CheckedOp

extend Int16 <: CheckedOp<Int16>

Int16 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是返回 Option 类型的策略

func checkedAdd

public func checkedAdd(y: Int16): Option<Int16>

功能:加法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 Int16

返回值:Option 类型

func checkedSub

public func checkedSub(y: Int16): Option<Int16>

功能:减法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 Int16

返回值:Option 类型

func checkedMul

public func checkedMul(y: Int16): Option<Int16>

功能:乘法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 Int16

返回值:Option 类型

func checkedDiv

public func checkedDiv(y: Int16): Option<Int16>

功能:除法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 Int16

返回值:Option 类型

func checkedMod

public func checkedMod(y: Int16): Option<Int16>

功能:取余运算出现溢出,返回 Option.None。

参数:

  • y:另一个 Int16

返回值:Option 类型

func checkedInc

public func checkedInc(): Option<Int16>

功能:自增运算出现溢出,返回 Option.None。

返回值:Option 类型

func checkedDec

public func checkedDec(): Option<Int16>

功能:自减运算出现溢出,返回 Option.None。

返回值:Option 类型

func checkedNeg

public func checkedNeg(): Option<Int16>

功能:负号运算出现溢出,返回 Option.None。

返回值:Option 类型

extend Int32 <: ThrowingOp

extend Int32 <: ThrowingOp<Int32>

Int32 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是抛出异常的策略

func throwingAdd

public func throwingAdd(y: Int32): Int32

功能:加法运算出现溢出,抛异常。

参数:

  • y:另一个 Int32

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingSub

public func throwingSub(y: Int32): Int32

功能:减法运算出现溢出,抛异常。

参数:

  • y:另一个 Int32

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingMul

public func throwingMul(y: Int32): Int32

功能:乘法运算出现溢出,抛异常。

参数:

  • y:另一个 Int32

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingDiv

public func throwingDiv(y: Int32): Int32

功能:除法运算出现溢出,抛异常。

参数:

  • y:另一个 Int32

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingMod

public func throwingMod(y: Int32): Int32

功能:取余运算出现溢出,抛异常。

参数:

  • y:另一个 Int32

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingInc

public func throwingInc(): Int32

功能:自增运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingDec

public func throwingDec(): Int32

功能:自减运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingNeg

public func throwingNeg(): Int32

功能:负号运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

extend Int32 <: WrappingOp

extend Int32 <: WrappingOp<Int32>

Int32 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是高位截断的策略

func wrappingAdd

public func wrappingAdd(y: Int32): Int32

功能:加法运算出现溢出,高位截断。

参数:

  • y:另一个 Int32

返回值:算数结果

func wrappingSub

public func wrappingSub(y: Int32): Int32

功能:减法运算出现溢出,高位截断。

参数:

  • y:另一个 Int32

返回值:算数结果

func wrappingMul

public func wrappingMul(y: Int32): Int32

功能:乘法运算出现溢出,高位截断。

参数:

  • y:另一个 Int32

返回值:算数结果

func wrappingDiv

public func wrappingDiv(y: Int32): Int32

功能:除法运算出现溢出,高位截断。

参数:

  • y:另一个 Int32

返回值:算数结果

func wrappingMod

public func wrappingMod(y: Int32): Int32

功能:取余运算出现溢出,高位截断。

参数:

  • y:另一个 Int32

返回值:算数结果

func wrappingInc

public func wrappingInc(): Int32

功能:自增运算出现溢出,高位截断。

返回值:算数结果

func wrappingDec

public func wrappingDec(): Int32

功能:自减运算出现溢出,高位截断。

返回值:算数结果

func wrappingNeg

public func wrappingNeg(): Int32

功能:负号运算出现溢出,高位截断。

返回值:算数结果

extend Int32 <: SaturatingOp

extend Int32 <: SaturatingOp<Int32>

Int32 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是饱和的策略

func saturatingAdd

public func saturatingAdd(y: Int32): Int32

功能:加法运算出现溢出,饱和处理。

参数:

  • y:另一个 Int32

返回值:算数结果

func saturatingSub

public func saturatingSub(y: Int32): Int32

功能:减法运算出现溢出,饱和处理。

参数:

  • y:另一个 Int32

返回值:算数结果

func saturatingMul

public func saturatingMul(y: Int32): Int32

功能:乘法运算出现溢出,饱和处理。

参数:

  • y:另一个 Int32

返回值:算数结果

func saturatingDiv

public func saturatingDiv(y: Int32): Int32

功能:除法运算出现溢出,饱和处理。

参数:

  • y:另一个 Int32

返回值:算数结果

func saturatingMod

public func saturatingMod(y: Int32): Int32

功能:取余运算出现溢出,饱和处理。

参数:

  • y:另一个 Int32

返回值:算数结果

func saturatingInc

public func saturatingInc(): Int32

功能:自增运算出现溢出,饱和处理。

返回值:算数结果

func saturatingDec

public func saturatingDec(): Int32

功能:自减运算出现溢出,饱和处理。

返回值:算数结果

func saturatingNeg

public func saturatingNeg(): Int32

功能:负号运算出现溢出,饱和处理。

返回值:算数结果

extend Int32 <: CheckedOp

extend Int32 <: CheckedOp<Int32>

Int32 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是返回 Option 类型的策略

func checkedAdd

public func checkedAdd(y: Int32): Option<Int32>

功能:加法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 Int32

返回值:Option 类型

func checkedSub

public func checkedSub(y: Int32): Option<Int32>

功能:减法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 Int32

返回值:Option 类型

func checkedMul

public func checkedMul(y: Int32): Option<Int32>

功能:乘法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 Int32

返回值:Option 类型

func checkedDiv

public func checkedDiv(y: Int32): Option<Int32>

功能:除法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 Int32

返回值:Option 类型

func checkedMod

public func checkedMod(y: Int32): Option<Int32>

功能:取余运算出现溢出,返回 Option.None。

参数:

  • y:另一个 Int32

返回值:Option 类型

func checkedInc

public func checkedInc(): Option<Int32>

功能:自增运算出现溢出,返回 Option.None。

返回值:Option 类型

func checkedDec

public func checkedDec(): Option<Int32>

功能:自减运算出现溢出,返回 Option.None。

返回值:Option 类型

func checkedNeg

public func checkedNeg(): Option<Int32>

功能:负号运算出现溢出,返回 Option.None。

返回值:Option 类型

extend Int64 <: ThrowingOp

extend Int64 <: ThrowingOp<Int64>

Int64 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是抛出异常的策略

func throwingAdd

public func throwingAdd(y: Int64): Int64

功能:加法运算出现溢出,抛异常。

参数:

  • y:另一个 Int64

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingSub

public func throwingSub(y: Int64): Int64

功能:减法运算出现溢出,抛异常。

参数:

  • y:另一个 Int64

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingMul

public func throwingMul(y: Int64): Int64

功能:乘法运算出现溢出,抛异常。

参数:

  • y:另一个 Int64

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingDiv

public func throwingDiv(y: Int64): Int64

功能:除法运算出现溢出,抛异常。

参数:

  • y:另一个 Int64

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingMod

public func throwingMod(y: Int64): Int64

功能:取余运算出现溢出,抛异常。

参数:

  • y:另一个 Int64

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingPow

public func throwingPow(y: UInt64): Int64

功能:幂运算出现溢出,抛异常。

参数:

  • y:另一个 UInt64

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingInc

public func throwingInc(): Int64

功能:自增运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingDec

public func throwingDec(): Int64

功能:自减运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingNeg

public func throwingNeg(): Int64

功能:负号运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

extend Int64 <: WrappingOp

extend Int64 <: WrappingOp<Int64>

Int64 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是高位截断的策略

func wrappingAdd

public func wrappingAdd(y: Int64): Int64

功能:加法运算出现溢出,高位截断。

参数:

  • y:另一个 Int64

返回值:算数结果

func wrappingSub

public func wrappingSub(y: Int64): Int64

功能:减法运算出现溢出,高位截断。

参数:

  • y:另一个 Int64

返回值:算数结果

func wrappingMul

public func wrappingMul(y: Int64): Int64

功能:乘法运算出现溢出,高位截断。

参数:

  • y:另一个 Int64

返回值:算数结果

func wrappingDiv

public func wrappingDiv(y: Int64): Int64

功能:除法运算出现溢出,高位截断。

参数:

  • y:另一个 Int64

返回值:算数结果

func wrappingMod

public func wrappingMod(y: Int64): Int64

功能:取余运算出现溢出,高位截断。

参数:

  • y:另一个 Int64

返回值:算数结果

func wrappingPow

public func wrappingPow(y: UInt64): Int64

功能:幂运算出现溢出,高位截断。

参数:

  • y:另一个 UInt64

返回值:算数结果

func wrappingInc

public func wrappingInc(): Int64

功能:自增运算出现溢出,高位截断。

返回值:算数结果

func wrappingDec

public func wrappingDec(): Int64

功能:自减运算出现溢出,高位截断。

返回值:算数结果

func wrappingNeg

public func wrappingNeg(): Int64

功能:负号运算出现溢出,高位截断。

返回值:算数结果

extend Int64 <: SaturatingOp

extend Int64 <: SaturatingOp<Int64>

Int64 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是饱和的策略

func saturatingAdd

public func saturatingAdd(y: Int64): Int64

功能:加法运算出现溢出,饱和处理。

参数:

  • y:另一个 Int64

返回值:算数结果

func saturatingSub

public func saturatingSub(y: Int64): Int64

功能:减法运算出现溢出,饱和处理。

参数:

  • y:另一个 Int64

返回值:算数结果

func saturatingMul

public func saturatingMul(y: Int64): Int64

功能:乘法运算出现溢出,饱和处理。

参数:

  • y:另一个 Int64

返回值:算数结果

func saturatingDiv

public func saturatingDiv(y: Int64): Int64

功能:除法运算出现溢出,饱和处理。

参数:

  • y:另一个 Int64

返回值:算数结果

func saturatingMod

public func saturatingMod(y: Int64): Int64

功能:取余运算出现溢出,饱和处理。

参数:

  • y:另一个 Int64

返回值:算数结果

func saturatingPow

public func saturatingPow(y: UInt64): Int64

功能:幂运算出现溢出,饱和处理。

参数:

  • y:另一个 UInt64

返回值:算数结果

func saturatingInc

public func saturatingInc(): Int64

功能:自增运算出现溢出,饱和处理。

返回值:算数结果

func saturatingDec

public func saturatingDec(): Int64

功能:自减运算出现溢出,饱和处理。

返回值:算数结果

func saturatingNeg

public func saturatingNeg(): Int64

功能:负号运算出现溢出,饱和处理。

返回值:算数结果

extend Int64 <: CheckedOp

extend Int64 <: CheckedOp<Int64>

Int64 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是返回 Option 类型的策略

func checkedAdd

public func checkedAdd(y: Int64): Option<Int64>

功能:加法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 Int64

返回值:Option 类型

func checkedSub

public func checkedSub(y: Int64): Option<Int64>

功能:减法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 Int64

返回值:Option 类型

func checkedMul

public func checkedMul(y: Int64): Option<Int64>

功能:乘法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 Int64

返回值:Option 类型

func checkedDiv

public func checkedDiv(y: Int64): Option<Int64>

功能:除法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 Int64

返回值:Option 类型

func checkedMod

public func checkedMod(y: Int64): Option<Int64>

功能:取余运算出现溢出,返回 Option.None。

参数:

  • y:另一个 Int64

返回值:Option 类型

func checkedPow

public func checkedPow(y: UInt64): Option<Int64>

功能:幂运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UInt64

返回值:Option 类型

func checkedInc

public func checkedInc(): Option<Int64>

功能:自增运算出现溢出,返回 Option.None。

返回值:Option 类型

func checkedDec

public func checkedDec(): Option<Int64>

功能:自减运算出现溢出,返回 Option.None。

返回值:Option 类型

func checkedNeg

public func checkedNeg(): Option<Int64>

功能:负号运算出现溢出,返回 Option.None。

返回值:Option 类型

extend IntNative <: ThrowingOp

extend IntNative <: ThrowingOp<IntNative>

IntNative 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是抛出异常的策略

func throwingAdd

public func throwingAdd(y: IntNative): IntNative

功能:加法运算出现溢出,抛异常。

参数:

  • y:另一个 IntNative 数

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingSub

public func throwingSub(y: IntNative): IntNative

功能:减法运算出现溢出,抛异常。

参数:

  • y:另一个 IntNative 数

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingMul

public func throwingMul(y: IntNative): IntNative

功能:乘法运算出现溢出,抛异常。

参数:

  • y:另一个 IntNative 数

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingDiv

public func throwingDiv(y: IntNative): IntNative

功能:除法运算出现溢出,抛异常。

参数:

  • y:另一个 IntNative 数

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingMod

public func throwingMod(y: IntNative): IntNative

功能:取余运算出现溢出,抛异常。

参数:

  • y:另一个 IntNative 数

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingInc

public func throwingInc(): IntNative

功能:自增运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingDec

public func throwingDec(): IntNative

功能:自减运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingNeg

public func throwingNeg(): IntNative

功能:负号运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

extend IntNative <: WrappingOp

extend IntNative <: WrappingOp<IntNative>

IntNative 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是高位截断的策略

func wrappingAdd

public func wrappingAdd(y: IntNative): IntNative

功能:加法运算出现溢出,高位截断。

参数:

  • y:另一个 IntNative 数

返回值:算数结果

func wrappingSub

public func wrappingSub(y: IntNative): IntNative

功能:减法运算出现溢出,高位截断。

参数:

  • y:另一个 IntNative 数

返回值:算数结果

func wrappingMul

public func wrappingMul(y: IntNative): IntNative

功能:乘法运算出现溢出,高位截断。

参数:

  • y:另一个 IntNative 数

返回值:算数结果

func wrappingDiv

public func wrappingDiv(y: IntNative): IntNative

功能:除法运算出现溢出,高位截断。

参数:

  • y:另一个 IntNative 数

返回值:算数结果

func wrappingMod

public func wrappingMod(y: IntNative): IntNative

功能:取余运算出现溢出,高位截断。

参数:

  • y:另一个 IntNative 数

返回值:算数结果

func wrappingInc

public func wrappingInc(): IntNative

功能:自增运算出现溢出,高位截断。

返回值:算数结果

func wrappingDec

public func wrappingDec(): IntNative

功能:自减运算出现溢出,高位截断。

返回值:算数结果

func wrappingNeg

public func wrappingNeg(): IntNative

功能:负号运算出现溢出,高位截断。

返回值:算数结果

extend IntNative <: SaturatingOp

extend IntNative <: SaturatingOp<IntNative>

IntNative 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是饱和的策略

func saturatingAdd

public func saturatingAdd(y: IntNative): IntNative

功能:加法运算出现溢出,饱和处理。

参数:

  • y:另一个 IntNative 数

返回值:算数结果

func saturatingSub

public func saturatingSub(y: IntNative): IntNative

功能:减法运算出现溢出,饱和处理。

参数:

  • y:另一个 IntNative 数

返回值:算数结果

func saturatingMul

public func saturatingMul(y: IntNative): IntNative

功能:乘法运算出现溢出,饱和处理。

参数:

  • y:另一个 IntNative 数

返回值:算数结果

func saturatingDiv

public func saturatingDiv(y: IntNative): IntNative

功能:除法运算出现溢出,饱和处理。

参数:

  • y:另一个 IntNative 数

返回值:算数结果

func saturatingMod

public func saturatingMod(y: IntNative): IntNative

功能:取余运算出现溢出,饱和处理。

参数:

  • y:另一个 IntNative 数

返回值:算数结果

func saturatingInc

public func saturatingInc(): IntNative

功能:自增运算出现溢出,饱和处理。

返回值:算数结果

func saturatingDec

public func saturatingDec(): IntNative

功能:自减运算出现溢出,饱和处理。

返回值:算数结果

func saturatingNeg

public func saturatingNeg(): IntNative

功能:负号运算出现溢出,饱和处理。

返回值:算数结果

extend IntNative <: CheckedOp

extend IntNative <: CheckedOp<IntNative>

IntNative 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是返回 Option 类型的策略

func checkedAdd

public func checkedAdd(y: IntNative): Option<IntNative>

功能:加法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 IntNative 数

返回值:Option 类型

func checkedSub

public func checkedSub(y: IntNative): Option<IntNative>

功能:减法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 IntNative 数

返回值:Option 类型

func checkedMul

public func checkedMul(y: IntNative): Option<IntNative>

功能:乘法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 IntNative 数

返回值:Option 类型

func checkedDiv

public func checkedDiv(y: IntNative): Option<IntNative>

功能:除法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 IntNative 数

返回值:Option 类型

func checkedMod

public func checkedMod(y: IntNative): Option<IntNative>

功能:取余运算出现溢出,返回 Option.None。

参数:

  • y:另一个 IntNative 数

返回值:Option 类型

func checkedInc

public func checkedInc(): Option<IntNative>

功能:自增运算出现溢出,返回 Option.None。

返回值:Option 类型

func checkedDec

public func checkedDec(): Option<IntNative>

功能:自减运算出现溢出,返回 Option.None。

返回值:Option 类型

func checkedNeg

public func checkedNeg(): Option<IntNative>

功能:负号运算出现溢出,返回 Option.None。

返回值:Option 类型

extend UInt8 <: ThrowingOp

extend UInt8 <: ThrowingOp<UInt8>

UInt8 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是抛出异常的策略

func throwingAdd

public func throwingAdd(y: UInt8): UInt8

功能:加法运算出现溢出,抛异常。

参数:

  • y:另一个 UInt8

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingSub

public func throwingSub(y: UInt8): UInt8

功能:减法运算出现溢出,抛异常。

参数:

  • y:另一个 UInt8

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingMul

public func throwingMul(y: UInt8): UInt8

功能:乘法运算出现溢出,抛异常。

参数:

  • y:另一个 UInt8

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingDiv

public func throwingDiv(y: UInt8): UInt8

功能:除法运算出现溢出,抛异常。

参数:

  • y:另一个 UInt8

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingMod

public func throwingMod(y: UInt8): UInt8

功能:取余运算出现溢出,抛异常。

参数:

  • y:另一个 UInt8

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingInc

public func throwingInc(): UInt8

功能:自增运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingDec

public func throwingDec(): UInt8

功能:自减运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingNeg

public func throwingNeg(): UInt8

功能:负号运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

extend UInt8 <: WrappingOp

extend UInt8 <: WrappingOp<UInt8>

UInt8 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是高位截断的策略

func wrappingAdd

public func wrappingAdd(y: UInt8): UInt8

功能:加法运算出现溢出,高位截断。

参数:

  • y:另一个 UInt8

返回值:算数结果

func wrappingSub

public func wrappingSub(y: UInt8): UInt8

功能:减法运算出现溢出,高位截断。

参数:

  • y:另一个 UInt8

返回值:算数结果

func wrappingMul

public func wrappingMul(y: UInt8): UInt8

功能:乘法运算出现溢出,高位截断。

参数:

  • y:另一个 UInt8

返回值:算数结果

func wrappingDiv

public func wrappingDiv(y: UInt8): UInt8

功能:除法运算出现溢出,高位截断。

参数:

  • y:另一个 UInt8

返回值:算数结果

func wrappingMod

public func wrappingMod(y: UInt8): UInt8

功能:取余运算出现溢出,高位截断。

参数:

  • y:另一个 UInt8

返回值:算数结果

func wrappingInc

public func wrappingInc(): UInt8

功能:自增运算出现溢出,高位截断。

返回值:算数结果

func wrappingDec

public func wrappingDec(): UInt8

功能:自减运算出现溢出,高位截断。

返回值:算数结果

func wrappingNeg

public func wrappingNeg(): UInt8

功能:负号运算出现溢出,高位截断。

返回值:算数结果

extend UInt8 <: SaturatingOp

extend UInt8 <: SaturatingOp<UInt8>

UInt8 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是饱和的策略

func saturatingAdd

public func saturatingAdd(y: UInt8): UInt8

功能:加法运算出现溢出,饱和处理。

参数:

  • y:另一个 UInt8

返回值:算数结果

func saturatingSub

public func saturatingSub(y: UInt8): UInt8

功能:减法运算出现溢出,饱和处理。

参数:

  • y:另一个 UInt8

返回值:算数结果

func saturatingMul

public func saturatingMul(y: UInt8): UInt8

功能:乘法运算出现溢出,饱和处理。

参数:

  • y:另一个 UInt8

返回值:算数结果

func saturatingDiv

public func saturatingDiv(y: UInt8): UInt8

功能:除法运算出现溢出,饱和处理。

参数:

  • y:另一个 UInt8

返回值:算数结果

func saturatingMod

public func saturatingMod(y: UInt8): UInt8

功能:取余运算出现溢出,饱和处理。

参数:

  • y:另一个 UInt8

返回值:算数结果

func saturatingInc

public func saturatingInc(): UInt8

功能:自增运算出现溢出,饱和处理。

返回值:算数结果

func saturatingDec

public func saturatingDec(): UInt8

功能:自减运算出现溢出,饱和处理。

返回值:算数结果

func saturatingNeg

public func saturatingNeg(): UInt8

功能:负号运算出现溢出,饱和处理。

返回值:算数结果

extend UInt8 <: CheckedOp

extend UInt8 <: CheckedOp<UInt8>

UInt8 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是返回 Option 类型的策略

func checkedAdd

public func checkedAdd(y: UInt8): Option<UInt8>

功能:加法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UInt8

返回值:Option 类型

func checkedSub

public func checkedSub(y: UInt8): Option<UInt8>

功能:减法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UInt8

返回值:Option 类型

func checkedMul

public func checkedMul(y: UInt8): Option<UInt8>

功能:乘法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UInt8

返回值:Option 类型

func checkedDiv

public func checkedDiv(y: UInt8): Option<UInt8>

功能:除法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UInt8

返回值:Option 类型

func checkedMod

public func checkedMod(y: UInt8): Option<UInt8>

功能:取余运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UInt8

返回值:Option 类型

func checkedInc

public func checkedInc(): Option<UInt8>

功能:自增运算出现溢出,返回 Option.None。

返回值:Option 类型

func checkedDec

public func checkedDec(): Option<UInt8>

功能:自减运算出现溢出,返回 Option.None。

返回值:Option 类型

func checkedNeg

public func checkedNeg(): Option<UInt8>

功能:负号运算出现溢出,返回 Option.None。

返回值:Option 类型

extend UInt16 <: ThrowingOp

extend UInt16 <: ThrowingOp<UInt16>

UInt16 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是抛出异常的策略

func throwingAdd

public func throwingAdd(y: UInt16): UInt16

功能:加法运算出现溢出,抛异常。

参数:

  • y:另一个 UInt16

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingSub

public func throwingSub(y: UInt16): UInt16

功能:减法运算出现溢出,抛异常。

参数:

  • y:另一个 UInt16

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingMul

public func throwingMul(y: UInt16): UInt16

功能:乘法运算出现溢出,抛异常。

参数:

  • y:另一个 UInt16

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingDiv

public func throwingDiv(y: UInt16): UInt16

功能:除法运算出现溢出,抛异常。

参数:

  • y:另一个 UInt16

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingMod

public func throwingMod(y: UInt16): UInt16

功能:取余运算出现溢出,抛异常。

参数:

  • y:另一个 UInt16

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingInc

public func throwingInc(): UInt16

功能:自增运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingDec

public func throwingDec(): UInt16

功能:自减运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingNeg

public func throwingNeg(): UInt16

功能:负号运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

extend UInt16 <: WrappingOp

extend UInt16 <: WrappingOp<UInt16>

UInt16 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是高位截断的策略

func wrappingAdd

public func wrappingAdd(y: UInt16): UInt16

功能:加法运算出现溢出,高位截断。

参数:

  • y:另一个 UInt16

返回值:算数结果

func wrappingSub

public func wrappingSub(y: UInt16): UInt16

功能:减法运算出现溢出,高位截断。

参数:

  • y:另一个 UInt16

返回值:算数结果

func wrappingMul

public func wrappingMul(y: UInt16): UInt16

功能:乘法运算出现溢出,高位截断。

参数:

  • y:另一个 UInt16

返回值:算数结果

func wrappingDiv

public func wrappingDiv(y: UInt16): UInt16

功能:除法运算出现溢出,高位截断。

参数:

  • y:另一个 UInt16

返回值:算数结果

func wrappingMod

public func wrappingMod(y: UInt16): UInt16

功能:取余运算出现溢出,高位截断。

参数:

  • y:另一个 UInt16

返回值:算数结果

func wrappingInc

public func wrappingInc(): UInt16

功能:自增运算出现溢出,高位截断。

返回值:算数结果

func wrappingDec

public func wrappingDec(): UInt16

功能:自减运算出现溢出,高位截断。

返回值:算数结果

func wrappingNeg

public func wrappingNeg(): UInt16

功能:负号运算出现溢出,高位截断。

返回值:算数结果

extend UInt16 <: SaturatingOp

extend UInt16 <: SaturatingOp<UInt16>

UInt16 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是饱和的策略

func saturatingAdd

public func saturatingAdd(y: UInt16): UInt16

功能:加法运算出现溢出,饱和处理。

参数:

  • y:另一个 UInt16

返回值:算数结果

func saturatingSub

public func saturatingSub(y: UInt16): UInt16

功能:减法运算出现溢出,饱和处理。

参数:

  • y:另一个 UInt16

返回值:算数结果

func saturatingMul

public func saturatingMul(y: UInt16): UInt16

功能:乘法运算出现溢出,饱和处理。

参数:

  • y:另一个 UInt16

返回值:算数结果

func saturatingDiv

public func saturatingDiv(y: UInt16): UInt16

功能:除法运算出现溢出,饱和处理。

参数:

  • y:另一个 UInt16

返回值:算数结果

func saturatingMod

public func saturatingMod(y: UInt16): UInt16

功能:取余运算出现溢出,饱和处理。

参数:

  • y:另一个 UInt16

返回值:算数结果

func saturatingInc

public func saturatingInc(): UInt16

功能:自增运算出现溢出,饱和处理。

返回值:算数结果

func saturatingDec

public func saturatingDec(): UInt16

功能:自减运算出现溢出,饱和处理。

返回值:算数结果

func saturatingNeg

public func saturatingNeg(): UInt16

功能:负号运算出现溢出,饱和处理。

返回值:算数结果

extend UInt16 <: CheckedOp

extend UInt16 <: CheckedOp<UInt16>

UInt16 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是返回 Option 类型的策略

func checkedAdd

public func checkedAdd(y: UInt16): Option<UInt16>

功能:加法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UInt16

返回值:Option 类型

func checkedSub

public func checkedSub(y: UInt16): Option<UInt16>

功能:减法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UInt16

返回值:Option 类型

func checkedMul

public func checkedMul(y: UInt16): Option<UInt16>

功能:乘法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UInt16

返回值:Option 类型

func checkedDiv

public func checkedDiv(y: UInt16): Option<UInt16>

功能:除法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UInt16

返回值:Option 类型

func checkedMod

public func checkedMod(y: UInt16): Option<UInt16>

功能:取余运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UInt16

返回值:Option 类型

func checkedInc

public func checkedInc(): Option<UInt16>

功能:自增运算出现溢出,返回 Option.None。

返回值:Option 类型

func checkedDec

public func checkedDec(): Option<UInt16>

功能:自减运算出现溢出,返回 Option.None。

返回值:Option 类型

func checkedNeg

public func checkedNeg(): Option<UInt16>

功能:负号运算出现溢出,返回 Option.None。

返回值:Option 类型

extend UInt32 <: ThrowingOp

extend UInt32 <: ThrowingOp<UInt32>

UInt32 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是抛出异常的策略

func throwingAdd

public func throwingAdd(y: UInt32): UInt32

功能:加法运算出现溢出,抛异常。

参数:

  • y:另一个 UInt32

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingSub

public func throwingSub(y: UInt32): UInt32

功能:减法运算出现溢出,抛异常。

参数:

  • y:另一个 UInt32

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingMul

public func throwingMul(y: UInt32): UInt32

功能:乘法运算出现溢出,抛异常。

参数:

  • y:另一个 UInt32

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingDiv

public func throwingDiv(y: UInt32): UInt32

功能:除法运算出现溢出,抛异常。

参数:

  • y:另一个 UInt32

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingMod

public func throwingMod(y: UInt32): UInt32

功能:取余运算出现溢出,抛异常。

参数:

  • y:另一个 UInt32

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingInc

public func throwingInc(): UInt32

功能:自增运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingDec

public func throwingDec(): UInt32

功能:自减运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingNeg

public func throwingNeg(): UInt32

功能:负号运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

extend UInt32 <: WrappingOp

extend UInt32 <: WrappingOp<UInt32>

UInt32 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是高位截断的策略

func wrappingAdd

public func wrappingAdd(y: UInt32): UInt32

功能:加法运算出现溢出,高位截断。

参数:

  • y:另一个 UInt32

返回值:算数结果

func wrappingSub

public func wrappingSub(y: UInt32): UInt32

功能:减法运算出现溢出,高位截断。

参数:

  • y:另一个 UInt32

返回值:算数结果

func wrappingMul

public func wrappingMul(y: UInt32): UInt32

功能:乘法运算出现溢出,高位截断。

参数:

  • y:另一个 UInt32

返回值:算数结果

func wrappingDiv

public func wrappingDiv(y: UInt32): UInt32

功能:除法运算出现溢出,高位截断。

参数:

  • y:另一个 UInt32

返回值:算数结果

func wrappingMod

public func wrappingMod(y: UInt32): UInt32

功能:取余运算出现溢出,高位截断。

参数:

  • y:另一个 UInt32

返回值:算数结果

func wrappingInc

public func wrappingInc(): UInt32

功能:自增运算出现溢出,高位截断。

返回值:算数结果

func wrappingDec

public func wrappingDec(): UInt32

功能:自减运算出现溢出,高位截断。

返回值:算数结果

func wrappingNeg

public func wrappingNeg(): UInt32

功能:负号运算出现溢出,高位截断。

返回值:算数结果

extend UInt32 <: SaturatingOp

extend UInt32 <: SaturatingOp<UInt32>

UInt32 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是饱和的策略

func saturatingAdd

public func saturatingAdd(y: UInt32): UInt32

功能:加法运算出现溢出,饱和处理。

参数:

  • y:另一个 UInt32

返回值:算数结果

func saturatingSub

public func saturatingSub(y: UInt32): UInt32

功能:减法运算出现溢出,饱和处理。

参数:

  • y:另一个 UInt32

返回值:算数结果

func saturatingMul

public func saturatingMul(y: UInt32): UInt32

功能:乘法运算出现溢出,饱和处理。

参数:

  • y:另一个 UInt32

返回值:算数结果

func saturatingDiv

public func saturatingDiv(y: UInt32): UInt32

功能:除法运算出现溢出,饱和处理。

参数:

  • y:另一个 UInt32

返回值:算数结果

func saturatingMod

public func saturatingMod(y: UInt32): UInt32

功能:取余运算出现溢出,饱和处理。

参数:

  • y:另一个 UInt32

返回值:算数结果

func saturatingInc

public func saturatingInc(): UInt32

功能:自增运算出现溢出,饱和处理。

返回值:算数结果

func saturatingDec

public func saturatingDec(): UInt32

功能:自减运算出现溢出,饱和处理。

返回值:算数结果

func saturatingNeg

public func saturatingNeg(): UInt32

功能:负号运算出现溢出,饱和处理。

返回值:算数结果

extend UInt32 <: CheckedOp

extend UInt32 <: CheckedOp<UInt32>

UInt32 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是返回 Option 类型的策略

func checkedAdd

public func checkedAdd(y: UInt32): Option<UInt32>

功能:加法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UInt32

返回值:Option 类型

func checkedSub

public func checkedSub(y: UInt32): Option<UInt32>

功能:减法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UInt32

返回值:Option 类型

func checkedMul

public func checkedMul(y: UInt32): Option<UInt32>

功能:乘法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UInt32

返回值:Option 类型

func checkedDiv

public func checkedDiv(y: UInt32): Option<UInt32>

功能:除法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UInt32

返回值:Option 类型

func checkedMod

public func checkedMod(y: UInt32): Option<UInt32>

功能:取余运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UInt32

返回值:Option 类型

func checkedInc

public func checkedInc(): Option<UInt32>

功能:自增运算出现溢出,返回 Option.None。

返回值:Option 类型

func checkedDec

public func checkedDec(): Option<UInt32>

功能:自减运算出现溢出,返回 Option.None。

返回值:Option 类型

func checkedNeg

public func checkedNeg(): Option<UInt32>

功能:负号运算出现溢出,返回 Option.None。

返回值:Option 类型

extend UInt64 <: ThrowingOp

extend UInt64 <: ThrowingOp<UInt64>

UInt64 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是抛出异常的策略

func throwingAdd

public func throwingAdd(y: UInt64): UInt64

功能:加法运算出现溢出,抛异常。

参数:

  • y:另一个 UInt64

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingSub

public func throwingSub(y: UInt64): UInt64

功能:减法运算出现溢出,抛异常。

参数:

  • y:另一个 UInt64

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingMul

public func throwingMul(y: UInt64): UInt64

功能:乘法运算出现溢出,抛异常。

参数:

  • y:另一个 UInt64

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingDiv

public func throwingDiv(y: UInt64): UInt64

功能:除法运算出现溢出,抛异常。

参数:

  • y:另一个 UInt64

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingMod

public func throwingMod(y: UInt64): UInt64

功能:取余运算出现溢出,抛异常。

参数:

  • y:另一个 UInt64

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingInc

public func throwingInc(): UInt64

功能:自增运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingDec

public func throwingDec(): UInt64

功能:自减运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingNeg

public func throwingNeg(): UInt64

功能:负号运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

extend UInt64 <: WrappingOp

extend UInt64 <: WrappingOp<UInt64>

UInt64 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是高位截断的策略

func wrappingAdd

public func wrappingAdd(y: UInt64): UInt64

功能:加法运算出现溢出,高位截断。

参数:

  • y:另一个 UInt64

返回值:算数结果

func wrappingSub

public func wrappingSub(y: UInt64): UInt64

功能:减法运算出现溢出,高位截断。

参数:

  • y:另一个 UInt64

返回值:算数结果

func wrappingMul

public func wrappingMul(y: UInt64): UInt64

功能:乘法运算出现溢出,高位截断。

参数:

  • y:另一个 UInt64

返回值:算数结果

func wrappingDiv

public func wrappingDiv(y: UInt64): UInt64

功能:除法运算出现溢出,高位截断。

参数:

  • y:另一个 UInt64

返回值:算数结果

func wrappingMod

public func wrappingMod(y: UInt64): UInt64

功能:取余运算出现溢出,高位截断。

参数:

  • y:另一个 UInt64

返回值:算数结果

func wrappingInc

public func wrappingInc(): UInt64

功能:自增运算出现溢出,高位截断。

返回值:算数结果

func wrappingDec

public func wrappingDec(): UInt64

功能:自减运算出现溢出,高位截断。

返回值:算数结果

func wrappingNeg

public func wrappingNeg(): UInt64

功能:负号运算出现溢出,高位截断。

返回值:算数结果

extend UInt64 <: SaturatingOp

extend UInt64 <: SaturatingOp<UInt64>

UInt64 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是饱和的策略

func saturatingAdd

public func saturatingAdd(y: UInt64): UInt64

功能:加法运算出现溢出,饱和处理。

参数:

  • y:另一个 UInt64

返回值:算数结果

func saturatingSub

public func saturatingSub(y: UInt64): UInt64

功能:减法运算出现溢出,饱和处理。

参数:

  • y:另一个 UInt64

返回值:算数结果

func saturatingMul

public func saturatingMul(y: UInt64): UInt64

功能:乘法运算出现溢出,饱和处理。

参数:

  • y:另一个 UInt64

返回值:算数结果

func saturatingDiv

public func saturatingDiv(y: UInt64): UInt64

功能:除法运算出现溢出,饱和处理。

参数:

  • y:另一个 UInt64

返回值:算数结果

func saturatingMod

public func saturatingMod(y: UInt64): UInt64

功能:取余运算出现溢出,饱和处理。

参数:

  • y:另一个 UInt64

返回值:算数结果

func saturatingInc

public func saturatingInc(): UInt64

功能:自增运算出现溢出,饱和处理。

返回值:算数结果

func saturatingDec

public func saturatingDec(): UInt64

功能:自减运算出现溢出,饱和处理。

返回值:算数结果

func saturatingNeg

public func saturatingNeg(): UInt64

功能:负号运算出现溢出,饱和处理。

返回值:算数结果

extend UInt64 <: CheckedOp

extend UInt64 <: CheckedOp<UInt64>

UInt64 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是返回 Option 类型的策略

func checkedAdd

public func checkedAdd(y: UInt64): Option<UInt64>

功能:加法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UInt64

返回值:Option 类型

func checkedSub

public func checkedSub(y: UInt64): Option<UInt64>

功能:减法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UInt64

返回值:Option 类型

func checkedMul

public func checkedMul(y: UInt64): Option<UInt64>

功能:乘法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UInt64

返回值:Option 类型

func checkedDiv

public func checkedDiv(y: UInt64): Option<UInt64>

功能:除法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UInt64

返回值:Option 类型

func checkedMod

public func checkedMod(y: UInt64): Option<UInt64>

功能:取余运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UInt64

返回值:Option 类型

func checkedInc

public func checkedInc(): Option<UInt64>

功能:自增运算出现溢出,返回 Option.None。

返回值:Option 类型

func checkedDec

public func checkedDec(): Option<UInt64>

功能:自减运算出现溢出,返回 Option.None。

返回值:Option 类型

func checkedNeg

public func checkedNeg(): Option<UInt64>

功能:负号运算出现溢出,返回 Option.None。

返回值:Option 类型

extend UIntNative <: ThrowingOp

extend UIntNative <: ThrowingOp<UIntNative>

UIntNative 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是抛出异常的策略

func throwingAdd

public func throwingAdd(y: UIntNative): UIntNative

功能:加法运算出现溢出,抛异常。

参数:

  • y:另一个 UIntNative 数

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingSub

public func throwingSub(y: UIntNative): UIntNative

功能:减法运算出现溢出,抛异常。

参数:

  • y:另一个 UIntNative 数

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingMul

public func throwingMul(y: UIntNative): UIntNative

功能:乘法运算出现溢出,抛异常。

参数:

  • y:另一个 UIntNative 数

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingDiv

public func throwingDiv(y: UIntNative): UIntNative

功能:除法运算出现溢出,抛异常。

参数:

  • y:另一个 UIntNative 数

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingMod

public func throwingMod(y: UIntNative): UIntNative

功能:取余运算出现溢出,抛异常。

参数:

  • y:另一个 UIntNative 数

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingInc

public func throwingInc(): UIntNative

功能:自增运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingDec

public func throwingDec(): UIntNative

功能:自减运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

func throwingNeg

public func throwingNeg(): UIntNative

功能:负号运算出现溢出,抛异常。

返回值:算数结果

异常:

  • OverflowException:溢出时抛出异常

extend UIntNative <: WrappingOp

extend UIntNative <: WrappingOp<UIntNative>

UIntNative 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是高位截断的策略

func wrappingAdd

public func wrappingAdd(y: UIntNative): UIntNative

功能:加法运算出现溢出,高位截断。

参数:

  • y:另一个 UIntNative 数

返回值:算数结果

func wrappingSub

public func wrappingSub(y: UIntNative): UIntNative

功能:减法运算出现溢出,高位截断。

参数:

  • y:另一个 UIntNative 数

返回值:算数结果

func wrappingMul

public func wrappingMul(y: UIntNative): UIntNative

功能:乘法运算出现溢出,高位截断。

参数:

  • y:另一个 UIntNative 数

返回值:算数结果

func wrappingDiv

public func wrappingDiv(y: UIntNative): UIntNative

功能:除法运算出现溢出,高位截断。

参数:

  • y:另一个 UIntNative 数

返回值:算数结果

func wrappingMod

public func wrappingMod(y: UIntNative): UIntNative

功能:取余运算出现溢出,高位截断。

参数:

  • y:另一个 UIntNative 数

返回值:算数结果

func wrappingInc

public func wrappingInc(): UIntNative

功能:自增运算出现溢出,高位截断。

返回值:算数结果

func wrappingDec

public func wrappingDec(): UIntNative

功能:自减运算出现溢出,高位截断。

返回值:算数结果

func wrappingNeg

public func wrappingNeg(): UIntNative

功能:负号运算出现溢出,高位截断。

返回值:算数结果

extend UIntNative <: SaturatingOp

extend UIntNative <: SaturatingOp<UIntNative>

UIntNative 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是饱和的策略

func saturatingAdd

public func saturatingAdd(y: UIntNative): UIntNative

功能:加法运算出现溢出,饱和处理。

参数:

  • y:另一个 UIntNative 数

返回值:算数结果

func saturatingSub

public func saturatingSub(y: UIntNative): UIntNative

功能:减法运算出现溢出,饱和处理。

参数:

  • y:另一个 UIntNative 数

返回值:算数结果

func saturatingMul

public func saturatingMul(y: UIntNative): UIntNative

功能:乘法运算出现溢出,饱和处理。

参数:

  • y:另一个 UIntNative 数

返回值:算数结果

func saturatingDiv

public func saturatingDiv(y: UIntNative): UIntNative

功能:除法运算出现溢出,饱和处理。

参数:

  • y:另一个 UIntNative 数

返回值:算数结果

func saturatingMod

public func saturatingMod(y: UIntNative): UIntNative

功能:取余运算出现溢出,饱和处理。

参数:

  • y:另一个 UIntNative 数

返回值:算数结果

func saturatingInc

public func saturatingInc(): UIntNative

功能:自增运算出现溢出,饱和处理。

返回值:算数结果

func saturatingDec

public func saturatingDec(): UIntNative

功能:自减运算出现溢出,饱和处理。

返回值:算数结果

func saturatingNeg

public func saturatingNeg(): UIntNative

功能:负号运算出现溢出,饱和处理。

返回值:算数结果

extend UIntNative <: CheckedOp

extend UIntNative <: CheckedOp<UIntNative>

UIntNative 类型为内置类型,这里为其扩展算数运算溢出策略的实现,此处是返回 Option 类型的策略

func checkedAdd

public func checkedAdd(y: UIntNative): Option<UIntNative>

功能:加法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UIntNative 数

返回值:Option 类型

func checkedSub

public func checkedSub(y: UIntNative): Option<UIntNative>

功能:减法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UIntNative 数

返回值:Option 类型

func checkedMul

public func checkedMul(y: UIntNative): Option<UIntNative>

功能:乘法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UIntNative 数

返回值:Option 类型

func checkedDiv

public func checkedDiv(y: UIntNative): Option<UIntNative>

功能:除法运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UIntNative 数

返回值:Option 类型

func checkedMod

public func checkedMod(y: UIntNative): Option<UIntNative>

功能:取余运算出现溢出,返回 Option.None。

参数:

  • y:另一个 UIntNative 数

返回值:Option 类型

func checkedInc

public func checkedInc(): Option<UIntNative>

功能:自增运算出现溢出,返回 Option.None。

返回值:Option 类型

func checkedDec

public func checkedDec(): Option<UIntNative>

功能:自减运算出现溢出,返回 Option.None。

返回值:Option 类型

func checkedNeg

public func checkedNeg(): Option<UIntNative>

功能:负号运算出现溢出,返回 Option.None。

返回值:Option 类型

示例

抛出异常策略的示例

下面是 Int64 类型抛出异常策略的使用示例。

代码如下:

from std import overflow.*
from std import math.*

main() {
    let a: Int64 = Int64.Max
    println(a.throwingAdd(1))
    return 0
}

运行结果如下:

An exception has occurred:
OverflowException: add

高位截断策略的示例

下面是 Int8 类型高位截断策略的使用示例。

代码如下:

from std import overflow.*
from std import math.*

main() {
    let a: Int8 = Int8.Max
    println(a.wrappingMul(5))
    return 0
}

运行结果如下:

123

饱和策略的示例

下面是 UInt16 类型饱和策略的使用示例。

代码如下:

from std import overflow.*
from std import math.*

main() {
    let a:UInt16 = UInt16.Max / 8 + 1
    println(a.saturatingMul(16))
    return 0
}

运行结果如下:

65535

返回Option策略的示例

下面是 Int64 类型返回Option策略的使用示例。

代码如下:

from std import overflow.*
from std import math.*

main() {
    let a:Int64 = Int64.Max / 8 + 1
    println(a.checkedPow(UInt64(2)))
    return 0
}

运行结果如下:

None