# cosh and sinh returning infinity

The function I am currently wrestling with uses cosh and sinh hyperbolic trigonometric functions. Feeding an input value of 711 into either function will result in an infinity value (64-bit numbers are capped around 10^308), which chokes the next part of the calculation (namely, because it is a fitfunc, it cannot return infinity.

//x is calculated
if(x>710)
x=710
endif
y = cosh(x)

Is there a better way to do this? Currently, I am sacrificing some speed in order to pull it off.

EDIT: I forgot to add, that x is a complex value.
EDIT 2: I also forgot to add that x is a wave of complex values

EDIT 3: After some testing, I realized this doesn't actually work. Back to the drawing board.
I am trying this:

http://www.igorexchange.com/node/780

However, it isn't working.

make w = 0
print w
w[0]= {0,0,0,0,...}
•w = w[p]==0 ? NaN : w[p]
print w
w[0]= {NaN,NaN,NaN,NaN,...}
•w = w[p]==NaN ?  0: w[p]
print w
w[0]= {NaN,NaN,NaN,NaN,...}

I can replace 0 with NaN (as in the help example for ? :
However, I cannot replace NaN with 0. What am I missing here?

Is there a way to check for and replace NaN?
Since NaN is not-a-number, all comparisons with NaN yield false. You need to use NumType:
w = NumType(w[p])==2 ? 0: w[p]

or the equivalent:
w = NumType(w)==2 ?  0: w

That worked perfectly. It goes to show that I can always learn something new and useful.