컴퓨터에게 0/0 연산을 수행하게 한 후, 그 결과를 출력하면 "nan" 또는 "NaN" 이 출력된다.
간단한 예제(Fortran)를 만들어보면 다음과 같다.
----------------------------------------------------------------------- real a, b, c a = 0.0 b = 0.0 c = a/b print *, a,b,c ----------------------------------------------------------------------- 실행 결과 0.000000 0.000000 NaN
여기에서 c가 0/0 꼴이기 때문에 "NaN"으로 출력된다.
직접 출력해보지 않고 내부적으로 변수가 "NaN"인지 판별하는 방법으로 다음과 같이 쓸 수 있다.
if(c .eq. c + 1.0) print*,'c is NaN'
수가 아닌 것에다가 + 연산을 수행하는 것은 수학적으로는 금지(?) 되어 있지만, 컴퓨터는 그 연산의 결과로 "NaN"을 내어 놓게 된다.
python module인 numpy와 scipy 버전이 맞지 않으면 다음과 같은 warning이 나온다.
import numpy
import scipy
/usr/lib64/python2.4/site-packages/scipy/misc/__init__.py:25: DeprecationWarning: NumpyTest will be removed in the next release; please update your code to use nose or unittest
test = NumpyTest().test
warning이 발생하지 않도록 하려면 다음 버전의 사용을 권한다.
numpy(1.2) + scipy(0.7) or numpy(1.1) + scipy(0.6)
어쩔 수 없이 numpy(1.2) + scipy(0.6)을 사용하는 경우라면 일종의 꽁수로 warning을 피할 수 있다.