Size: a a a

Kotlin Community

2020 November 16

с#

саша сок #KotlinGang... in Kotlin Community
Alexander Nozik
Отлицательное - это NEGATIVE_INFINITY или как его
-Double.MAX_VALUE :cool
источник

AN

Alexander Nozik in Kotlin Community
саша сок #KotlinGang
-Double.MAX_VALUE :cool
нет, вот так нельзя
источник

с#

саша сок #KotlinGang... in Kotlin Community
а, там же разные границы из-за нуля могут быть
источник

AN

Alexander Nozik in Kotlin Community
источник

AN

Alexander Nozik in Kotlin Community
саша сок #KotlinGang
а, там же разные границы из-за нуля могут быть
Да и не только из-за нуля. Там еще из-за специфики отрицательных чисел и плавающей точки. Я даже не могу сходу сказать, что там.
источник

RE

Roman Elizarov in Kotlin Community
Можно. В FP там просто битик для знака и, в отличие от целых чисел, относительно нуля всё симметрично.
источник

AN

Alexander Nozik in Kotlin Community
positive: 0x7ff0000000000000L
negative: 0xfff0000000000000L
А MAX_VALUE - это вообще другое число. В принципе должно работать и с минусом, но я бы не стал так делать
источник

M

Malik in Kotlin Community
Решил глянуть -0 == 0, выдает true🤔, даже idea подсказывает, что можно просто заменить на true. Разве они должны быть равны?
источник

RE

Roman Elizarov in Kotlin Community
Да. Этого требует IEEE 754
источник

AM

Andrew Mikhaylov in Kotlin Community
Alexander Nozik
positive: 0x7ff0000000000000L
negative: 0xfff0000000000000L
А MAX_VALUE - это вообще другое число. В принципе должно работать и с минусом, но я бы не стал так делать
Так бесконечности ж совершенно особая штука, с которой арифметика, к примеру, работает иначе. В зависимости от того, что нужно в конкретной задаче, ±MAX_VALUE -- полезные штуки.
источник

AN

Alexander Nozik in Kotlin Community
Andrew Mikhaylov
Так бесконечности ж совершенно особая штука, с которой арифметика, к примеру, работает иначе. В зависимости от того, что нужно в конкретной задаче, ±MAX_VALUE -- полезные штуки.
Не спорю. Но там есть нюансы. Я вот тут объявил войну NaN-ам.
источник

M

Malik in Kotlin Community
Roman Elizarov
Да. Этого требует IEEE 754
Он ведь стандартизирует числа с плавающей точкой, а там просто int.
Дополнительный код этих чисел одинаковый. Тогда если -0 записывать в памяти в виде дополнительного кода, то он будет равен +0.
источник

с#

саша сок #KotlinGang... in Kotlin Community
Malik
Он ведь стандартизирует числа с плавающей точкой, а там просто int.
Дополнительный код этих чисел одинаковый. Тогда если -0 записывать в памяти в виде дополнительного кода, то он будет равен +0.
будет странно, если дабл и инт будут себя по-разному вести с нулём
источник

AM

Andrew Mikhaylov in Kotlin Community
Malik
Он ведь стандартизирует числа с плавающей точкой, а там просто int.
Дополнительный код этих чисел одинаковый. Тогда если -0 записывать в памяти в виде дополнительного кода, то он будет равен +0.
Тут выше флоатинг поинт обсуждался, я тоже подумал, ты о них же, а не об интах :)
источник

AN

Alexander Nozik in Kotlin Community
Malik
Решил глянуть -0 == 0, выдает true🤔, даже idea подсказывает, что можно просто заменить на true. Разве они должны быть равны?
Там опять же есть нюанс, что если 0 - это точно ноль то да, а если это что-то, от чего десятый знак сожрал стринг форматтер, то не факт.
источник

RE

Roman Elizarov in Kotlin Community
Malik
Он ведь стандартизирует числа с плавающей точкой, а там просто int.
Дополнительный код этих чисел одинаковый. Тогда если -0 записывать в памяти в виде дополнительного кода, то он будет равен +0.
В int-то, да 0 и -0 это просто одно и то же значение. Int (в отличие от FP) вообще не может отличить 0 от -0.
источник

AN

Alexander Nozik in Kotlin Community
По всем этим причинам, в тестах в частности делать assertEquals на даблы - это опасная вещь.
источник

D

Denys in Kotlin Community
Alexander Nozik
По всем этим причинам, в тестах в частности делать assertEquals на даблы - это опасная вещь.
Это один раз натыкаешся, а потом test with precision используешь. :)
источник

(

( in Kotlin Community
так, аннотировать типы при деструктуризации получается бесполезно?
источник

(

( in Kotlin Community
или почему котлин считает вправе в переменную более узкого типа присвоить значение более широкого
источник