help-octave
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]