Struct wfm_seq_t¶
A run of bits, however it is produced. More...
#include <wfm_frame.h>
Public Attributes¶
| Type | Name |
|---|---|
| const uint8_t * | bits |
| wfm_seq_kind_t | kind |
| size_t | len |
| int | lfsr |
| uint64_t | poly |
| uint32_t | reg_bits |
| uint64_t | seed |
| uint64_t | seed_a |
| uint64_t | seed_b |
| uint64_t | taps_a |
| uint64_t | taps_b |
Detailed Description¶
len is always the OUTPUT length in bits. For the generated kinds it is independent of the register width — pn_create()'s length argument is the register width (period 2^n - 1), while pn_generate(state, n, …) decides how many bits come out. Conflating the two is easy and costly, so they are named apart here: reg_bits against len.
Public Attributes Documentation¶
variable bits¶
LITERAL only; NULL otherwise
variable kind¶
variable len¶
output bits; 0 means the field is absent
variable lfsr¶
PN_GALOIS (0) or PN_FIBONACCI (1)
variable poly¶
0 selects pn_mls_poly(reg_bits) — the same "default" wfm_synth's --pn-poly means. A literal 0 reaching pn_create() is a register with no feedback: it emits the seed and then zeros, which is a CONSTANT field that still looks like a field.
variable reg_bits¶
register width 1..64; period 2^reg_bits - 1
variable seed¶
0 selects 1; an all-zero register is a fixed point
variable seed_a¶
variable seed_b¶
variable taps_a¶
variable taps_b¶
The documentation for this class was generated from the following file native/inc/wfm/wfm_frame.h