mercredi 29 avril 2015

How to get the coefficient from a std::decimal?

Background

I want to write an is_even( decimal::decimal64 d ) function that returns true if the least-significant digit is even.

Unfortunately, I can't seem to find any methods to extract the coefficient from a decimal64.

Code

#include <iostream>
#include <decimal/decimal>

using namespace std;

static bool is_even( decimal::decimal64 d )
{
    return true;  // fix this - any way to get coefficient of d?
}
int main()
{
    auto d1 = decimal::make_decimal64( 60817ull, -4 );   // not even
    auto d2 = decimal::make_decimal64( 60816ull, -4 );   // is even

    cout << decimal64_to_float( d1 ) << " " << is_even( d1 ) << endl; 
    cout << decimal64_to_float( d2 ) << " " << is_even( d2 ) << endl;

    return 0;
}

Aucun commentaire:

Enregistrer un commentaire