У меня есть объект (на любом языке) типа Complex, как в комплексном числе. В какой-то момент моя программа выполняет проверку, чтобы убедиться, что ее мнимая часть равна нулю. Если это так, он превращает объект в двойное и делает что-то с двойным.Название для литья сложного типа, чтобы удвоить
Мой вопрос - есть ли название для этого изменения из комплекса в двойное? «Downcast», похоже, относится к кастингу в подкласс, что не совсем то, что здесь происходит. Аналогично, «Upcast» обычно описывается как «отбрасывание на суперкласс», что, вероятно, также не совсем точно - хотя было бы возможно реализовать Complex как подкласс двойки, большинство языков этого не делают.
Похоже, что я делаю это не столько кастинг суперкласса, сколько литье подмножества.
EDIT: Я ищу общее имя для процесса взятия объекта типа и превращения его в эквивалентный объект более простого типа. Например, в другом случае, возможно, он принимает BigInt и превращается в Int, или даже принимает LinearFunction и превращает его в ConstantFunction.
Во-вторых, это просто не литье; это добыча. –