Processing math: 100%
View on GitHub

cp-library

2 次元整数座標のデータ型

C++ 用ライブラリ一覧に戻る

ソースコード

nachia/geometry/veci2.hpp

主な機能

2 次元整数座標を扱うデータ型を提供する。

構造体テンプレート VecI2

テンプレート引数

template<class Int = long long, class Int2 = long long>
struct VecI2;

通常使用する整数型 Int と、乗算結果のための大きい整数型 Int2 を設定できる。

コンストラクタ

VecI2();                      // (1)
VecI2(std::pair<Int, Int> _p) // (2)
VecI2(Int _x, Int _y);        // (3)

基本的な演算子

VecI2& operator+=(VecI2 r);
VecI2& operator-=(VecI2 r);
VecI2& operator*=(Int r);
VecI2 operator+(VecI2 r) const;
VecI2 operator-(VecI2 r) const;
VecI2 operator*(Int r) const;
VecI2 operator-() const;

加減算と定数倍。

内積

Int2 operator*(VecI2 r) const;  // (1)
Int2 norm() const;              // (2)

行列式

Int2 operator^(VecI2 r);

this(x1,y1)r(x2,y2) とするとき、 x1y2x2y1 の値を計算して返す。

辞書順比較

static bool compareYX(VecI2 a, VecI2 b); // (1)
static bool compareXY(VecI2 a, VecI2 b); // (2)
bool operator<(VecI2 r) const;           // (3)

TOP PAGE