
Of course a simpler solution is possible if you just want the numeric constants working for __float128, but it would be nice to make the type a first class C++ type that interoperates with all of Boost.Math. John.
If you would like my opinion, I would recommend creating a backend for boost::multiprecision::number, as John has suggested. The backend *looks* formidable in code, but it is quite lightweight. This would provide a very nice resource for Boost.
But John, don't you already have the wrap? During the review of Multiprecision, you provided evidence of the lightweight overhead of boost::multiprecision::number by implementing a wrap for the native double type. I seem to remember that you implemented this wrap as a template for potentially any native type.
I almost have the wrap - the builtin-type wrapper I provided won't quite work "as is" because __float128 isn't a first class native type. But it's only a cut and paste job to fix it up.
Would this potentially be another project for GSoC 2013?
Might actually be too small for that, although it could be used as a way of getting them started. Proabably not very "exciting" for them either :-( John.