Почему в схеме с курицей по умолчанию (т.е. без загрузки расширений типа числа яйцо) определены процедуры real-part
, imag-part
, angle
, magnitude
, complex?
, а make-rectangular
и make-polar
нет? Что мне с ними делать, если я не могу составить комплексное число?
Комплексные числа в схеме курицы
Ответы (1)
В Chicken Scheme без числового яйца вы можете создать настоящее число.
Теперь действительная часть действительного числа является действительным числом. Это означает, что результатом real-part
всегда будет действительное число.
Мнимая часть действительного числа всегда равна нулю. Таким образом, результат imag-part
для действительного числа является действительным числом.
Величина любого числа действительна, поэтому magnitude
всегда дает действительное число.
Это объясняет, почему включены real-part
, imag-part
и magnitude
— их легко реализовать для реальных входных данных.
Причина, по которой make-rectangular
и make-polar
не поддерживаются, заключается в том, что они производят комплексные числа. И комплексные числа не поддерживаются (без яйца).
То есть: операции, которые никогда не производят комплексные числа, работают (при применении к действительным числам). Операции, производящие комплексные числа, не учитываются.