Перейти к содержанию
    

VHDL. Преобразование string - real

Есть ли стандартный метод или может кто-нибудь написал функцию? Самому писать лень.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть ли стандартный метод или может кто-нибудь написал функцию? Самому писать лень.
Стандартная функция read может читать real из указателя на строку. В VHDL нельзя получить адрес объекта. След-но нужен некий workaround. Примерно так (возможны ошибки):

function to_real(x: string) return real is
variable l : line; -- copy of x to use read()
variable r : real;
variable ok : boolean;
begin
        l := new line'(x);
        r := read(l, r, ok);
         deallocate(l);
        if (ok) then
           return r;
        else
           return 0.0;
        end if;
end;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рискну поправить:

    function to_real(x: string) return real is
        variable l  : line; -- copy of x to use read()
        variable r  : real;
        variable ok : boolean;
    begin
        l := new string'(x);
        read(l, r, ok);
        deallocate(l);
        if (ok) then
            return r;
        else
            return 0.0;
        end if;
    end;

Компилятор это скушал, работу функции пока не проверял.

Спасибо :beer:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рискну поправить
Спасибо. Вы абсолютно правы. Писал практически на бегу с работы :-), поэтому так глупо наошибался.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...