diff options
author | Jean-Marc Valin <jmvalin@amazon.com> | 2023-10-15 04:19:46 +0300 |
---|---|---|
committer | Jean-Marc Valin <jmvalin@amazon.com> | 2023-10-15 04:19:46 +0300 |
commit | cbd3a80552a918e71ced43e7e2af35092a170629 (patch) | |
tree | 001cbea94a1ffaa8cbe5b051d297d063c01eaec0 | |
parent | 0b7c02caf4548e3bd90c39c13913146358e4de8b (diff) |
minor tweaks
-rw-r--r-- | dnn/fargan.c | 2 | ||||
-rw-r--r-- | dnn/nnet.c | 7 |
2 files changed, 7 insertions, 2 deletions
diff --git a/dnn/fargan.c b/dnn/fargan.c index 36cbc5d5..b6475106 100644 --- a/dnn/fargan.c +++ b/dnn/fargan.c @@ -86,7 +86,7 @@ static void run_fargan_subframe(FARGANState *st, float *pcm, const float *cond, 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++) { @@ -150,7 +150,12 @@ void compute_glu(const LinearLayer *layer, float *output, const float *input) 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) |