#include <GenericOperation.h>
Public メソッド | |
Type | operator() (OpEmulationState *opState) |
GenericOperation.h の 938 行で定義されています。
Type Onikiri::EmulatorUtility::Operation::NumberOfTrailingZeros< Type, TSrc >::operator() | ( | OpEmulationState * | opState | ) | [inline] |
GenericOperation.h の 940 行で定義されています。
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 }