- 29 Nov, 2019 3 commits
-
-
Vivien Kraus authored
-
Vivien Kraus authored
-
Vivien Kraus authored
This algorithm will let us do online machine learning.
-
- 22 Nov, 2019 1 commit
-
-
Vivien Kraus authored
-
- 13 Nov, 2019 2 commits
-
-
Vivien Kraus authored
Resolve "[Packaging] Remove the "safe" target" Closes #177 See merge request !181
-
Vivien Kraus authored
There are some parts of the build system that are recursive. For one, the gnulib layer and the gettext build infrastructure. However, we also need to recursively build the library to generate the binding code, and we need to recursively build all programs in order to get their =--help= output for /help2man/. For these reasons, it is impossible to go without a recursive build system. This poses an unsolved problem. Recursive builds and multi-process builds do not go well together, because each recursive branch does not know what the other branch is touching. So I had created a list of things to get right in that order. Each item of that list could be built with multiple jobs, but the steps had to be taken in order. I had named this list "safe", because it ensured that there would be no recursive call (except the safe target itself that would spawn all tasks). However, this is a little troubling because bootstrapping the project with multiple jobs meant to run =autogen.sh=, then =configure=, then =make safe=, then =make=. I have found that Automake provides /subdirs/, which already implements what I was trying to do. So there is a subdir for each step.
-
- 01 Nov, 2019 9 commits
-
-
Vivien Kraus authored
-
Vivien Kraus authored
=scm_eq_p= returns an SCM, which is a pointer. So we first have to convert to a C-side bool.
-
Vivien Kraus authored
-
Vivien Kraus authored
-
Vivien Kraus authored
-
Vivien Kraus authored
-
Vivien Kraus authored
-
Vivien Kraus authored
-
Vivien Kraus authored
-
- 31 Oct, 2019 6 commits
-
-
Vivien Kraus authored
Resolve "Guile bindings" Closes #173 See merge request !168
-
Vivien Kraus authored
-
Vivien Kraus authored
-
Vivien Kraus authored
-
Vivien Kraus authored
The goal is to have the symbol =tarot_guile_init= work with guile only if it is available. Otherwise, this function does nothing. This does not mean that libtarot uses guile. It only means that if guile is available, you can load this lib with guile and call the function to register the Guile functions.
-
Vivien Kraus authored
-
- 27 Oct, 2019 3 commits
-
-
Vivien Kraus authored
The goal is to generate functions of the form: #+BEGIN_SRC C /* Bind to TarotMachin *function (TarotChose *input_parameter, size_t size, TarotElement *array_rewritten, TarotBidule *output_parameter); */ static SCM tarot_guile_function (SCM g_input_parameter, SCM g_array_rewritten) { TarotChose *c_input_parameter; size_t c_size; TarotElement *c_array_rewritten; TarotMachin *c_ret; TarotBidule c_output_parameter; SCM g_ret = SCM_EOL; bind_chose (g_input_parameter, c_input_parameter); bind_element_array (g_array_rewritten, &c_size, c_array_rewritten); c_ret = function (c_input_parameter, c_size, c_array_rewritten, &c_output_parameter); clean_chose (&c_input_parameter); g_ret = push_machin (g_ret, c_ret); g_ret = push_element_array (g_ret, c_size, c_array_rewritten); g_ret = push_bidule (g_ret, c_output_parameter); return g_ret; } #+END_SRC In this commit, we declare the input types.
-
Vivien Kraus authored
The other options were ot generate scheme code, or use scheme macros to generate it at macro expand time. The latter is not possible in r7rs-small, because syntax-case has been removed. So I will not go down this road. The former is quite awkward, because we constantly need to jump in the XML document in order to get the C type names of things. So for now everything is XSLT+C.
-
Vivien Kraus authored
-
- 26 Oct, 2019 1 commit
-
-
Vivien Kraus authored
-
- 21 Oct, 2019 1 commit
-
-
Vivien Kraus authored
Allowing the later versions would risk weakening the copyright.
-
- 20 Oct, 2019 1 commit
-
-
Vivien Kraus authored
Update the models See merge request !180
-
- 14 Oct, 2019 2 commits
-
-
Vivien Kraus authored
-
Vivien Kraus authored
Update the models See merge request !179
-
- 13 Oct, 2019 9 commits
-
-
Vivien Kraus authored
-
Vivien Kraus authored
-
Vivien Kraus authored
This reverts commit 13e9904c.
-
Vivien Kraus authored
-
Vivien Kraus authored
-
Vivien Kraus authored
Since there are only a few possible changes if we select another player, we can simply implement them directly. This avoids looping over game events.
-
Vivien Kraus authored
-
Vivien Kraus authored
-
Vivien Kraus authored
If a player cannot follow but she had received a card of the trumped suit in the dog, we need to assume that she has discarded this card.
-
- 12 Oct, 2019 2 commits
-
-
Vivien Kraus authored
-
Vivien Kraus authored
The likely imputation minimizes the number of errors the player would make.
-