Project Nayuki
5990e6a99c
- In the project (top-level) readme file, kept one language's code example and moved all others out to language-specific readme files.
...
- Added a readme file for each programming language implementation (port) if it didn't already have one, mostly by copying the project readme text, and then added/edited a couple of feature points.
3 years ago
Project Nayuki
ad537b93d9
Changed C++, Rust, Python code to use debug-mode assertions that can be disabled, similar to Java's assert, corresponding to the logic in the Java language port.
3 years ago
Project Nayuki
68cddb816d
Improved some assertion error messages, corresponding to Rust's unreachable!().
3 years ago
Project Nayuki
845eab6f36
Simplified a bit of code.
3 years ago
Project Nayuki
c7ab2582aa
Added value range assertions to QrCode.getPenaltyScore(), in all language ports.
3 years ago
Project Nayuki
97b2d9d71c
Added class section comments to C++ code, related to commit 096c70cd4d
.
3 years ago
Project Nayuki
5300e400ec
Renamed C++ output library file, avoiding conflict with C library if both get installed system-wide.
3 years ago
Project Nayuki
0e80f23c04
Reordered QrSegment.{isNumeric(),isAlphanumeric()} in {C, C++, Rust} versions.
3 years ago
Project Nayuki
764749bd8a
Added spaces around multiplication operators in QrCode.getAlignmentPatternPositions() for all language versions, for consistency with other code.
3 years ago
Project Nayuki
2261248957
Removed the test worker program in every language and the Python batch tester, because this is not core functionality and is hard to explain.
3 years ago
Project Nayuki
d4080974f2
Renamed the C++ library source files to qrcodegen, because there's no longer a file per class, related to commit 096c70cd4d
.
3 years ago
Project Nayuki
cd037d9149
In C++ version: moved QrCode.toSvgString() out of the library and into the runnable demo program, slightly adapted some code, updated documentation comments.
3 years ago
Project Nayuki
1fd0216dfe
Changed the word "black" to "dark" in {comments, local variables,} in order to match the vocabulary in the QR Code specification document.
3 years ago
Project Nayuki
99e7d59383
Changed the word "white" to "light" in {comments, local variables, a private C function} in order to match the vocabulary in the QR Code specification document.
3 years ago
Project Nayuki
0532c7a237
Merged.
3 years ago
Project Nayuki
2aed7af53e
Updated field and method in C++ code in order to store `Mode` objects by pointer instead of value.
3 years ago
Project Nayuki
772a311c56
Tweaked a bit of C++ code to use strict bounds checking for consistency.
3 years ago
Project Nayuki
68b2b7782b
Simplified Java and C++ code to remove unnecessary `this`, also improving consistency with other field assignments, enabled by a local variable renaming in commit 67c62461d3
.
3 years ago
Project Nayuki
a999dca15f
Simplified an expression because C++11 natively supports for-each over a braced list, without needing to construct a typed object.
3 years ago
Project Nayuki
455e0b2427
Merged.
4 years ago
Neil Haran
0df0908723
In C++ version, use const-reference in QrSegment ctor rather than deep copy.
4 years ago
Thomas Klausner
5217af7cf6
Honor LDFLAGS when building executables.
5 years ago
Project Nayuki
13a25580a3
Simplified QrCode.getPenalty() in all language versions except Rust, related to commit 1439e8e4a5
.
5 years ago
Project Nayuki
096c70cd4d
Reorganized C++ library code into one implementation source file and one header file (instead of 3+3), changing some spacing and ordering, without changing functionality.
5 years ago
Project Nayuki
67c62461d3
Renamed some method parameters to completely avoid variable shadowing, in C++ and Java versions.
5 years ago
Project Nayuki
6e088f72d3
Added an assertion to QrCode.getNumRawDataModules() in all language versions.
5 years ago
Project Nayuki
c5d4709e0e
Tweaked a C++ integer cast.
5 years ago
Project Nayuki
7eac8beffe
Updated C and C++ makefiles to exclude warnings and sanitizers by default, instead recommending extra flags for manually doing a diagnostic/debug build.
5 years ago
Project Nayuki
5efbdc4822
Added whitespace to align some code.
5 years ago
Project Nayuki
a8a91e0d38
In C++ version, fixed all remaining implicit integer signedness conversions with the help of GCC's "-Wsign-conversion" and "-Wconversion".
5 years ago
Project Nayuki
419b5ae2d7
In C++ version, added some more explicit casts for integer signedness and width.
5 years ago
Project Nayuki
1fb40bc113
In C++ version, added explicit integer casts for second argument of calls to BitBuffer.appendBits().
5 years ago
Project Nayuki
c3479c0043
In C++ version, added explicit casts from int/long to uint32_t for first argument of calls to BitBuffer.appendBits().
5 years ago
Project Nayuki
b7c9ccfff9
Simplified and clarified a few bits of code, without changing behavior.
5 years ago
Project Nayuki
b5aaadf758
Demoted ReedSolomonGenerator from a class to a set of functions, and changed some names and comments, in all languages except C. This reduces code verbosity but doesn't change public APIs or visible behavior. The code organization is similar to the finder-like-pattern-detector feature.
5 years ago
Project Nayuki
c5ad557eea
Updated the finder pattern detector logic in the other 6 language versions to match Java code.
5 years ago
Project Nayuki
1ca214499b
Renamed a local variable in all language versions (although the Java version has different logic).
5 years ago
Project Nayuki
ec729bf269
Moved an #include in C++ code for correctness.
6 years ago
Project Nayuki
fd083f70e8
Reordered calls to applyMask()/drawFormatBits() for conceptual clarity, without changing output (because masks don't affect format bits), in all language versions.
6 years ago
Project Nayuki
2359d68243
Tweaked C++ code to inline handleConstructorMasking() because the mask field is private instead of public const.
6 years ago
Project Nayuki
af872343c0
Completely rewrote the algorithm for detecting finder-like patterns, making it more accurate and compliant with the QR Code specification, in all languages.
6 years ago
Project Nayuki
5ac0e2a938
Inverted some if-else statements in QrCode.getPenaltyScore() without changing behavior, in all languages.
6 years ago
Project Nayuki
111b20b2b9
Tweaked logic in QrCode.getPenaltyScore() for future expansion, without changing behavior, in all languages.
6 years ago
Project Nayuki
a14de3d959
Renamed colorX, colorY local variables in QrCode.getPenaltyScore() to just color, in all language versions.
6 years ago
Project Nayuki
c36c4a28eb
Updated Java, C++, Python, Rust worker programs to catch the new exception; removed error message string comparisons.
6 years ago
Project Nayuki
8da8107cc2
Updated QrCode.encodeSegments() to throw DataTooLongException - in Java, C++, Python, Rust code. Rust code also changes return types from Option to Result. Updated Java and Rust documentation.
6 years ago
Project Nayuki
4635e8a8a8
Added new unused "data too long" exception/error class to Java, C++, Python, Rust code.
6 years ago
Project Nayuki
f2ea49b7d4
Tweaked QrCode.drawFormatBits() to use end-exclusive range in second copy for clarity, in most languages.
6 years ago
Project Nayuki
a6ef65d237
Fixed initialization order in C++ code (due to commit 06d80aade3
).
6 years ago
Project Nayuki
c7bc281e18
Inlined BitBuffer.getBytes() into its single usage (with simplification because the bit length is a multiple of 8) in most language versions, synchronized comment and variable name in Rust version.
6 years ago