EExponQuay
Сценарії

Сценарії роботи з кодом · Стійке агрегування log-sum-exp

03
Продукт

Сценарії

Агрегуйте до 1000 логарифмічних значень від мінус 1e300 до 1e300, віднімаючи максимум перед експоненціюванням. Перевірте порожній ввід, повторювані великі й дуже від’ємні значення, повертаючи мінус нескінченність лише для порожнього вводу та відхиляючи логічні, нескінченні або позадіапазонні елементи.

01

Завантажте застосунок

Виберіть папку й попросіть помічника прочитати потрібні файли перед редагуванням. Визначте мету та межі завдання.

02

Відкрийте папку проєкту

Оберіть сумісний endpoint. Доступність інструментів і якість відповідей залежать від налаштованої моделі та сервера.

03

Підключіть і перевірте модель

Переглядайте зміни й результати команд. Перед прийняттям результату виконайте перевірки проєкту; створений код не тестується автоматично.

04

Перегляньте зміни та запустіть тести

Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.

Стійке агрегування log-sum-exp

Сценарії
from math import exp, fsum, log, inf

def log_sum_exp(values):
    if type(values) not in (list, tuple) or len(values) > 1000:
        raise ValueError("values.container")
    values = tuple(values)
    if len(values) > 1000 or any(
        type(v) not in (int, float) or not -1e300 <= v <= 1e300 for v in values
    ):
        raise ValueError("values.range")
    if not values:
        return -inf
    peak = max(values)
    return peak + log(fsum(exp(v - peak) for v in values))

Перевірте перед застосуванням. Переглядайте зміни й результати команд. Перед прийняттям результату виконайте перевірки проєкту; створений код не тестується автоматично.

Робоче середовище з ШІ для коду

Тут починається ваша наступна ідея.

Завантажити для Windows ↗