Comments (6)
Hello @xamidi this is now fixed by #336, see change set b3f4aac
Please use either the command line switch when callinng the compiler:
-DWIDE_INTEGER_DISABLE_PRIVATE_CLASS_DATA_MEMBERS
or
#define WIDE_INTEGER_DISABLE_PRIVATE_CLASS_DATA_MEMBERS
above the inclusion of the uintwide_t.h
header file.
from wide-integer.
Thank you for the quick fix. I switched to the original file already, and all seems good.
Great! Thank you @xamidi for raising this interesting issue. Glad it works.
If you encounter anything else or have future ideas, please feel free to stop by.
from wide-integer.
... tried to use
math::wide_integer::uint256_t
as a template parameter, but it failed with an error ...
... the existence of non-public data members
Thank you for your query. I must admit, I have never tried this exact kind of templatization. Please allow me to take a look at a few options regarding compatibility and get back to your query shortly.
I would not immediately want to make the private data members public, but we might consider doing this with a new, specific compiler switch.
Anyway, please allow me to investigate your query a bit. i'll get back with suggestions...
Kind regards, Chris
from wide-integer.
Proposed solution:
#define WIDE_INTEGER_DISABLE_PRIVATE_CLASS_DATA_MEMBERS
This optional macro can be used to disable uintwide_t
's private data members and make them public. This allows the uintwide_t
class to be used as a structured class object, such as is needed for constant-valued template parameters in the sense of C++20's constexpr
-ness.
Making private data members public is unusual for some designs so the default value is WIDE_INTEGER_DISABLE_PRIVATE_CLASS_DATA_MEMBERS
disabled and uintwide_t
's data members remain private.
from wide-integer.
The repair is cycling in CI.
Cc: @xamidi
from wide-integer.
Thank you for the quick fix. I switched to the original file already, and all seems good. :)
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
- 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.