MeshLib C++ Docs
Loading...
Searching...
No Matches

#include <MRMesh/MRInt64Mul128.h>

Public Member Functions

 Int64Mul128 () noexcept=default
constexpr Int64Mul128 (std::int64_t v) noexcept

Friends

constexpr std::int64_t operator+ (Int64Mul128 a) noexcept
constexpr std::int64_t operator- (Int64Mul128 a) noexcept
constexpr std::int64_t operator+ (Int64Mul128 a, Int64Mul128 b) noexcept
constexpr std::int64_t operator- (Int64Mul128 a, Int64Mul128 b) noexcept
constexpr std::int64_t operator/ (Int64Mul128 a, Int64Mul128 b) noexcept
FastInt128 operator* (Int64Mul128 a, Int64Mul128 b) noexcept
constexpr bool operator== (Int64Mul128 a, Int64Mul128 b) noexcept
constexpr auto operator<=> (Int64Mul128 a, Int64Mul128 b) noexcept

Detailed Description

a 64-bit integer, which product with another one is an exact 128-bit integer obtained by a single widening machine multiplication; addition and subtraction stay 64-bit and can overflow just like std::int64_t

Constructor & Destructor Documentation

◆ Int64Mul128() [1/2]

MR::Int64Mul128::Int64Mul128 ( )
defaultnoexcept

◆ Int64Mul128() [2/2]

MR::Int64Mul128::Int64Mul128 ( std::int64_t v)
inlineconstexprnoexcept

◆ operator*

FastInt128 operator* ( Int64Mul128 a,
Int64Mul128 b )
friend

both arguments are extensions of 64-bit values, which the compiler recognizes

◆ operator+ [1/2]

std::int64_t operator+ ( Int64Mul128 a)
friend

◆ operator+ [2/2]

std::int64_t operator+ ( Int64Mul128 a,
Int64Mul128 b )
friend

◆ operator- [1/2]

std::int64_t operator- ( Int64Mul128 a)
friend

◆ operator- [2/2]

std::int64_t operator- ( Int64Mul128 a,
Int64Mul128 b )
friend

◆ operator/

std::int64_t operator/ ( Int64Mul128 a,
Int64Mul128 b )
friend

◆ operator<=>

auto operator<=> ( Int64Mul128 a,
Int64Mul128 b )
friend

◆ operator==

bool operator== ( Int64Mul128 a,
Int64Mul128 b )
friend

The documentation for this class was generated from the following file: