References for other algorithms and techniques used in FET:
-
Generating a random permutation of a vector in linear time (used to shuffle the order of time slots at which an activity can be placed):
Thomas H. Cormen, Charles E. Leiserson and Ronald R. Rivest - Introduction to Algorithms - first edition (in Romanian), Section 8.3, Exercise 8.3-4.
-
Obsolete - it was replaced in FET version 5.44.0: 32 bit random number generator:
Donald E. Knuth - The Art of Computer Programming - Volume 2 - Seminumerical Algorithms, Third Edition (in Romanian), Section 3.6.
-
The 32 bit random number generator named MRG32k3a:
P. L'Ecuyer, ``Good Parameter Sets for Combined Multiple Recursive Random Number Generators'', Shorter version in Operations Research, 47, 1 (1999), 159--164.
http://pubsonline.informs.org/doi/abs/10.1287/opre.47.1.159
Includes ideas and code from the files:
http://simul.iro.umontreal.ca/rng/MRG32k3a.h,
http://simul.iro.umontreal.ca/rng/MRG32k3a.c,
and/or https://www.iro.umontreal.ca/~lecuyer/myftp/papers/combmrg2.c.
Used with permission from the author, Pierre L'Ecuyer (9 March 2020).
-
For the virtual rooms allocation function we used an algorithm for a randomized maximum bipartite matching of minimum cost, inspired and modified from the
Hopcroft-Karp algorithm, which was described and implemented in pseudocode on the Wikipedia internet page:
https://en.wikipedia.org/wiki/Hopcroft%E2%80%93Karp_algorithm.
-
Qt Documentation:
https://doc.qt.io/.
-
A tutorial on pointers and arrays in C, by Ted Jensen, Chapter 9: Pointers and Dynamic Allocation of Memory:
https://pdos.csail.mit.edu/6.828/2014/readings/pointers.pdf
We used the idea of contiguous memory allocation into the dynamic array. We used the idea in the file src/engine/matrix.h.
-
C++ FAQ LITE, by Marshall Cline, Section [13] - Operator overloading, Article [13.12]:
http://parashift.com/c++-faq-lite/.
We used the recommendation to add the () operator for a dynamically allocated matrix, which is not necessarily slower. We used the idea in the file src/engine/matrix.h.
-
References for the Javascript code to highlight similar entries in the HTML timetables (FET code by Volker Dirr) can be found in Les Richardson's Open Admin for Schools:
http://www.openadmin.ca/.
-
https://www.qtcentre.org/threads/53066-QMap-sorting-according-to-QLocale.
-
https://www.qtcentre.org/threads/57210-how-to-change-background-color-of-individual-QHeaderView-section.
-
https://www.qtcentre.org/threads/46841-Can-t-style-QHeaderView-section-selected-in-QSS-stylesheet.
-
https://stackoverflow.com/questions/15519749/how-to-get-widget-background-qcolor.
-
https://stackoverflow.com/questions/22635867/is-it-possible-to-set-the-text-of-the-qtableview-corner-button.
-
https://stackoverflow.com/questions/19555121/how-to-get-current-timestamp-in-milliseconds-since-1970-just-the-way-java-gets.
-
https://stackoverflow.com/questions/31255486/c-how-do-i-convert-a-stdchronotime-point-to-long-and-back.
-
https://stackoverflow.com/questions/18022927/convert-high-resolution-clock-time-into-an-integer-chrono/18023064.
-
https://stackoverflow.com/questions/37767847/stdsort-function-with-custom-compare-function-results-error-reference-to-non.
-
https://stackoverflow.com/questions/14416786/webpage-returning-http-406-error-only-when-connecting-from-qt.
-
http://amin-ahmadi.com/2016/06/13/fix-modsecurity-issues-in-qt-network-module-download-functionality/.
-
https://stackoverflow.com/questions/48093102/how-does-qt-select-a-default-style.
-
https://stackoverflow.com/questions/3065438/switch-statement-with-returns-code-correctness.
-
https://unix.stackexchange.com/questions/497526/linux-shell-script-run-a-program-only-if-it-exists-ignore-it-if-it-does-not-ex.
-
OpenAI. ChatGPT. 2025.: https://chat.openai.com/.
-
https://stackoverflow.com/questions/6736536/c-input-and-output-to-the-console-window-at-the-same-time.
-
https://stackoverflow.com/questions/4184468/sleep-for-milliseconds.