| // |
| // This confidential and proprietary software may be used only as |
| // authorised by a licensing agreement from ARM Limited |
| // (C) COPYRIGHT 2020-2024 ARM Limited |
| // ALL RIGHTS RESERVED |
| // The entire notice above must be reproduced on all authorised |
| // copies and copies may only be made to the extent permitted |
| // by a licensing agreement from ARM Limited. |
| |
| int16_t sigmoid_reference(int16_t x) { // input x range is -256 to + 256 inclusive |
| fp64_t v = static_cast<fp64_t>(x) / static_cast<fp64_t>(16); |
| v = 1.0/(1.0 + exp(-v)); |
| return round_to_nearest_int(32768.0 * v); |
| } |
| |
| generate_lookup_table(&sigmoid_table, &sigmoid_reference); |