構造体 テンプレート Onikiri::AlphaLinux::Operation::AlphaMskxl< Type, TSrc1, TSrc2 >

#include <AlphaOperation.h>

すべてのメンバ一覧

Public メソッド

u64 operator() (EmulatorUtility::OpEmulationState *opState) const


説明

template<typename Type, typename TSrc1, typename TSrc2>
struct Onikiri::AlphaLinux::Operation::AlphaMskxl< Type, TSrc1, TSrc2 >

AlphaOperation.h300 行で定義されています。


関数

template<typename Type, typename TSrc1, typename TSrc2>
u64 Onikiri::AlphaLinux::Operation::AlphaMskxl< Type, TSrc1, TSrc2 >::operator() ( EmulatorUtility::OpEmulationState opState  )  const [inline]

AlphaOperation.h302 行で定義されています。

参照先 Type.

00303     {
00304         u64 lhs = TSrc1()(opState);
00305         u64 rhs = TSrc2()(opState);
00306 
00307         int shift_cnt = static_cast<int>( (rhs & 0x7) << 3 );
00308         u64 bit_mask;
00309         int type_bits = sizeof(Type) * 8;
00310         if (type_bits < 64)
00311             bit_mask = (((u64)1 << type_bits) - 1);
00312         else
00313             bit_mask = ~((u64)0);
00314         bit_mask <<= shift_cnt;
00315         bit_mask = ~bit_mask;
00316 
00317         u64 result;
00318         result = lhs & bit_mask;
00319 
00320         return result;
00321     }


この構造体の説明は次のファイルから生成されました:
Onikiri2に対してTue Jun 18 15:24:38 2013に生成されました。  doxygen 1.4.7