| 8475 | } |
| 8476 | |
| 8477 | static void llama_log_softmax(float * array, size_t size) { |
| 8478 | float max_l = *std::max_element(array, array + size); |
| 8479 | float sum = 0.f; |
| 8480 | for (size_t i = 0; i < size; ++i) { |
| 8481 | float p = expf(array[i] - max_l); |
| 8482 | sum += p; |
| 8483 | array[i] = p; |
| 8484 | } |
| 8485 | |
| 8486 | for (size_t i = 0; i < size; ++i) { |
| 8487 | array[i] = logf(array[i] / sum); |
| 8488 | } |
| 8489 | } |
| 8490 | |
| 8491 | void llama_sample_classifier_free_guidance( |
| 8492 | struct llama_context * ctx, |
no outgoing calls
no test coverage detected