Open feixeyes opened 12 years ago
replacing TI by DI is not an option, since then the 128-bit integer would only have 64 bits. See for example http://stackoverflow.com/questions/4559025/what-does-gcc-attribute-modexx-actually-do
The only thing I can do, is to exclude this functionality for 32-bit architectures. The functionality which would not work any more is rrr_vector
Yes,Thank you for your reply. Maybe if the uint128 can be rewritten by use int64 as underly data is a better way to solve this problem.
At the moment, I don't have time to write and test such a class. Do you like to implement this?
yes £¬I would like .I can have a try. ÔÚ 2012-9-3 ÍíÉÏ8:00£¬"Simon Gog" notifications@github.comдµÀ£º
At the moment, I don't have time to write and test such a class. Do you like to implement this?
¡ª Reply to this email directly or view it on GitHubhttps://github.com/simongog/sdsl/issues/26#issuecomment-8236627.
1) I find the uint128_t be defined as below:
typedef unsigned int uint128_t attribute((mode(TI)));
It can't be complier on my box,I google it for that,on 32-bits system the TI should repalce by the DI. But after replace the TI by DI, some new errors appeared. 1.1) ambiguous overload for operator<< in uint128_t when change the defination of uint128_t as typedef unsigned int uint128_t attribute((mode(DI))); Then there is new error,the error infomation as below: /home/feixeyes/include/sdsl/uint128_t.hpp:46: error: ambiguous overload for ��operator<<�� in ��((std::ostream*)os)->std: << (X[j] >> 60)��
:basic_ostream<_CharT, _Traits>::operator<< with _CharT = char, _Traits = std::char_traits
2) ambiguous overload for ��operator<<�� in ��ss << t��
There is a similarity error in the util.hpp
template
std::string util::to_string(const T& t)
{
std::stringstream ss;
ss<<t;
return ss.str();
}
System info: Linux feixeyes-laptop 2.6.32-41-generic #90-Ubuntu SMP Tue May 22 11:31:25 UTC 2012 i686 GNU/LinuxTarget: i486-linux-gnu gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1)