Goedenavond,
Ik zat de code van het FLAC-project door te wroeten (gewoon, omdat het leerzaam is) en toen kwam iets naar mijn idee vrij vreemds tegen. Het gaat om code hier te vinden. Ik heb er even het een en ander uitgelaten om het leesbaar te krijgen, het is goed mogelijk om een verloop zoals dit te krijgen.
Ik heb gezocht, maar ik begrijp echt niet wat er gebeurd op regel 9 en 11. Wat doet dat uitroepteken daar?
Er wordt toch zeker geen true of false aan _best_subframe toegewezen? Het gebeurd op nog een aantal plaatsen verderop in de code. Tussen regen 1 en 13 gebeurd er verder niets met _best_bits.
Alvast hartelijk dank!
Ik zat de code van het FLAC-project door te wroeten (gewoon, omdat het leerzaam is) en toen kwam iets naar mijn idee vrij vreemds tegen. Het gaat om code hier te vinden. Ik heb er even het een en ander uitgelaten om het leesbaar te krijgen, het is goed mogelijk om een verloop zoals dit te krijgen.
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| FLAC__bool process_subframe_([...], unsigned *best_subframe, [...]){ [...] unsigned _best_subframe; [...] _best_subframe = 0; [...] _best_bits = evaluate_verbatim_subframe_(encoder, integer_signal, frame_header->blocksize, subframe_bps, subframe[_best_subframe]); _candidate_bits = evaluate_constant_subframe_(encoder, integer_signal[0], frame_header->blocksize, subframe_bps, subframe[!_best_subframe]); if(_candidate_bits < _best_bits) { _best_subframe = !_best_subframe; _best_bits = _candidate_bits; } [...] *best_bits = _best_bits; return true; } |
Ik heb gezocht, maar ik begrijp echt niet wat er gebeurd op regel 9 en 11. Wat doet dat uitroepteken daar?
Alvast hartelijk dank!