UInt256 0.2.2

UInt256 0.2.2

Alexander Cyon 维护。



UInt256 0.2.2

  • 作者:
  • mryu87

UInt256

Build Status Language Platform Carthage Compatible CocoaPods Compatible

一个用 Swift 4 编写的 UInt256 库, CryptoCoinSwift/UInt256 启发

特性

此库提供了一个满足 Swift 的 FixedWidthIntegerUnsignedInteger 协议的 UInt256 结构体。根据苹果公司的说法,这两个是 UInt 成员必要的高级协议:[在此处](https://github.com/apple/swift-evolution/blob/master/proposals/0104-improved-integers.md#proposed-solution)

它支持一组完整的算术运算,以及与其他 UInt 系列成员(如 UInt64UInt32UInt8 等)常见的属性和函数。该库利用了 Karatsuba 快速乘法 算法、征服与分治 除法算法、巴雷特算法 以及其他高效算法。其他特性还包括整数字面量表示(ExpressibleByIntegerLiteral)、默认描述(CustomStringConvertible)和 Hashable

该库完全用 Swift 4 编写。它可以作为 Swift 包Carthage 包CocoaPod 安装。还包括一个作为测试平台的游戏场。

请随时在此处提交新功能请求并报告问题。😃

请使用游戏场来尝试所有功能!

Swift 协议遵循

主要结构体 UInt256 严格遵循以下协议

  • FixedWidthInteger
  • unsignedinteger(无符号整数)
  • BinaryInteger(二进制整数)
  • Numeric(数字)
  • Comparable(可比较的)
  • Equatable(等价的)
  • CustomStringConvertible(自定义字符串可描述的)
  • Hashable(可哈希的)

需求

  • iOS 8.0+ / macOS 10.10+
  • Xcode 8.0+
  • Swift 4

通讯

如果您需要任何帮助或有功能请求,请在此GitHub上打开一个问题;如果您发现了一个错误或想要协助开发,请提交一个pull请求。所有贡献都受欢迎!😃

安装

Carthage

首先,确保已安装Carthage

brew update
brew install carthage

要将此库集成到您的Xcode项目中,只需将以下行放入您的carfile

github "mryu87/UInt256"

最后,运行carthage update以构建框架,并将构建的框架(无论是UInt256_iOS.framework还是UInt256_macOS.framework)拖入您的Xcode项目中

Swift 包管理器

此库也支持 Swift 包管理器。如果您已经设置了swift包配置,请将以下行添加到您的 Package.swift

dependencies: [
    .package(url: "https://github.com/mryu87/UInt256.git", from: "4.0.0")
]

CocoaPods

按照其官方指南安装 CocoaPods。

要使用 CocoaPods 将 UInt256 集成到你的 Xcode 项目中,请在你的 Podfile 中指定它

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'UInt256', :git => 'https://github.com/mryu87/UInt256.git'
end

然后运行 pod install

手动安装

你还可以手动将这个库添加到你的项目中。

在终端中,在你的顶级项目目录下,通过运行以下命令将此库添加为 git submodule

git submodule add https://github.com/mryu87/UInt256.git

请确保 Xcode 打开,在 Finder 中转到你的新的 UInt256 子目录,将 UInt256.xcodeproj 拖放到你的项目导航器的项目中。记得将框架嵌入到你的构建目标中。

下一步...

  • 添加文档
  • 考虑利用 GPU/Metal
  • 基准测试
  • 使 Uint256 符合 FixedWidthInteger
  • 添加示例,最好是使用游乐场
  • 添加 CocoaPods 支持
  • 更多测试、测试覆盖率、边界情况、代码审查
  • 自动化构建和测试运行
  • Karatsuba 乘法
  • 快速求模、除法和其它算法

许可证

此库按照 MIT 许可证发布。请参阅 LICENSE