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