Boost :: çokduyarlıklı :: sqrt (1) 0Boost :: multiprecision :: sqrt (1) neden 0 döndürüyor? <br> i == 1 <br> mp :: sqrt (i) == 0</p> <p>bunu bekliyoruz:
#include <boost/multiprecision/cpp_int.hpp>
#include <boost/multiprecision/number.hpp>
#include <iostream>
using std::cout;
using std::endl;
int main() {
namespace mp = boost::multiprecision;
mp::cpp_int i(1);
cout << "i == " << i << endl;
cout << "mp::sqrt(i) == " << mp::sqrt(i) << endl;
}
Çıktı dönmek gibi görünüyor sqrt (1) == 1.
Aynı sonuçları coliru ve yerel kurulumumda gcc ve Boost 1.62 ile elde ediyorum. Bu başkalarına mı geliyor? Bir şeyi mi özledim yoksa bu bir böcek mi?
Eeerm, başka ne bekliyorsunuz? –
Sence (1) == 1 – Chad
Bu bir hata gibi% 100 gibi görünüyor ve kenar durumlarda çok zayıf testler. http://coliru.stacked-crooked.com/a/068a750da56b55d1 – stefan