Next: Types Tutorial Exercise 3, Previous: Types Tutorial Exercise 1, Up: Answers to Exercises [Contents][Index]

‘`inf / inf = nan`’. Perhaps ‘`1`’ is the “obvious” answer.
But if ‘`17 inf = inf`’, then ‘`17 inf / inf = inf / inf = 17`’, too.

‘`exp(inf) = inf`’. It’s tempting to say that the exponential
of infinity must be “bigger” than “regular” infinity, but as
far as Calc is concerned all infinities are the same size.
In other words, as ‘`x`’ goes to infinity, ‘`e^x`’ also goes
to infinity, but the fact the ‘`e^x`’ grows much faster than
‘`x`’ is not relevant here.

‘`exp(-inf) = 0`’. Here we have a finite answer even though
the input is infinite.

‘`sqrt(-inf) = (0, 1) inf`’. Remember that ‘`(0, 1)`’
represents the imaginary number ‘`i`’. Here’s a derivation:
‘`sqrt(-inf) = sqrt((-1) * inf) = sqrt(-1) * sqrt(inf)`’.
The first part is, by definition, ‘`i`’; the second is `inf`

because, once again, all infinities are the same size.

‘`sqrt(uinf) = uinf`’. In fact, we do know something about the
direction because `sqrt`

is defined to return a value in the
right half of the complex plane. But Calc has no notation for this,
so it settles for the conservative answer `uinf`

.

‘`abs(uinf) = inf`’. No matter which direction ‘`x`’ points,
‘`abs(x)`’ always points along the positive real axis.

‘`ln(0) = -inf`’. Here we have an infinite answer to a finite
input. As in the ‘`1 / 0`’ case, Calc will only use infinities
here if you have turned on Infinite mode. Otherwise, it will
treat ‘`ln(0)`’ as an error.