Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add cs0104_lesson_01.cpp .. | Sven Göthel | 2024-10-13 | 2 | -1/+1320 |
| | |||||
* | fix clang-tidy hints | Sven Göthel | 2024-10-13 | 3 | -20/+18 |
| | |||||
* | Update .clang* tool config, generate .clangd at compile time | Sven Göthel | 2024-10-13 | 8 | -103/+181 |
| | |||||
* | doc/Data01: Change to English version (w/ PDF for de + en) | Sven Göthel | 2024-05-23 | 3 | -0/+0 |
| | |||||
* | Add some teaching slides | Sven Göthel | 2024-05-23 | 3 | -0/+0 |
| | |||||
* | lesson23_oop_virtl42: C++ Lesson 2.3 OOP (dreaded diamond problem, ↵ | Sven Göthel | 2024-05-19 | 1 | -0/+469 |
| | | | | inheritance w/ virtual base classes, showing ctor/dtor) | ||||
* | Bump Eclipse .. | Sven Göthel | 2024-05-19 | 1 | -4/+2 |
| | |||||
* | cmake revision: final round (sync w/ jaulib, dropped unused libs and version) | Sven Göthel | 2024-05-19 | 2 | -52/+102 |
| | |||||
* | cmake revision: 1st round | Sven Göthel | 2024-05-19 | 4 | -193/+270 |
| | |||||
* | lesson40_*: Resolve midpoint sum overflow, mention std::midpoint | Sven Göthel | 2024-05-06 | 3 | -6/+13 |
| | |||||
* | cmake: Use CMAKE_CXX_COMPILER_ID instead of CMAKE_COMPILER_IS_GNUCC | Sven Göthel | 2024-05-04 | 1 | -12/+12 |
| | |||||
* | Eclipse settings | Sven Göthel | 2024-05-03 | 1 | -0/+2 |
| | |||||
* | Review of STL iterator + difference_type limitations (half range) compared ↵ | Sven Göthel | 2024-05-03 | 3 | -14/+69 |
| | | | | | | | | | | | | | | | | | to size_t index ops and pointer arithmetic Svenson an I discussed the issue and we were a bit puzzled ;-) So it would have been great to have size_type to be unsigned (ssize_t) to simply constrain and harmonize the whole std::vector (etc) operations. Alternatively, an iterator could have been a pointer type, where such operations are at least tolerated despite similar considerations to ptrdiff_t like void *lo, *hi; lo-hi ! In the meantime, if using iterator and a size, stick to iterator and signed size. | ||||
* | Resolve clang-tidy warnings=error; Notable std::vector<>: size() -> size_t ↵ | Sven Göthel | 2024-05-03 | 10 | -63/+88 |
| | | | | | | | | | | | (unsigned) but iterator and difference_type are signed and losing half of range Because std::vector<>::begin() iterator performs arithmetic using a signed difference_type, we need to use such a signed type here to avoid `bugprone-narrowing-conversions` (LINT) Now, isn't this odd as std::vector<>::size() uses unsigned size_type, aka size_t and mentioned iterator hence lose half the value range possible? | ||||
* | IDE Eclipse CDT: Add CDT-LSP (clangd languages server [protocol]) setup ↵ | Sven Göthel | 2024-05-03 | 7 | -11/+30 |
| | | | | (recommendation), update .clang* settings, recommend llvm-clang 16+ | ||||
* | lesson40_algo12: Cleanup: Use value-reference for pivot-points reducing ↵ | Sven Göthel | 2024-04-24 | 1 | -34/+37 |
| | | | | lookup, rename 'array' -> 'A' | ||||
* | lesson40_algo12: hoare2: Cleanup my own partitioning trial | Sven Göthel | 2024-04-24 | 1 | -38/+1 |
| | |||||
* | lesson40_algo12: Hoare-Yaroslavskiy: Simplify end-partition 2-swaps by ↵ | Sven Göthel | 2024-04-24 | 1 | -17/+11 |
| | | | | pre-swapping hi/lo pivot at start | ||||
* | lesson40_algo12: Hoare-Yaroslavskiy: Use reference to pivots adding ↵ | Sven Göthel | 2024-04-24 | 1 | -5/+15 |
| | | | | std::move for 2x 3-way swap at end of partitioning | ||||
* | lesson40_algo12: Merge partition into qsort; Add Hoare-Yaroslavskiy ↵ | Sven Göthel | 2024-04-23 | 1 | -102/+141 |
| | | | | dual-pivot quicksort variant (claimed >= 10% faster) | ||||
* | Eclipse: Bump CDT settings | Sven Göthel | 2024-04-23 | 1 | -0/+4 |
| | |||||
* | Adding lesson 40: binary-search *01.cpp, +sorted_insert *02 and quicksort ↵ | Sven Göthel | 2024-04-23 | 3 | -45/+728 |
| | | | | *12.cpp, each with optional variations | ||||
* | Add custom std:map lesson (advanced) mapping periods to value | Sven Göthel | 2024-04-20 | 1 | -0/+460 |
| | |||||
* | lesson11: Demo object lifecycle and differentiate ctor and assignment ops ↵ | Sven Göthel | 2024-03-06 | 1 | -0/+188 |
| | | | | (copy, move) | ||||
* | lesson20: Annotate pre- and post-increment | Svenson Han Göthel | 2024-03-06 | 1 | -4/+4 |
| | |||||
* | lesson20: Demonstrate implicit and explicit conversion | Svenson Han Göthel | 2024-03-06 | 1 | -3/+56 |
| | |||||
* | lesson20: demonstrate selection of comparison operator | Svenson Han Göthel | 2024-03-06 | 1 | -10/+32 |
| | |||||
* | Merge remote-tracking branch 'origin' | Svenson Han Göthel | 2024-02-25 | 8 | -20/+898 |
|\ | |||||
| * | lesson24: Add example/note casting shared_ptr<super-class> to ↵ | Sven Göthel | 2024-02-25 | 1 | -0/+5 |
| | | | | | | | | shared_ptr<sub-class> | ||||
| * | Add lesson40: Simple algorithms (starting w/ binary search) | Sven Göthel | 2024-02-25 | 1 | -0/+83 |
| | | |||||
| * | Setup.cmake: Remove USE_LIBCURL and refine debug properties for gnucc '-O0 -g3' | Sven Göthel | 2024-02-25 | 2 | -17/+2 |
| | | |||||
| * | Add lesson2[0-4]: OOP type, inheritance and virtual functions | Sven Göthel | 2024-02-25 | 5 | -3/+808 |
| | | |||||
* | | Split lesson02 for clarity, adding elaborated sum (Gaus) | Svenson Han Göthel | 2024-02-25 | 2 | -6/+108 |
|/ | |||||
* | README: Remove .settings/org.eclipse.cdt.core.prefs note | Sven Gothel | 2022-12-09 | 1 | -1/+0 |
| | |||||
* | README: Add missing 'Building Binaries' node | Sven Gothel | 2022-12-07 | 1 | -0/+2 |
| | |||||
* | Move to C++20 and cmake build system, detail IDE integration (Eclipse + VS ↵ | Sven Gothel | 2022-12-07 | 29 | -301/+1013 |
| | | | | Code(ium)) | ||||
* | add lesson25 oop virtl01 | Sven Gothel | 2022-12-07 | 2 | -1/+74 |
| | |||||
* | Remove filename from header doc | Sven Gothel | 2022-12-07 | 7 | -7/+0 |
| | |||||
* | README: Fix git repo source | Sven Gothel | 2022-12-07 | 1 | -1/+1 |
| | |||||
* | factorial: Annotate expansion of shortcut | Sven Gothel | 2022-11-11 | 1 | -1/+3 |
| | |||||
* | Reorder lessons, add lesson01_function, lesson02_arithmetic, add simplified ↵ | Sven Gothel | 2022-11-11 | 10 | -170/+962 |
| | | | | less02_geometry0. | ||||
* | Remove 'Version' from file header as we utilize git for versioning | Sven Gothel | 2022-10-22 | 5 | -5/+0 |
| | |||||
* | Add COPYING | Sven Gothel | 2022-10-22 | 1 | -0/+23 |
| | |||||
* | Fix file header Copyright, add License (MIT) | Sven Gothel | 2022-10-22 | 5 | -8/+13 |
| | | | | | lesson01.cpp was enhanced in our little cs_class group, hence added participating authors. | ||||
* | Lesson 02: Add: Array and a little piece of pointer-arithmetic | Sven Gothel | 2022-10-22 | 1 | -4/+102 |
| | |||||
* | Lesson 02: Show std::unique_ptr<T> and std::shared_ptr<T> managing the heap ↵ | Sven Gothel | 2022-10-22 | 1 | -0/+32 |
| | | | | automatically | ||||
* | Lesson 01: Pull up ronding to integer type using a constexpr function. | Sven Gothel | 2022-10-22 | 1 | -9/+22 |
| | | | | | | | | | | Resulting of our group's review, we concluded this increases readability. We also realized that implementing the `dx` (x-axis distance) and `sx` parameter (x-axis scaling) distracts from the original task. However, these are the costs to pay to move to a more 'production like' code. Its application is shown within the `main` function of printing all objects in all sizes aligned to their center. | ||||
* | Lesson 02: Add: Source of things, from stack to heap w/o automatic ↵ | Sven Gothel | 2022-10-21 | 1 | -0/+39 |
| | | | | destruction when running out-of-scope! | ||||
* | Lesson 01: disk_[12](): Drop unnecessary rounding and int-cast of integer ↵ | Sven Gothel | 2022-10-21 | 1 | -3/+3 |
| | | | | arithmetik, only needed when scaled w/ float | ||||
* | Makefile: Add lesson02 | Sven Gothel | 2022-10-21 | 1 | -1/+4 |
| |