Spec-Zone.ru › Nim

std/lenientops

Исходный код Редактировать

Этот модуль предлагает реализации общих бинарных операций, таких как +, -, *, /, и операций сравнения, которые работают с смешанными операндами с плавающей запятой/целыми числами. Все операции преобразуют целочисленный операнд в тип операнда с плавающей запятой. Для числовых выражений возвращаемый тип всегда является типом числа с плавающей запятой, участвующего в выражении, т. е. нет автоматического преобразования с float32 на float64.

Примечание: В общем случае автоматическое преобразование из целого числа в число с плавающей запятой приводит к потере информации, поэтому эти операторы находятся в отдельном модуле. Используйте с осторожностью.

Что касается бинарного сравнения, этот модуль предоставляет только операторы неравенства. Оператор равенства == опущен, поскольку в зависимости от конкретного случая использования может быть предпочтительнее либо приведение к числу с плавающей запятой, либо округление до целого числа, и пользователи должны явно сделать выбор.

Процедуры

func `*`[I: SomeInteger; F: SomeFloat](f: F; i: I): F {.inline.}
Исходный код Редактировать
func `*`[I: SomeInteger; F: SomeFloat](i: I; f: F): F {.inline.}
Исходный код Редактировать
func `+`[I: SomeInteger; F: SomeFloat](f: F; i: I): F {.inline.}
Исходный код Редактировать
func `+`[I: SomeInteger; F: SomeFloat](i: I; f: F): F {.inline.}
Исходный код Редактировать
func `-`[I: SomeInteger; F: SomeFloat](f: F; i: I): F {.inline.}
Исходный код Редактировать
func `-`[I: SomeInteger; F: SomeFloat](i: I; f: F): F {.inline.}
Исходный код Редактировать
func `/`[I: SomeInteger; F: SomeFloat](f: F; i: I): F {.inline.}
Исходный код Редактировать
func `/`[I: SomeInteger; F: SomeFloat](i: I; f: F): F {.inline.}
Исходный код Редактировать
func `<`[I: SomeInteger; F: SomeFloat](f: F; i: I): bool {.inline.}
Исходный код Редактировать
func `<`[I: SomeInteger; F: SomeFloat](i: I; f: F): bool {.inline.}
Исходный код Редактировать
func `<=`[I: SomeInteger; F: SomeFloat](f: F; i: I): bool {.inline.}
Исходный код Редактировать
func `<=`[I: SomeInteger; F: SomeFloat](i: I; f: F): bool {.inline.}
Исходный код Редактировать

© 2006–2024 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/lenientops.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API