BigInt_C_swiftのAPIを簡単に公開します。まずは超基本的APIから
//
// main.swift
// BigInt_for_C_swift
// APIテスト
//
// 1. 初期化・生成
let a = BigInt("1234567890123456789012345678901234567890")
let b = BigInt(1234567890123456789)//19桁まで
//変数を初期化します。
//let a = BigInt("1234567890123456789012345678901234567890")
//数字文字列で初期化します。桁数に制限はありません。
//let : BigInt = "1234567890"
//は使えません。
//let b = BigInt(1234567890123456789)
//整数型で初期化します。整数型の桁数は約19桁に制限されます。
//ただしこの制限は初期化の時のみで、内部の演算に影響されません。
// 2. 基本演算
var x = BigInt("1000")
var y = BigInt("24")
let add = x + y // 1024
let sub = x - y // 976
let mul = x * y // 24000
let div = x / y // 41
let mod = x % y // 16
//div = x / y で割り切れない場合は小数点以下切り下げになります。
// 3.比較演算(Bool)
x = BigInt("1000")
y = BigInt("25")
x == y// false
x != y// true
x < y// false
x <= y// false
x > y// true
x >= y// true
print(x >= y)//true
// 4.判定型(Bool)
let q = BigInt("-12")
q.isZero // false 0ならtrue
q.isEven // true 偶数ならtrue
q.isOdd // false 奇数ならtrue
q.isPositive // false 正の数ならtrue
q.isNegative // true 負の数ならtrue
print(q.isNegative)//true
