Comments (2)
Will you update the code to take advantage of C++14 features? The main one - I found - was return type deduction improvements, meaning far less use of decltype(complicated-expression-duplicating-body-of-function)
in function signatures, replaced with auto
. Much nicer!
from wide-integer.
Will you update the code to take advantage of C++14 features? The main one - I found - was return type deduction improvements
Yes. I have decided to do this. This is a tough choice since it means actually deprecating C++11.
Hi John (@johnmcfarlane) I am glad you asked. I do try to modernize the code (yet honestly I struggle a bit with that).
Some improved features include that (also) interest me (and are interesting for this library) include:
- The one you mention (
auto
return type deduction) - Relaxed constraints on
constexpr
function complexity. - And this one surprised me but
enable_if_t
which I had thought was in C++17. It saves typing in templates but is actually available in 14.
I would have wanted constexpr-if
, but that comes with 17.
Sometimes, I think you might have made the right choice, going straight away to 20 in cnl, as this saves a lot of headache. But I had insisted on some historical embedded applicability. It's hard to know if that even did any good instead of jumping to 20. I will, however, probably remain at 14 for a while and slowly-but-surely try to modernize. I'd like to keep supporting GCC5 (as my avr
platforms need this). Most of this is OK in GCC5's c++11 interpretationi and even still works on GCC4.8's -std=c++1y
.
So in a word, I'll bump up to 14 and subsequently try to modernize.
Again, I'm glad you asked. Thanks John!
from wide-integer.
Related Issues (20)
- equivalent to mp::import_bits, mp::export_bits? HOT 5
- Upgrade docs to use Markdown's own LaTeX interpreter
- Handle Ubuntu 18.04 Deprecation on GHA
- about import_bits/export_bits HOT 9
- Replace (soon to be deprectated) LGTM with GitHub's CodeQL
- Cannot use integers in template parameters due to private data members. HOT 6
- Support signed/unsigned floored division (like Python // operator or divmod) HOT 3
- Adapt for GCC 13 HOT 2
- Halt early in a n_by_n multiplication loop if numbers are small enough HOT 16
- valgrind investigations HOT 6
- Repair GCD reduction which is broken for certain small values
- Refactoring has lead to slight performance drop and needs repair HOT 2
- Add cygwin run in CI HOT 2
- Update and modernize CI HOT 2
- Client request C++14 constexpr-ness HOT 1
- Construction from Constexpr StringView HOT 11
- Clean up constexpr-ness HOT 1
- Coverity scan for `uintwide_t`, example and test software HOT 1
- Repair cygwin in CI and upgrade all CI HOT 1
- wide_integer.h header erroneously uses std::lexicographical compare
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wide-integer.