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 |
| | |||||
* | 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) | ||||
* | lesson40_*: Resolve midpoint sum overflow, mention std::midpoint | Sven Göthel | 2024-05-06 | 3 | -6/+13 |
| | |||||
* | 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? | ||||
* | 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) | ||||
* | 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 | 7 | -4/+897 |
|\ | |||||
| * | 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 | 1 | -1/+1 |
| | | |||||
| * | 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 |
|/ | |||||
* | Move to C++20 and cmake build system, detail IDE integration (Eclipse + VS ↵ | Sven Gothel | 2022-12-07 | 8 | -55/+87 |
| | | | | Code(ium)) | ||||
* | add lesson25 oop virtl01 | Sven Gothel | 2022-12-07 | 1 | -0/+67 |
| | |||||
* | Remove filename from header doc | Sven Gothel | 2022-12-07 | 7 | -7/+0 |
| | |||||
* | 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 | 8 | -163/+946 |
| | | | | less02_geometry0. | ||||
* | Remove 'Version' from file header as we utilize git for versioning | Sven Gothel | 2022-10-22 | 4 | -4/+0 |
| | |||||
* | Fix file header Copyright, add License (MIT) | Sven Gothel | 2022-10-22 | 4 | -7/+11 |
| | | | | | 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 | ||||
* | Lesson 02: Things occupying space, actual memory for data and code ↵ | Sven Gothel | 2022-10-21 | 1 | -0/+127 |
| | | | | accessible via references and pointers. | ||||
* | Lesson 01: Describe polymorphic function-pointer usage; Unify `paint_func` ↵ | Sven Gothel | 2022-10-21 | 1 | -35/+149 |
| | | | | | | | | | | args: sz, dx, sx for all objects; .. Unify `paint_func` args: sz, dx, sx for all objects Describe polymorphic function-pointer and lambda utilization for object agnostic rendering loop. Add square object paint function, adding a most simple object rendering. | ||||
* | Lesson 01: Add notion of centroid or barycenter to disk rendering implementation | Sven Gothel | 2022-10-20 | 1 | -0/+4 |
| | |||||
* | Makefile: Add -Wextra for more strict warnings -> errors | Sven Gothel | 2022-10-20 | 2 | -0/+12 |
| | |||||
* | Lesson 01: Complete task. Added array of callables (function pointer) using ↵ | Sven Gothel | 2022-10-20 | 1 | -1/+116 |
| | | | | lambda to permutate through different geometric objects | ||||
* | Lesson 01: Complete task setup | Sven Gothel | 2022-10-20 | 1 | -11/+160 |
| | |||||
* | Lesson01: Draw a pyramic on the console (WIP) | Sven Gothel | 2022-10-19 | 1 | -0/+40 |
| | |||||
* | Clarify loop expressions using different C++ constructs | Sven Gothel | 2022-10-19 | 1 | -11/+45 |
| | |||||
* | Provide header file for lesson00_module's exported function in explicit ↵ | Sven Gothel | 2022-10-19 | 2 | -2/+4 |
| | | | | include folder | ||||
* | lesson00: Refine wording on things .. not sure yet, sounds funny but doesn't ↵ | Sven Gothel | 2022-10-12 | 1 | -1/+1 |
| | | | | address types and their instance. | ||||
* | Lesson 00 Update | Sven Gothel | 2022-10-11 | 2 | -17/+65 |
| | |||||
* | Initial commit | Sven Gothel | 2022-10-11 | 2 | -0/+76 |