Comments (6)
I'm not necessarily against doing this, but note that I haved use bool, float and int types in the factorisation to keep the memory footprint small. If we are to enumerate overall a variety of input types then we should probably replace bool with int to minimize the number of combinations.
from qdldl.
I'd agree that there's no real need to let the bool type vary. int
(or something else set at compile-time config) is a reasonable choice.
from qdldl.
I would be happy to insist that the boolean type should always be of type bool (or _Bool), but that doesn't exist in C89. The reason for making it user definable was largely to preserve the option to define it as 'int' if when there is no native boolean type.
If it is to be the same type as the other ints (most likely int64), then there is a fairly large memory penalty if you have a really huge matrix with very low density.
from qdldl.
Another possibility is to specify the types as CMakeLists.txt
options in a qdldl_configure.h.in
file as done for osqp here. The same could be done with the bool
/int
decision for memory usage. What do you think?
from qdldl.
Given that C89/C99 support is known at compile time, it's quite reasonable to let this be a config option or just switch on int/bool with macros based on the value of __STDC_VERSION__
.
from qdldl.
This should be fixed in 2644bc2. CMake flags for doubles and integers + __STDC_VERSION__
check for bools.
from qdldl.
Related Issues (16)
- interop issues with QDLDL_bool and C++ HOT 9
- Release v0.1.3 HOT 2
- etree counting error for very large matrices
- compile error issue HOT 1
- [openSUSE linux] libqdldl.a does not contain a non-empty .text section. The archive was not created with -ffat-lto-objects option. HOT 3
- [openSUSE] How to move file from /usr/lib/ to /usr/lib64? HOT 2
- Compile error on raspberrypi HOT 7
- library output names HOT 1
- Compile error with Windows ninja build HOT 3
- Windows: fatal error C1083: Cannot open include file: 'qdldl_types.h' HOT 3
- [Windows] Error in cmake HOT 2
- Cannot install by py for python 3.10 HOT 3
- Implicit permutation
- Missing documentation and for how to run the tests HOT 2
- Minor compilation warnings
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 qdldl.