- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
// https://github.com/flipperdevices/flipperzero-firmware/blob/2a6a3a1bf7ba1ecb42b8cbfc1b1856a54f2878b7/applications/plugins/music_player/music_player.c#L74
static bool is_white_note(uint8_t semitone, uint8_t id) {
switch(semitone) {
case 0:
if(id == 0) return true;
break;
case 2:
if(id == 1) return true;
break;
case 4:
if(id == 2) return true;
break;
case 5:
if(id == 3) return true;
break;
case 7:
if(id == 4) return true;
break;
case 9:
if(id == 5) return true;
break;
case 11:
if(id == 6) return true;
break;
default:
break;
}
return false;
}
static bool is_black_note(uint8_t semitone, uint8_t id) {
switch(semitone) {
case 1:
if(id == 0) return true;
break;
case 3:
if(id == 1) return true;
break;
case 6:
if(id == 3) return true;
break;
case 8:
if(id == 4) return true;
break;
case 10:
if(id == 5) return true;
break;
default:
break;
}
return false;
}
Хуйня какая-то. То ли дело "паттерн матчинг".
j123123 01.12.2022 10:38 # +2
И сколько же хуйни на шаблоноговне надо написать, чтобы это реализовать?
https://github.com/mpark/patterns/blob/master/include/mpark/patterns/match.hpp можно тут посмотреть
Alina_Poksenova 01.12.2022 12:52 # +1
Rooster 01.12.2022 16:18 # 0
guest6 02.12.2022 20:42 # 0
Stallman 06.12.2022 02:31 # 0
Alina_Poksenova 01.12.2022 12:54 # 0
Jlou_6JlblKAHAX 01.12.2022 13:15 # 0
Rooster 01.12.2022 16:18 # 0
Хотя хз конечно, можно было просто номером ноты обойтись.
Alina_Poksenova 01.12.2022 16:23 # +1
Rooster 01.12.2022 16:25 # 0
Тогда бред какой-то
Alina_Poksenova 01.12.2022 16:38 # 0
Второй же аргумент нужен исключительно ради такого цикла:
Да, 6 холостых прогонов из 7 ради получения i, которое из semitone можно было бы получить напрямую простенькой функцией (похожей на semitone_to_note).
Как называется такой говнопаттерн программирования?
Alina_Poksenova 01.12.2022 16:48 # 0
nPOnOBeDHuK 02.12.2022 16:00 # 0
guest6 01.12.2022 17:11 # 0
Правда, компилятор это и так сделает
Soul_re@ver 01.12.2022 18:04 # 0
INB4 нет защиты от неправильного id.
guest6 01.12.2022 18:21 # 0
Soul_re@ver 01.12.2022 18:47 # 0
На таблицу переходов для свича мозгов хватает, чтобы убрать сравнения внутри меток — нет.
ISO 02.12.2022 23:35 # 0
https://gcc.godbolt.org/z/dMaY5hf1G
guest6 02.12.2022 23:52 # 0
как его правильно хронить не проебывая место? Была же такая структура
ISO 03.12.2022 00:58 # 0
https://gcc.godbolt.org/z/WEP66YzTE
Soul_re@ver 03.12.2022 01:44 # 0
Где фабрики фабрик? Где интерфейсы? Где миксины?
guest6 03.12.2022 03:05 # 0
Alina_Poksenova 03.12.2022 03:22 # 0
guest6 03.12.2022 03:39 # 0
ну, чтобы не писать 2822 раза 0
Alina_Poksenova 03.12.2022 03:51 # 0
guest6 03.12.2022 03:55 # 0
Это как бустня у крестов
Rooster 03.12.2022 09:10 # +2
Alina_Poksenova 03.12.2022 12:39 # 0
3uMuCTOH 03.12.2022 18:56 # 0
Soul_re@ver 03.12.2022 10:30 # 0
guest6 03.12.2022 08:35 # 0
Fike 01.12.2022 19:34 # 0
guest6 02.12.2022 20:41 # 0
guest6 03.12.2022 00:08 # 0
Support 03.12.2022 00:28 # 0
p.s. как там с юникодой?
guest6 03.12.2022 10:53 # 0
guest6 03.12.2022 06:05 # 0
https://pbs.twimg.com/media/Fi3pFF0XEAAFXR8?format=jpg&name=large
Я за нее болел
guest6 03.12.2022 06:17 # 0
dddd