equal
deleted
inserted
replaced
1081 _v2 = _v2 - ((_v2 >> 1) & 0x55555555); |
1081 _v2 = _v2 - ((_v2 >> 1) & 0x55555555); |
1082 _v2 = (_v2 & 0x33333333) + ((_v2 >> 2) & 0x33333333); |
1082 _v2 = (_v2 & 0x33333333) + ((_v2 >> 2) & 0x33333333); |
1083 _v2 = ((_v2 + (_v2 >> 4)) & 0x0F0F0F0F); |
1083 _v2 = ((_v2 + (_v2 >> 4)) & 0x0F0F0F0F); |
1084 |
1084 |
1085 _cnt = ((_v1 * 0x01010101) >> 24) + ((_v2 * 0x01010101) >> 24); |
1085 _cnt = ((_v1 * 0x01010101) >> 24) + ((_v2 * 0x01010101) >> 24); |
1086 return __c__._RETURN( STInteger._qnew( _cnt ) ); |
1086 return __c__._RETURN( STInteger._qnew( (byte)(_cnt) ) ); |
1087 #else |
1087 #else |
1088 unsigned int _cnt; |
1088 unsigned int _cnt; |
1089 |
1089 |
1090 // popcnt is slower |
1090 // popcnt is slower |
1091 # if 0 // defined(__GNUC__) && (defined(__x86__) || defined(__x86_64__)) |
1091 # if 0 // defined(__GNUC__) && (defined(__x86__) || defined(__x86_64__)) |