Что такое самый простой способ получить машину epsilon в Go (golang)? Как насчет других аспектов чисел с плавающей запятой, таких как точность, минимальная экспонента, максимальная экспонента, колебания и т. Д.?Самый простой способ получить машину epsilon в go (golang)
Я понимаю, что существует математическая/const-упаковка с максимальным и минимальным для разных типов с плавающей запятой (http://golang.org/src/pkg/math/const.go), но никакой другой информации.
Одна из причин, по которой я хотел бы знать, состоит в том, чтобы убедиться, что я достиг максимальной точности для данного расчета, который машина может сделать, чтобы я не ушел раньше или попробовал дольше, чем нужно.
Другое просто для любопытства.
Благодаря
EDIT:
Для удовольствия я посмотрел в некоторых заметках из школы о том, как рассчитать эпсилон вручную для потех и вот приблизительный перевод с C++ http://play.golang.org/p/XOXwIdNfsa пользоваться
EDIT: комментарий снизу (спасибо за более идиоматических способ нахождения эпсилон):
epsilon := math.Nextafter(1, 2) - 1
Использование Playground - Nick Craig-Wood 5 марта в 8:07
ссылка для ленивых http://golang.org/pkg/math/#Nextafter ... спасибо! – sbditto85
Использование 'epsilon: = math.Nextafter (1, 2) - 1' [Playground] (http://play.golang.org/p/EkigXdFDQE) –