1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
/*
FUNCTION
<<atosfix16>>, <<atosfix32>>, <<atosfix64>>---string to signed fixed-point
INDEX
atosfix16
INDEX
atosfix32
INDEX
atosfix64
INDEX
_atosfix16_r
INDEX
_atosfix32_r
INDEX
_atosfix64_r
ANSI_SYNOPSIS
#include <stdlib.h>
__int16_t atosfix16(const char *<[s]>);
__int32_t atosfix32(const char *<[s]>);
__int64_t atosfix32(const char *<[s]>);
__int16_t _atosfix16_r(struct __reent *, const char *<[s]>);
__int32_t _atosfix32_r(struct __reent *, const char *<[s]>);
__int64_t _atosfix32_r(struct __reent *, const char *<[s]>);
TRAD_SYNOPSIS
#include <stdlib.h>
__int16_t atosfix16(<[s]>)
const char *<[s]>;
__int32_t atosfix32(<[s]>)
const char *<[s]>;
__int64_t atosfix64(<[s]>)
const char *<[s]>;
__int16_t _atosfix16_r(<reent>, <[s]>)
struct _reent *<[reent]>;
const char *<[s]>;
__int32_t _atosfix32_r(<reent>, <[s]>)
struct _reent *<[reent]>;
const char *<[s]>;
__int64_t _atosfix64_r(<reent>, <[s]>)
struct _reent *<[reent]>;
const char *<[s]>;
DESCRIPTION
<<atosfix16>> converts the initial portion of a string to a sign
+ 15-bit fraction fixed point value.
<<atosfix32>> converts the initial portion of a string to a sign
+ 31-bit fraction fixed point value.
<<atosfix64>> converts the initial portion of a string to a sign
+ 63-bit fraction fixed point value.
<<atosfix16(s)>> is implemented as <<strtosfix16(s, NULL).>>
<<atosfix32(s)>> is implemented as <<strtosfix32(s, NULL).>>
<<atosfix64(s)>> is implemented as <<strtosfix64(s, NULL).>>
The alternate functions <<_atosfix16_r>>, <<_atosfix32_r>>,
and <<_atosfix64_r>> are reentrant versions.
The extra argument <[reent]> is a pointer to a reentrancy structure.
RETURNS
The functions return the converted value, if any. If no conversion was
made, <<0>> is returned. If saturation occurs, <<ERANGE>> is stored
in errno.
PORTABILITY
<<atosfix16>>, <<atosfix32>>, and <<atosfix64>> are non-standard.
No supporting OS subroutines are directly required. The
OS subroutines required by <<strtod>> are used.
*/
/*
* Jeff Johnston - 02/13/2002
*/
#ifdef __SPE__
#include <stdlib.h>
#include <_ansi.h>
__int16_t
_DEFUN (_atosfix16_r, (reent, s),
struct _reent *reent _AND
_CONST char *s)
{
return _strtosfix16_r (reent, s, NULL);
}
#ifndef _REENT_ONLY
__int16_t
_DEFUN (atosfix16, (s),
_CONST char *s)
{
return strtosfix16 (s, NULL);
}
#endif /* !_REENT_ONLY */
#endif /* __SPE__ */
|