CalcDivision

CalcDivision

CalcDivision[ a, b ] returns the result of dividing a by b, if it can be calculated exactly.

Usages

CalcDivision[ a, b ]

CalcDivision[ a, b ] calculates a divided by b. The result is only calculated if it is exact:

  • If a and b are integers, the result must be an integer. Otherwise CalcDivision is left unevaluated.
  • If a or b is a decimal number, the result is a decimal number, as long as it has a finite number of decimals.
Example in out
Two integers. CalcDivision[ 6, 2 ] 3
Script variables. x := 12
y := 3
r := CalcDivision[x, y]
r = 4
The result is not an integer, so it is not calculated. CalcDivision[ 7, 2 ] CalcDivision[7, 2]
A decimal number divided by an integer. CalcDivision[ 1.5, 2 ] 0.75
An integer divided by a decimal number. CalcDivision[ 1, 0.4 ] 2.5
2/0.3 has infinitely many decimals, so it is not calculated. CalcDivision[ 2, 0.3 ] CalcDivision[2, 0.3]

CalcDivision[ list, b ]

If an argument is a list, the division is applied to each element. Two lists are divided element by element and must have the same length.

Example in out
Divide each element by 2. CalcDivision[ {6, 8, 10}, 2 ] {3, 4, 5}
Divide element by element. CalcDivision[ {6, 8}, {2, 4} ] {3, 2}
Options

FallbackToDivision

If set to True, a division that cannot be calculated exactly is returned as an ordinary division a/b instead of staying unevaluated. The fraction is not simplified. Default: False.

Syntax Example out
CalcDivision[ a, b, FallbackToDivision=>True ] CalcDivision[ 7, 2, FallbackToDivision=>True ] 7/2
CalcDivision[ -6, 4, FallbackToDivision=>True ] -6/4
Details
  • Division by zero: CalcDivision[ 6, 0 ] and CalcDivision[ 0, 0 ] return NaN.
  • Fractions are not supported: CalcDivision[ 1/2, 1/4 ] is left unevaluated.
  • Decimal numbers ending in .0, such as 8.0, count as integers: CalcDivision[ 1, 8.0 ] is left unevaluated, just like CalcDivision[ 1, 8 ].
Invalid input Result
CalcDivision[ x, 2 ] Left unevaluated: the arguments must be numbers.
CalcDivision[ {6,8}, {2,4,6} ] Left unevaluated: the lists must have the same length.
CalcDivision[ 6 ] Left unevaluated: CalcDivision takes two arguments.
CalcDivision[ 6, 2, Foo=>True ] Error: Invalid associative argument for CalcDivision: Foo

See also: Mod, CalcTimes, CalcGcd, Numerical