コード例 #1
0
ファイル: uint128.cpp プロジェクト: jiffe/focalcoin
// Bitwise Operators
template <typename T> T operator&(T lhs, uint128_t rhs){
    T out = lhs & (T) rhs.lower();
    return out;
}
コード例 #2
0
ファイル: uint128.cpp プロジェクト: jiffe/focalcoin
template <typename T> T operator*(T lhs, uint128_t rhs){
    return lhs * rhs.lower();
}
コード例 #3
0
ファイル: uint128.cpp プロジェクト: jiffe/focalcoin
template <typename T> bool operator<=(T lhs, uint128_t rhs){
    if (rhs.upper())
        return true;
    return ((uint64_t) lhs <= rhs.lower());
}
コード例 #4
0
ファイル: uint128.cpp プロジェクト: jiffe/focalcoin
template <typename T> bool operator>=(T lhs, uint128_t rhs){
    if (rhs.upper())
        return false;
    return ((uint64_t) lhs >= rhs.lower());
}
コード例 #5
0
ファイル: uint128.cpp プロジェクト: jiffe/focalcoin
template <typename T> bool operator!=(T lhs, uint128_t rhs){
    return (rhs.upper() | ((uint64_t) lhs != rhs.lower()));
}
コード例 #6
0
ファイル: uint128.cpp プロジェクト: jiffe/focalcoin
// Comparison Operators
template <typename T> bool operator==(T lhs, uint128_t rhs){
    return (!rhs.upper() && ((uint64_t) lhs == rhs.lower()));
}
コード例 #7
0
ファイル: uint128.cpp プロジェクト: jiffe/focalcoin
template <typename T> T operator^=(T & lhs, uint128_t rhs){
    lhs ^= (T) rhs.lower();
    return lhs;
}