Document of c-modernization-kit (calc dotnet wrapper) 1.0.0
Loading...
Searching...
No Matches
CalcLibrary.cs
Go to the documentation of this file.
1#pragma warning disable 1587
17#pragma warning restore 1587
18
20
21namespace CalcLib
22{
27 public static class CalcLibrary
28 {
32 private const int CALC_SUCCESS = 0;
33
37 private const int CALC_ERROR = -1;
38
62 public static CalcResult Calculate(CalcKind kind, int a, int b)
63 {
64 int returnCode = NativeMethods.CalcHandler((int)kind, a, b, out int result);
65 return new CalcResult(
66 isSuccess: returnCode == CALC_SUCCESS,
67 value: result,
68 errorCode: returnCode
69 );
70 }
71
94 public static int CalculateOrThrow(CalcKind kind, int a, int b)
95 {
96 var result = Calculate(kind, a, b);
97 if (!result.IsSuccess)
98 {
99 throw new CalcException(
100 result.ErrorCode,
101 $"Calculation failed: kind={kind}, a={a}, b={b}, errorCode={result.ErrorCode}");
102 }
103 return result.Value;
104 }
105
118 public static CalcResult Add(int a, int b) => Calculate(CalcKind.Add, a, b);
119
132 public static CalcResult Subtract(int a, int b) => Calculate(CalcKind.Subtract, a, b);
133
146 public static CalcResult Multiply(int a, int b) => Calculate(CalcKind.Multiply, a, b);
147
170 public static CalcResult Divide(int a, int b) => Calculate(CalcKind.Divide, a, b);
171 }
172}
計算演算が失敗した際にスローされる例外。
ネイティブ calc ライブラリを使用して基本的な整数演算を実行するための メソッドを提供します。
static int CalculateOrThrow(CalcKind kind, int a, int b)
計算を実行し、失敗した場合は例外をスローします。
static CalcResult Calculate(CalcKind kind, int a, int b)
指定された演算種別に基づいて計算を実行します。
static CalcResult Divide(int a, int b)
第一の整数を第二の整数で除算します。
static CalcResult Add(int a, int b)
2 つの整数を加算します。
static CalcResult Multiply(int a, int b)
2 つの整数を乗算します。
static CalcResult Subtract(int a, int b)
第一の整数から第二の整数を減算します。
計算演算の結果を表します。
Definition CalcResult.cs:25
CalcKind
計算演算の種別を表します。
Definition CalcKind.cs:24