Существует ли такая вещь, как умножение короткого замыкания?

Все мы знаем о коротком замыкании в логических выражениях, то есть, когда

if ( False AND myFunc(a) ) then
...

не беспокоит выполнение myFunc () , потому что не существует условия if может быть правдой.

Мне было любопытно, есть ли эквивалент для вашего повседневного алгебраического уравнения, скажем

result = C*x/y + z

Если C = 0 , нет смысла оценивать первый член. С точки зрения производительности не имело бы большого значения, если бы x и y были скалярами, но если мы представим, что это большие матрицы, а операции являются дорогостоящими (и применимы к матрицам), тогда, конечно, это будет иметь значение. Конечно, вы можете избежать такого крайнего случая, добавив оператор if C! = 0 .

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

6
задан Verge 16 November 2011 в 02:27
поделиться