本文整理汇总了C++中Mixer::mix方法的典型用法代码示例。如果您正苦于以下问题:C++ Mixer::mix方法的具体用法?C++ Mixer::mix怎么用?C++ Mixer::mix使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mixer
的用法示例。
在下文中一共展示了Mixer::mix方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: test_mixer
void test_mixer(Mixer<double>& mixer)
{
int N = 10;
std::vector<double> a(N), b(N);
for (int i = 0; i < N; i++)
{
a[i] = i + 1;
b[i] = i + 2;
}
double beta = mixer.beta();
printf("beta: %f\n", beta);
for (int i = 0; i < N; i++) mixer.input_shared(i, a[i]);
mixer.initialize();
for (int i = 0; i < N; i++) mixer.input_shared(i, b[i]);
mixer.mix();
std::vector<double> c(N);
for (int i = 0; i < N; i++) c[i] = mixer.output_shared(i);
for (int i = 0; i < N; i++) printf("diff: %18.12f\n", std::abs(c[i] - (beta * b[i] + (1 - beta) * a[i])));
}
示例2:
unsigned
MixerGroup::mix(float *outputs, unsigned space)
{
Mixer *mixer = _first;
unsigned index = 0;
while ((mixer != nullptr) && (index < space)) {
index += mixer->mix(outputs + index, space - index);
mixer = mixer->_next;
}
return index;
}
示例3:
unsigned
MixerGroup::mix(float *outputs, unsigned space, uint16_t *status_reg)
{
Mixer *mixer = _first;
unsigned index = 0;
while ((mixer != NULL) && (index < space)) {
index += mixer->mix(outputs + index, space - index, status_reg);
mixer = mixer->_next;
}
return index;
}
示例4: main
int main(int argc, char **argv)
{
int c;
extern char *optarg;
extern int optind __attribute__((unused));
extern int optopt __attribute__((unused));
extern int opterr;
DSDcc::DSDDecoder dsdDecoder;
DSDcc::DSDUpsampler upsamplingEngine;
char in_file[1023];
int in_file_fd = -1;
char out_file[1023];
int out_file_fd = -1;
char log_file[1023];
log_file[0] = '\0';
char formattext_file[1023];
formattext_file[0] = '\0';
FILE *formattext_fp = 0;
float formattext_refresh = 0.1f;
char formattext[128];
char serialDevice[16];
std::string dvSerialDevice;
int dvGain_dB = 0;
int slots = 1;
Mixer mixer;
float lat = 0.0f;
float lon = 0.0f;
fprintf(stderr, "Digital Speech Decoder DSDcc\n");
exitflag = 0;
signal(SIGINT, sigfun);
while ((c = getopt(argc, argv,
"hHep:qtv:i:o:g:nR:f:u:U:lL:D:d:T:M:m:P:Q:x")) != -1)
{
opterr = 0;
switch (c)
{
case 'h':
usage();
exit(0);
case 'H':
dsdDecoder.useHPMbelib(true);
break;
case 'e':
dsdDecoder.showErrorBars();
break;
case 'p':
if (optarg[0] == 'e')
{
dsdDecoder.setP25DisplayOptions(DSDcc::DSDDecoder::DSDShowP25EncryptionSyncBits, true);
}
else if (optarg[0] == 'l')
{
dsdDecoder.setP25DisplayOptions(DSDcc::DSDDecoder::DSDShowP25LinkControlBits, true);
}
else if (optarg[0] == 's')
{
dsdDecoder.setP25DisplayOptions(DSDcc::DSDDecoder::DSDShowP25EncryptionSyncBits, true);
}
else if (optarg[0] == 't')
{
dsdDecoder.setP25DisplayOptions(DSDcc::DSDDecoder::DSDShowP25TalkGroupInfo, true);
}
else if (optarg[0] == 'u')
{
dsdDecoder.muteEncryptedP25(false);
}
break;
case 'q':
dsdDecoder.setQuiet();
break;
case 't':
dsdDecoder.showSymbolTiming();
break;
case 'v':
int verbosity;
sscanf(optarg, "%d", &verbosity);
dsdDecoder.setLogVerbosity(verbosity);
break;
case 'L':
strncpy(log_file, (const char *) optarg, 1023);
log_file[1022] = '\0';
break;
case 'M':
strncpy(formattext_file, (const char *) optarg, 1023);
formattext_file[1022] = '\0';
break;
case 'm':
float rate;
sscanf(optarg, "%f", &rate);
if (rate > 0.1f) {
formattext_refresh = rate;
}
break;
case 'i':
strncpy(in_file, (const char *) optarg, 1023);
in_file[1022] = '\0';
break;
//.........这里部分代码省略.........