12GX_CORE_NAMESPACE_BEGIN()
72: _x(static_cast<f32>(point._x))
73, _y(static_cast<f32>(point._y))
300: _x(static_cast<f64>(point._x))
301, _y(static_cast<f64>(point._y))
470 _value = valueF16._value;
476GX_INLINE GxF16::operator f32()
const
478 return f16ToF32(*
this);
496 f32union convertWork;
497 convertWork.floatValue = valueF32;
498 auto integerValue = convertWork.integerValue;
524 s32 exponent = ((integerValue & 0x7f800000) >> 23) - 127 + 15;
529 else if (exponent > 31)
533 s32 sign = integerValue & 0x80000000;
534 s32 fraction = integerValue & 0x007fffff;
537 returnValue.
setValueU16( ((sign >> 16) & 0x8000) | ((exponent << 10) & 0x7c00) | ((fraction >> 13) & 0x03ff) );
560 s32 exponent = ((valueF16.
getValueU16() & 0x7c00) >>10) - 15 + 127;
563 f32union convertWork;
564 convertWork.integerValue = (sign << 16) | ((exponent << 23) & 0x7f800000) | (fraction << 13);
566 return convertWork.floatValue;
684 _value = valueU8N._value;
690GX_INLINE GxU8N::operator f32()
const
692 return u8NToF32(*
this);
705 returnValue.
setValueU8(
static_cast<u8
>(valueF32 * 255.0f));
730 _value[0] = value._value[0];
731 _value[1] = value._value[1];
732 _value[2] = value._value[2];
733 _value[3] = value._value[3];
745 _value[0] = value.
_x;
746 _value[1] = value.
_y;
747 _value[2] = value.
_z;
748 _value[3] = value.
_w;
760 _value[0] = value.
_x;
761 _value[1] = value.
_y;
762 _value[2] = value.
_z;
763 _value[3] = value.
_w;
811 if( 0.0f < valueF32 )
813 ret =
static_cast<u32
>(valueF32 * 511.0f);
817 work =
static_cast<u32
>(valueF32 * -512.0f);
831 u32 sine = valueS10N & 0x200;
838 ret = valueS10N / 511.0f;
842 ret = ((~valueS10N & 0x1FF) + 0x1) / -512.0f;
860 if( 0.0f < valueF32 )
862 ret =
static_cast<u32
>(valueF32 * 1023.0f);
866 work =
static_cast<u32
>(valueF32 * -1024.0f);
880 u32 sine = valueS10N & 0x400;
887 ret = valueS10N / 1023.0f;
891 ret = ((~valueS10N & 0x3FF) + 0x1) / -1024.0f;
926 GX_ASSERT(
false,
"想定外の成分が指定されました");
961 GX_ASSERT(
false,
"想定外の成分が指定されました");
985: _width(rect.getWidth())
986, _height(rect.getHeight())
996, _height(size._height)
1431: _x(static_cast<s32>(vector._x))
1432, _y(static_cast<s32>(vector._y))
1558 return (point0.
_x == point1.
_x) && (point0.
_y == point1.
_y);
1569 return (point0.
_x != point1.
_x) || (point0.
_y != point1.
_y);
1788 auto andRect = *
this & rect;
1789 if(andRect.getWidth() > 0 && andRect.getHeight() > 0)
2068 auto andRect = *
this & rect;
2069 if (andRect.getWidth() > 0 && andRect.getHeight() > 0)
2138 _top =
static_cast<f32
>(rect.
_top);
2145GX_CORE_NAMESPACE_END()
GX_FORCE_INLINE const GxSize operator&(const GxSize &size0, const GxSize &size1)
Definition GxStruct.inl:1192
GX_FORCE_INLINE const GxSize operator/(const GxSize &size, s32 scalar)
Definition GxStruct.inl:1156
GX_FORCE_INLINE const GxSize operator|(const GxSize &size0, const GxSize &size1)
Definition GxStruct.inl:1203
GX_FORCE_INLINE const GxSize operator*(const GxSize &size, s32 scalar)
Definition GxStruct.inl:1132
GX_FORCE_INLINE const GxSize operator+(const GxSize &size, s32 scalar)
Definition GxStruct.inl:1108
GX_FORCE_INLINE b32 operator!=(const GxSize &size0, const GxSize &size1)
Definition GxStruct.inl:1225
GX_FORCE_INLINE const GxSize operator-(const GxSize &size, s32 scalar)
Definition GxStruct.inl:1120
GX_FORCE_INLINE b32 operator==(const GxSize &size0, const GxSize &size1)
Definition GxStruct.inl:1214
static GX_FORCE_INLINE T getMax(const T value0, const T value1)
大きいほうを取得
Definition GxMath.h:174
static GX_FORCE_INLINE T getMin(const T value0, const T value1)
小さいほうを取得
Definition GxMath.h:172
2次元浮動小数点数(倍精度)クラス
Definition GxStruct.h:207
GX_FORCE_INLINE GxDouble2(void)
デフォルトコンストラクタ
Definition GxStruct.h:214
f64 _x
X値
Definition GxStruct.h:260
GX_FORCE_INLINE GxDouble2 & operator=(const GxDouble2 &double2)
代入
Definition GxStruct.inl:322
f64 _y
Y値
Definition GxStruct.h:265
3次元浮動小数点数(倍精度)クラス
Definition GxStruct.h:276
GX_FORCE_INLINE GxDouble3(void)
デフォルトコンストラクタ
Definition GxStruct.h:283
f64 _x
X値
Definition GxStruct.h:327
f64 _z
Z値
Definition GxStruct.h:329
f64 _y
Y値
Definition GxStruct.h:328
GX_FORCE_INLINE GxDouble3 & operator=(const GxVector3d &vector)
代入
Definition GxStruct.inl:394
4次元浮動小数点数(倍精度)クラス
Definition GxStruct.h:338
GX_FORCE_INLINE GxDouble4(void)
デフォルトコンストラクタ
Definition GxStruct.h:345
f64 _z
Z値
Definition GxStruct.h:375
f64 _w
W値
Definition GxStruct.h:376
f64 _x
X値
Definition GxStruct.h:373
GX_FORCE_INLINE GxDouble4 & operator=(const GxVector4d &vector)
代入
Definition GxStruct.inl:435
f64 _y
Y値
Definition GxStruct.h:374
16bit浮動小数
Definition GxStruct.h:386
static GX_FORCE_INLINE f32 f16ToF32(GxF16 valueF16)
16ビットから32ビットの変換
Definition GxStruct.inl:547
constexpr void setValueU16(u16 setValue)
u16で値を設定
Definition GxStruct.h:422
static GX_FORCE_INLINE GxF16 f32ToF16(f32 valueF32)
32ビットから16ビットの変換
Definition GxStruct.inl:486
GX_INLINE GxF16(void)
デフォルトコンストラクタ
Definition GxStruct.inl:450
constexpr u16 getValueU16(void) const
u16で値を取得
Definition GxStruct.h:420
16bit浮動小数2次元ベクトル
Definition GxStruct.h:440
GxF16 _value[2]
値
Definition GxStruct.h:474
GX_FORCE_INLINE GxF16x2 & operator=(const GxF16x2 &value)
代入
Definition GxStruct.inl:577
16bit浮動小数4次元ベクトル
Definition GxStruct.h:483
GxF16 _value[4]
値
Definition GxStruct.h:521
GX_FORCE_INLINE GxF16x4 & operator=(const GxF16x4 &value)
代入
Definition GxStruct.inl:619
2次元浮動小数点数クラス
Definition GxStruct.h:22
GX_FORCE_INLINE GxFloat2(void)
デフォルトコンストラクタ
Definition GxStruct.h:29
GX_FORCE_INLINE GxFloat2 & operator=(const GxFloat2 &float2)
代入
Definition GxStruct.inl:94
f32 _x
X値
Definition GxStruct.h:75
f32 _y
Y値
Definition GxStruct.h:80
3次元浮動小数点数クラス
Definition GxStruct.h:91
f32 _y
Y値
Definition GxStruct.h:143
f32 _x
X値
Definition GxStruct.h:142
GX_FORCE_INLINE GxFloat3(void)
デフォルトコンストラクタ
Definition GxStruct.h:98
GX_FORCE_INLINE GxFloat3 & operator=(const GxVector3 &vector)
代入
Definition GxStruct.inl:166
f32 _z
Z値
Definition GxStruct.h:144
4次元浮動小数点数クラス
Definition GxStruct.h:153
GX_FORCE_INLINE GxFloat4 & operator=(const GxVector4 &vector)
代入
Definition GxStruct.inl:219
f32 _x
X値
Definition GxStruct.h:192
f32 _y
Y値
Definition GxStruct.h:193
f32 _z
Z値
Definition GxStruct.h:194
GX_FORCE_INLINE GxFloat4(void)
デフォルトコンストラクタ
Definition GxStruct.h:160
f32 _w
W値
Definition GxStruct.h:195
32bit[-1, 1]正規化小数3次元ベクトル(11:11:10)
Definition GxStruct.h:646
GX_FORCE_INLINE f32 getValueF32(u32 index) const
f32で値を取得
Definition GxStruct.inl:902
GX_FORCE_INLINE GxPackedNx3 & operator=(const GxPackedNx3 &value)
代入
Definition GxStruct.h:683
static GX_FORCE_INLINE f32 s10NTof32(u32 valueS10N)
10ビットから32ビットの変換
Definition GxStruct.inl:829
static constexpr u32 SHIFT_Y
Y成分シフト量
Definition GxStruct.h:657
static GX_FORCE_INLINE u32 f32ToS10N(f32 valueF32)
32ビットから10ビットの変換
Definition GxStruct.inl:804
static constexpr u32 SHIFT_X
X成分シフト量
Definition GxStruct.h:655
GX_FORCE_INLINE void setValueF32(u32 index, f32 setValue)
f32で値を設定
Definition GxStruct.inl:939
static GX_FORCE_INLINE f32 s11NTof32(u32 valueS11N)
11ビットから32ビットの変換
Definition GxStruct.inl:878
static constexpr u32 SHIFT_Z
Z成分シフト量
Definition GxStruct.h:659
static GX_FORCE_INLINE u32 f32ToS11N(f32 valueF32)
32ビットから11ビットの変換
Definition GxStruct.inl:853
座標
Definition GxStruct.h:867
s32 _y
Y値
Definition GxStruct.h:942
GX_FORCE_INLINE GxPoint2 & operator-=(const GxPoint2 &point)
減算代入
Definition GxStruct.inl:1475
GX_FORCE_INLINE GxPoint2 & operator=(const GxPoint2 &point)
代入
Definition GxStruct.inl:1451
GX_FORCE_INLINE GxPoint2(void)
コンストラクタ
Definition GxStruct.h:885
s32 _x
X値
Definition GxStruct.h:941
GX_FORCE_INLINE GxPoint2 & operator+=(const GxPoint2 &point)
加算代入
Definition GxStruct.inl:1463
クォータニオン
Definition GxQuaternion.h:19
f32 _x
X値
Definition GxQuaternion.h:272
f32 _w
W値
Definition GxQuaternion.h:275
f32 _y
Y値
Definition GxQuaternion.h:273
f32 _z
Z値
Definition GxQuaternion.h:274
実数矩形
Definition GxStruct.h:1100
f32 _left
左辺
Definition GxStruct.h:1231
GX_INLINE b32 isHit(const GxRectF &rect) const
衝突判定
Definition GxStruct.inl:2066
GX_FORCE_INLINE GxRectF & operator+=(const GxRectF &rect)
加算
Definition GxStruct.inl:1874
f32 _bottom
底辺
Definition GxStruct.h:1234
f32 _top
上辺
Definition GxStruct.h:1232
GX_INLINE b32 isIncluding(const GxRectF &rect) const
内包判定
Definition GxStruct.inl:2081
GX_FORCE_INLINE const GxRectF & setGxRect(const GxRect &rect)
GxRect型をセット(セット後に自身を返す)
Definition GxStruct.inl:2136
GX_FORCE_INLINE GxRectF & operator-=(const GxRectF &rect)
減算
Definition GxStruct.inl:1888
BASE
基準位置
Definition GxStruct.h:1113
f32 _right
右辺
Definition GxStruct.h:1233
GX_INLINE void setSize(const GxSize &size, BASE base=BASE::TOP_LEFT)
サイズの変更
Definition GxStruct.inl:2108
GX_FORCE_INLINE GxRectF & operator|=(const GxRectF &rect)
論理和
Definition GxStruct.inl:1944
GX_FORCE_INLINE GxRectF & operator=(const GxRectF &rect)
代入
Definition GxStruct.inl:1860
GX_FORCE_INLINE GxRectF & operator&=(const GxRectF &rect)
論理積
Definition GxStruct.inl:1930
矩形
Definition GxStruct.h:951
GX_FORCE_INLINE GxRect & operator+=(const GxRect &rect)
加算
Definition GxStruct.inl:1594
GX_FORCE_INLINE GxRect & operator|=(const GxRect &rect)
論理和
Definition GxStruct.inl:1664
GX_FORCE_INLINE GxRect & operator&=(const GxRect &rect)
論理積
Definition GxStruct.inl:1650
GX_FORCE_INLINE GxRect & operator-=(const GxRect &rect)
減算
Definition GxStruct.inl:1608
s32 _bottom
底辺
Definition GxStruct.h:1091
GX_INLINE b32 isIncluding(const GxRect &rect) const
内包判定
Definition GxStruct.inl:1801
GX_FORCE_INLINE GxRect & operator=(const GxRect &rect)
代入
Definition GxStruct.inl:1580
GX_INLINE void setSize(const GxSize &size, BASE base=BASE::TOP_LEFT)
サイズの変更
Definition GxStruct.inl:1829
GX_INLINE b32 isHit(const GxRect &rect) const
衝突判定
Definition GxStruct.inl:1786
BASE
基準位置
Definition GxStruct.h:968
s32 _top
上辺
Definition GxStruct.h:1089
s32 _left
左辺
Definition GxStruct.h:1088
s32 _right
右辺
Definition GxStruct.h:1090
サイズ
Definition GxStruct.h:730
GX_FORCE_INLINE const GxSize & subScalar(s32 scalar)
スカラ減算
Definition GxStruct.inl:1338
GX_FORCE_INLINE GxSize & operator+=(s32 scalar)
スカラ加算代入
Definition GxStruct.inl:1017
GX_FORCE_INLINE GxSize & operator=(const GxSize &size)
代入
Definition GxStruct.inl:1005
GX_FORCE_INLINE GxSize & operator&=(const GxSize &size)
論理積
Definition GxStruct.inl:1083
GX_FORCE_INLINE GxSize & operator-=(s32 scalar)
スカラ減算代入
Definition GxStruct.inl:1028
GX_FORCE_INLINE const GxSize & mulScalar(s32 scalar)
スカラ乗算
Definition GxStruct.inl:1351
GX_FORCE_INLINE GxSize(void)
デフォルトコンストラクタ
Definition GxStruct.h:752
GX_FORCE_INLINE GxSize & operator|=(const GxSize &size)
論理和
Definition GxStruct.inl:1095
static GX_FORCE_INLINE const GxSize & getSubScalar(GxSize &dst, const GxSize &size, s32 scalar)
スカラ減算を取得
Definition GxStruct.inl:1252
GX_INLINE b32 isIncluding(const GxPoint2 &point) const
内包判定
Definition GxStruct.inl:1403
GX_FORCE_INLINE GxSize & operator*=(s32 scalar)
スカラ乗算代入
Definition GxStruct.inl:1039
GX_FORCE_INLINE const GxSize & subSize(const GxSize &size)
サイズ減算
Definition GxStruct.inl:1390
s32 _width
幅
Definition GxStruct.h:857
static GX_FORCE_INLINE const GxSize & getDivScalar(GxSize &dst, const GxSize &size, s32 scalar)
スカラ除算を取得
Definition GxStruct.inl:1282
s32 _height
高さ
Definition GxStruct.h:858
static GX_FORCE_INLINE const GxSize & getAddSize(GxSize &dst, const GxSize &size0, const GxSize &size1)
サイズ加算を取得
Definition GxStruct.inl:1297
GX_FORCE_INLINE GxSize & operator/=(s32 scalar)
スカラ除算代入
Definition GxStruct.inl:1050
GX_FORCE_INLINE const GxSize & addSize(const GxSize &size)
サイズ加算
Definition GxStruct.inl:1377
GX_FORCE_INLINE const GxSize & addScalar(s32 scalar)
スカラ加算
Definition GxStruct.inl:1325
static GX_FORCE_INLINE const GxSize & getSubSize(GxSize &dst, const GxSize &size0, const GxSize &size1)
サイズ減算を取得
Definition GxStruct.inl:1312
static GX_FORCE_INLINE const GxSize & getMulScalar(GxSize &dst, const GxSize &size, s32 scalar)
スカラ乗算を取得
Definition GxStruct.inl:1267
static GX_FORCE_INLINE const GxSize & getAddScalar(GxSize &dst, const GxSize &size, s32 scalar)
スカラ加算を取得
Definition GxStruct.inl:1237
GX_FORCE_INLINE const GxSize & divScalar(s32 scalar)
スカラ除算
Definition GxStruct.inl:1364
8bit[0, 1]正規化小数
Definition GxStruct.h:530
static GX_FORCE_INLINE f32 u8NToF32(GxU8N valueU8N)
8ビットから32ビットの変換
Definition GxStruct.inl:715
static GX_FORCE_INLINE GxU8N f32ToU8N(f32 valueF32)
32ビットから8ビットの変換
Definition GxStruct.inl:700
constexpr u8 getValueU8(void) const
u8で値を取得する
Definition GxStruct.h:564
constexpr void setValueU8(u8 setValue)
u8で値を設定する
Definition GxStruct.h:566
GX_INLINE GxU8N(void)
デフォルトコンストラクタ
Definition GxStruct.inl:665
32bit[0, 1]正規化小数4次元ベクトル(8:8:8:8)
Definition GxStruct.h:583
GX_FORCE_INLINE GxU8Nx4 & operator=(const GxU8Nx4 &value)
代入
Definition GxStruct.inl:728
2次元ベクトル
Definition GxVector.h:34
f32 _y
Y値
Definition GxVector.h:235
f32 _x
X値
Definition GxVector.h:234
2次元ベクトル(倍精度)
Definition GxVectord.h:25
f64 _y
Y値
Definition GxVectord.h:226
f64 _x
X値
Definition GxVectord.h:225
3次元ベクトル
Definition GxVector.h:245
f32 _z
Z値
Definition GxVector.h:572
f32 _y
Y値
Definition GxVector.h:571
f32 _x
X値
Definition GxVector.h:570
3次元ベクトル(倍精度)
Definition GxVectord.h:235
f64 _y
Y値
Definition GxVectord.h:487
f64 _x
X値
Definition GxVectord.h:486
f64 _z
Z値
Definition GxVectord.h:488
4次元ベクトル
Definition GxVector.h:582
f32 _x
X値
Definition GxVector.h:793
f32 _w
W値
Definition GxVector.h:796
f32 _y
Y値
Definition GxVector.h:794
f32 _z
Z値
Definition GxVector.h:795
4次元ベクトル(倍精度)
Definition GxVectord.h:497
f64 _w
W値
Definition GxVectord.h:705
f64 _x
X値
Definition GxVectord.h:702
f64 _z
Z値
Definition GxVectord.h:704
f64 _y
Y値
Definition GxVectord.h:703
32bitブーリアン
Definition GxDefine.h:173