РЕДАКТИРОВАТЬ: Проверьте ответ Богумил.Оказывается, в Base
есть функция, которая делает это.
Я не думаю, что в Base
есть функция, которая делает это.Тем не менее, добавление нового метода в sign
является простым решением:
Base.sign(a, b) = abs(a)*sign(b)
Вы можете использовать methods(sign)
, чтобы убедиться, что ваш новый метод не конфликтует с какими-либо существующими методами.В этом случае это определенно не будет, поскольку все существующие методы имеют только один вход.
Поведение нового метода также будет согласовано со всеми существующими типами ввода, например, sign(missing, -1)
вернет missing
и sign(true, false)
вернет false
.
В качестве альтернативы вы можете придумать собственное имя новой функции.