# CalcLib::CalcLibrary

ネイティブ calc ライブラリを使用して基本的な整数演算を実行するための メソッドを提供します。

# 1 関数

## 1.1 Calculate

    static CalcResult Calculate ( CalcKind kind, int a, int b )

指定された演算種別に基づいて計算を実行します。

    var result = CalcLibrary.Calculate(CalcKind.Add, 10, 20);
    if (result.IsSuccess)
    {
        Console.WriteLine($"Result: {result.Value}"); // 出力: 30
    }
    else
    {
        Console.WriteLine($"Error: {result.ErrorCode}");
    }

### 1.1.1 引数

- kind 実行する計算の種別。
- a 第一オペランド。
- b 第二オペランド。

### 1.1.2 戻り値

結果またはエラー情報を含む CalcResult。 演算が成功したかどうかは CalcResult.IsSuccess で判定してください。

## 1.2 CalculateOrThrow

    static int CalculateOrThrow ( CalcKind kind, int a, int b )

計算を実行し、失敗した場合は例外をスローします。

    try
    {
        int result = CalcLibrary.CalculateOrThrow(CalcKind.Divide, 10, 0);
    }
    catch (CalcException ex)
    {
        Console.WriteLine($"Calculation failed: {ex.Message}");
    }

### 1.2.1 引数

- kind 実行する計算の種別。
- a 第一オペランド。
- b 第二オペランド。

### 1.2.2 例外

#### 1.2.2.1 CalcException 計算が失敗した場合 (例: ゼロ除算または無効な演算種別)。

### 1.2.3 戻り値

計算結果。

## 1.3 Add

    static CalcResult Add ( int a, int b )

2 つの整数を加算します。

    var result = CalcLibrary.Add(5, 3);
    Console.WriteLine(result.Value); // 出力: 8

### 1.3.1 引数

- a 第一オペランド。
- b 第二オペランド。

### 1.3.2 戻り値

和またはエラー情報を含む CalcResult。

## 1.4 Subtract

    static CalcResult Subtract ( int a, int b )

第一の整数から第二の整数を減算します。

    var result = CalcLibrary.Subtract(10, 4);
    Console.WriteLine(result.Value); // 出力: 6

### 1.4.1 引数

- a 第一オペランド (被減数)。
- b 第二オペランド (減数)。

### 1.4.2 戻り値

差またはエラー情報を含む CalcResult。

## 1.5 Multiply

    static CalcResult Multiply ( int a, int b )

2 つの整数を乗算します。

    var result = CalcLibrary.Multiply(6, 7);
    Console.WriteLine(result.Value); // 出力: 42

### 1.5.1 引数

- a 第一オペランド。
- b 第二オペランド。

### 1.5.2 戻り値

積またはエラー情報を含む CalcResult。

## 1.6 Divide

    static CalcResult Divide ( int a, int b )

第一の整数を第二の整数で除算します。

整数除算を実行します。ゼロ除算の場合はエラーとなります (CalcResult.IsSuccess は false)。

    var result = CalcLibrary.Divide(20, 5);
    if (result.IsSuccess)
    {
        Console.WriteLine(result.Value); // 出力: 4
    }

    var errorResult = CalcLibrary.Divide(10, 0);
    Console.WriteLine(errorResult.IsSuccess); // 出力: False

### 1.6.1 引数

- a 第一オペランド (被除数)。
- b 第二オペランド (除数)。

### 1.6.2 戻り値

商またはエラー情報を含む CalcResult。