[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Reading NaN & Inf in mex files
From: |
gOS |
Subject: |
Re: Reading NaN & Inf in mex files |
Date: |
Tue, 5 Aug 2008 12:56:34 -0700 (PDT) |
I forgot you guys usually like to have an example of code.
#include "mex.h"
#include <iostream>
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
long double nan = std::numeric_limits<long double>::quiet_NaN(); //
produces 1.#QNAN
long double inf = std::numeric_limits<long double>::infinity(); //
produces
1.#INF
plhs[0] = mxCreateDoubleMatrix(1,1,mxREAL); // Works
long double* output = mxGetPr(plhs[0]);
output[0] = nan;
plhs[1] = mxCreateDoubleMatrix(1,1,mxREAL); // Does not work
long double* output2 = mxGetPr(plhs[1]);
output2[0] = inf;
}
gOS wrote:
>
> I've got a function which reads in text files formatted in a specific way.
> Thanks to windows, these files can sometimes contain values like 1.#INF or
> 1.#IND or even 1.#QNAN. As you can see these are window's own versions of
> Inf and NaN. These can also be negative.
>
> I was able to produce an NaN value which Octave recognized as NaN with:
> double nan = std::numeric_limits<long double>::quiet_NaN();
>
> However, double inf = std::numeric_limits<long double>::infinity(); was
> interpreted somewhere as meaning NaN as well instead of inf.
>
> Does anyone have any suggestions as to how to correct this?
>
--
View this message in context:
http://www.nabble.com/Reading-NaN---Inf-in-mex-files-tp18838647p18838720.html
Sent from the Octave - General mailing list archive at Nabble.com.