utf: module string 2
[scilab.git] / scilab / modules / string / includes / stringToDouble.h
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2010-2011 - DIGITEO - Allan CORNET
4  *
5  * This file must be used under the terms of the CeCILL.
6  * This source file is licensed as described in the file COPYING, which
7  * you should have received as part of this distribution.  The terms
8  * are also available at
9  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
10  *
11  * This code is also published under the GPL v3 license.
12  *
13  */
14 #ifndef __STRINGTODOUBLE_H__
15 #define __STRINGTODOUBLE_H__
16
17 #include "dynlib_string.h"
18 #include "BOOL.h"
19 #include <wchar.h>
20
21 #define NanString "Nan"
22 #define InfString "Inf"
23 #define NegInfString "-Inf"
24 #define PosInfString "+Inf"
25 #define NegNanString "-Nan" /* no sense but used by some users */
26 #define PosNanString "+Nan" /* no sense but used by some users */
27 #define ScilabNanString "%nan"
28 #define ScilabInfString "%inf"
29 #define ScilabNegInfString "-%inf"
30 #define ScilabPosInfString "+%inf"
31 #define ScilabNegNanString "-%nan" /* no sense but used by some users */
32 #define ScilabPosNanString "+%nan" /* no sense but used by some users */
33 #define ScilabPiString "%pi"
34 #define ScilabNegPiString "-%pi"
35 #define ScilabPosPiString "+%pi"
36 #define ScilabEString "%e"
37 #define ScilabPosEString "+%e"
38 #define ScilabNegEString "-%e"
39 #define ScilabEpsString "%eps"
40 #define ScilabPosEpsString "+%eps"
41 #define ScilabNegEpsString "-%eps"
42
43 #ifdef __cplusplus
44 extern "C" {
45 #endif
46
47     typedef enum {
48         STRINGTODOUBLE_NO_ERROR = 0,
49         STRINGTODOUBLE_MEMORY_ALLOCATION = 1,
50         STRINGTODOUBLE_NOT_A_NUMBER = 2,
51         STRINGTODOUBLE_ERROR = 3
52     }
53                            stringToDoubleError;
54
55     /**
56      * @TODO add comment
57      *
58      * @param pSTR
59      * @param bConvertByNAN
60      * @param ierr
61      * @return <ReturnValue>
62      */
63     STRING_IMPEXP double stringToDouble(const char *pSTR, BOOL bConvertByNAN, stringToDoubleError *ierr);
64
65 #ifdef __cplusplus
66 }
67 #endif
68
69
70 #endif /* __STRINGTODOUBLE_H__ */
71 // =============================================================================