// 種々の処理を行うためのライブラリ
#ifndef MK_Misc_Lib

#include <dialogs.hpp>

// インライン関数
// データの交換
template <class T> inline void swap(T &a, T &b)
{ T tmp = a; a = b; b = tmp; }

// 丸め
inline int round(double x)
{ return (x>=0.0) ? (int)(x+0.5) : (int)(x-0.5); };

// 2乗
template <class T> inline T pow2(T x)
{ return (x*x); };

// 3乗
template <class T> inline T pow3(T x)
{ return (x*x*x); };


// 通常の関数のプロトタイプ宣言

// Edit から入力された浮動小数点数の検査
bool __fastcall testDouble(TEdit *Edit, double &x);

// Edit から入力された整数の検査
bool __fastcall testInt(TEdit *Edit, int &x);

// エラーメッセージ出力と強制終了
void __fastcall errExit(AnsiString s);

// 処理の中断と，再開または強制終了
void __fastcall msgPause(AnsiString s = "");

#define MK_Misc_Lib
#endif
