[Mesa-dev] [PATCH] tgsi: fix parsing nan float inputs
Roland Mainz
roland.mainz at nrubsig.org
Mon Oct 10 21:57:01 UTC 2016
On Mon, Oct 10, 2016 at 11:40 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> On Mon, Oct 10, 2016 at 5:36 PM, Roland Mainz <roland.mainz at nrubsig.org> wrote:
>> On Mon, Oct 10, 2016 at 6:12 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>>> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
>>> ---
>>> src/gallium/auxiliary/tgsi/tgsi_text.c | 7 ++++++-
>>> 1 file changed, 6 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/src/gallium/auxiliary/tgsi/tgsi_text.c b/src/gallium/auxiliary/tgsi/tgsi_text.c
>>> index be80842..36dc979 100644
>>> --- a/src/gallium/auxiliary/tgsi/tgsi_text.c
>>> +++ b/src/gallium/auxiliary/tgsi/tgsi_text.c
>>> @@ -257,8 +257,13 @@ static boolean parse_float( const char **pcur, float *val )
>>> cur++;
>>> }
>>> }
>>> - if (!integral_part && !fractional_part)
>>> + if (!integral_part && !fractional_part) {
>>> + if (uprcase(*cur++) == 'N' &&
>>> + uprcase(*cur++) == 'A' &&
>>> + uprcase(*cur++) == 'N')
>>> + goto out;
>>> return FALSE;
>>> + }
>>> if (uprcase( *cur ) == 'E') {
>>> cur++;
>>> if (*cur == '-' || *cur == '+')
>>
>> Not digging around in the code... but...
>> ... do you handle -nan and +nan ?
>
> Further up:
>
> *val = (float) atof( cur );
> if (*cur == '-' || *cur == '+')
> cur++;
Thanks... :-)
> I'd kinda prefer to use strtof() and get rid of this function. Does
> that work on MSVC?
No idea... ;-(
----
Bye,
Roland
--
__ . . __
(o.\ \/ /.o) roland.mainz at nrubsig.org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 3992797
(;O/ \/ \O;)
More information about the mesa-dev
mailing list