moved content to dedicated folder
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 56 KiB |
66
content/ignored-folder/tools/gen.cc
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
#include <algorithm>
|
||||||
|
#include <array>
|
||||||
|
#include <cstdio>
|
||||||
|
#include <cstdlib>
|
||||||
|
#include <ctime>
|
||||||
|
#include <set>
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
srand(time(nullptr));
|
||||||
|
|
||||||
|
vector<string> consonants{"", "m", "n", "ng", "p", "b", "t", "d",
|
||||||
|
"ŧ", "đ", "k", "g", "f", "v", "þ", "ð",
|
||||||
|
"s", "z", "sh", "zh", "ch", "jh", "qh", "rh",
|
||||||
|
"h", "ŕ", "r", "lh", "l"};
|
||||||
|
const vector<string> glides{"j", "w"};
|
||||||
|
vector<string> vowels{"i", "y", "u", "ì", "ĩ", "ů", "ù", "ũ", "e", "é", "ø",
|
||||||
|
"ö", "o", "õ", "è", "œ", "ô", "ò", "a", "å", "ã"};
|
||||||
|
const vector<string> tones{"2", "3", "4", "5", "6", "7"};
|
||||||
|
{
|
||||||
|
const auto tmp = consonants;
|
||||||
|
for_each(begin(tmp), end(tmp), [&](const auto &cons) {
|
||||||
|
for_each(begin(glides), end(glides),
|
||||||
|
[&](const auto &glide) { consonants.push_back(cons + glide); });
|
||||||
|
});
|
||||||
|
}
|
||||||
|
{
|
||||||
|
const auto tmp = vowels;
|
||||||
|
// create each possible diphthong
|
||||||
|
for_each(begin(tmp), end(tmp), [&](const auto &vow1) {
|
||||||
|
// add tones for this vowel
|
||||||
|
std::for_each(std::begin(tones), std::end(tones),
|
||||||
|
[&](const auto &tone) { vowels.push_back(vow1 + tone); });
|
||||||
|
for_each(begin(tmp), end(tmp), [&](const auto &vow2) {
|
||||||
|
if (vow1 != vow2) {
|
||||||
|
// if both vowels are the same, their association is ignored
|
||||||
|
const auto new_vow = vow1 + vow2;
|
||||||
|
vowels.push_back(new_vow);
|
||||||
|
// add tones to these vowels
|
||||||
|
for_each(begin(tones), end(tones),
|
||||||
|
[&](const auto &tone) { vowels.push_back(new_vow + tone); });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
auto all_phonemes = vowels;
|
||||||
|
for_each(begin(consonants), end(consonants), [&](const auto &cons) {
|
||||||
|
for_each(begin(vowels), end(vowels),
|
||||||
|
[&](const auto &vow) { all_phonemes.push_back(cons + vow); });
|
||||||
|
});
|
||||||
|
all_phonemes.shrink_to_fit();
|
||||||
|
printf("%zu syllables\n", all_phonemes.size());
|
||||||
|
set<string> particules = {};
|
||||||
|
for (auto i = 0; i < 10000; ++i) {
|
||||||
|
int random = rand() % all_phonemes.size();
|
||||||
|
printf("%s\n", all_phonemes[random].c_str());
|
||||||
|
all_phonemes.erase(all_phonemes.begin() + random);
|
||||||
|
}
|
||||||
|
std::for_each(std::begin(particules), std::end(particules),
|
||||||
|
[](const auto &elem) { printf("%s\n", elem.c_str()); });
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
Before Width: | Height: | Size: 203 KiB After Width: | Height: | Size: 203 KiB |
Before Width: | Height: | Size: 578 KiB After Width: | Height: | Size: 578 KiB |
Before Width: | Height: | Size: 630 KiB After Width: | Height: | Size: 630 KiB |
Before Width: | Height: | Size: 579 KiB After Width: | Height: | Size: 579 KiB |
Before Width: | Height: | Size: 274 KiB After Width: | Height: | Size: 274 KiB |
Before Width: | Height: | Size: 633 KiB After Width: | Height: | Size: 633 KiB |
Before Width: | Height: | Size: 913 KiB After Width: | Height: | Size: 913 KiB |
Before Width: | Height: | Size: 564 KiB After Width: | Height: | Size: 564 KiB |
Before Width: | Height: | Size: 682 KiB After Width: | Height: | Size: 682 KiB |
Before Width: | Height: | Size: 389 KiB After Width: | Height: | Size: 389 KiB |
Before Width: | Height: | Size: 103 KiB After Width: | Height: | Size: 103 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 121 KiB |
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 94 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 389 KiB After Width: | Height: | Size: 389 KiB |
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 119 KiB |
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 242 KiB After Width: | Height: | Size: 242 KiB |
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 119 KiB |
@ -1,8 +1,8 @@
|
|||||||
#+TITLE: Sitemap for project langue-phundrak-com-org
|
#+TITLE: Sitemap for project langue-phundrak-com-org
|
||||||
|
|
||||||
- [[file:index.org][Langues construites de P’undrak]]
|
|
||||||
- [[file:eittland.org][Eittlandais]]
|
- [[file:eittland.org][Eittlandais]]
|
||||||
- [[file:hjelp.org][Hjelp]]
|
- [[file:hjelp.org][Hjelp]]
|
||||||
|
- [[file:index.org][Langues construites de P’undrak]]
|
||||||
- [[file:matter.org][Mattér]]
|
- [[file:matter.org][Mattér]]
|
||||||
- [[file:taso.org][Tãso]]
|
- [[file:taso.org][Tãso]]
|
||||||
- [[file:nyqy.org][Ñyqy]]
|
- [[file:nyqy.org][Ñyqy]]
|