構造体 テンプレート Onikiri::EmulatorUtility::Operation::NumberOfTrailingZeros< Type, TSrc >

#include <GenericOperation.h>

すべてのメンバ一覧

Public メソッド

Type operator() (OpEmulationState *opState)


説明

template<typename Type, typename TSrc>
struct Onikiri::EmulatorUtility::Operation::NumberOfTrailingZeros< Type, TSrc >

GenericOperation.h938 行で定義されています。


関数

template<typename Type, typename TSrc>
Type Onikiri::EmulatorUtility::Operation::NumberOfTrailingZeros< Type, TSrc >::operator() ( OpEmulationState opState  )  [inline]

GenericOperation.h940 行で定義されています。

00941     {
00942         s64 value = static_cast<Type>( TSrc()(opState));
00943         value = (value&(-value))-1;
00944 
00945         value = (value & 0x55555555) + (value >> 1 & 0x55555555);
00946         value = (value & 0x33333333) + (value >> 2 & 0x33333333);
00947         value = (value & 0x0f0f0f0f) + (value >> 4 & 0x0f0f0f0f);
00948         value = (value & 0x00ff00ff) + (value >> 8 & 0x00ff00ff);
00949         return static_cast<Type>((value & 0x0000ffff) + (value >>16 & 0x0000ffff));
00950     }


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