ref: cbd3a80552a918e71ced43e7e2af35092a170629
parent: 0b7c02caf4548e3bd90c39c13913146358e4de8b
author: Jean-Marc Valin <jmvalin@amazon.com>
date: Sat Oct 14 17:19:46 EDT 2023
minor tweaks
--- a/dnn/fargan.c
+++ b/dnn/fargan.c
@@ -86,7 +86,7 @@
compute_generic_dense(&model->sig_net_cond_gain_dense, &gain, cond, ACTIVATION_LINEAR);
gain = exp(gain);
- gain_1 = 1.f/(1e-5 + gain);
+ gain_1 = 1.f/(1e-5f + gain);
pos = PITCH_MAX_PERIOD-period-2;
for (i=0;i<FARGAN_SUBFRAME_SIZE+4;i++) {
--- a/dnn/nnet.c
+++ b/dnn/nnet.c
@@ -150,7 +150,12 @@
celt_assert(layer->nb_inputs == layer->nb_outputs);
compute_linear(layer, act2, input);
compute_activation(act2, act2, layer->nb_outputs, ACTIVATION_SIGMOID);
- for (i=0;i<layer->nb_outputs;i++) output[i] = input[i]*act2[i];
+ if (input == output) {
+ /* Give a vectorization hint to the compiler for the in-place case. */
+ for (i=0;i<layer->nb_outputs;i++) output[i] = output[i]*act2[i];
+ } else {
+ for (i=0;i<layer->nb_outputs;i++) output[i] = input[i]*act2[i];
+ }
}
void compute_gated_activation(const LinearLayer *layer, float *output, const float *input, int activation)
--
⑨