summaryrefslogtreecommitdiffstats
path: root/PC/pycon.ico
blob: a54682d91c85164fe9c910f5831935bd7fd6983c (plain)
ofshex dumpascii
0000 00 00 01 00 01 00 20 20 10 00 00 00 00 00 e8 02 00 00 16 00 00 00 28 00 00 00 20 00 00 00 40 00 ......................(.......@.
0020 00 00 01 00 04 00 00 00 00 00 80 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 80 00 00 80 00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80 00 00 80 80 80 00 c0 c0 ................................
0060 c0 00 00 00 ff 00 00 ff 00 00 00 ff ff 00 ff 00 00 00 ff 00 ff 00 ff ff 00 00 ff ff ff 00 00 00 ................................
0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 ................................
00a0 77 77 77 77 77 77 77 77 77 77 77 77 70 00 00 f8 88 88 88 88 88 88 88 88 88 88 88 88 87 00 00 f8 wwwwwwwwwwwwp...................
00c0 8f ff ff ff ff ff ff ff ff ff ff f8 87 00 00 f8 70 00 00 00 00 00 00 00 00 00 00 0f 87 00 00 f8 ................p...............
00e0 70 99 00 00 00 00 0a aa 33 33 30 0f 87 00 00 f8 70 09 9a aa a0 00 00 33 a3 33 33 0f 87 00 00 f8 p.......330.....p......3.33.....
0100 70 00 99 a3 aa a0 00 00 aa 33 33 0f 87 00 00 f8 70 00 09 90 03 aa a0 00 03 a3 33 0f 87 00 00 f8 p........33.....p.........3.....
0120 70 00 00 99 00 03 aa 00 0a aa 33 0f 87 00 00 f8 70 0a 3a 3a 30 00 a3 a0 03 3a 33 0f 87 00 00 f8 p.........3.....p.::0....:3.....
0140 70 aa aa aa aa 00 03 aa 0a aa 33 0f 87 00 00 f8 70 aa 3a 3a 3a aa 00 a3 a0 a3 33 0f 87 00 00 f8 p.........3.....p.:::.....3.....
0160 70 33 33 33 3a 3a a0 0a aa 03 33 0f 87 00 00 f8 70 30 33 03 33 3a 3a aa aa 03 33 0f 87 00 00 f8 p333::....3.....p03.3::...3.....
0180 70 33 33 33 33 33 3a 3a aa 03 33 0f 87 00 00 f8 70 03 33 33 33 33 33 33 a0 33 33 0f 87 00 00 f8 p33333::..3.....p.333333.33.....
01a0 70 00 03 33 33 33 33 33 03 33 00 0f 87 00 00 f8 70 00 00 00 03 00 03 33 00 00 00 0f 87 00 00 f8 p..33333.3......p......3........
01c0 70 00 00 0b b0 bb b0 30 00 00 00 0f 87 00 00 f8 70 00 00 0b c0 bc c0 30 00 00 00 0f 87 00 00 f8 p......0........p......0........
01e0 70 00 00 0b c0 bc c0 30 00 00 00 0f 87 00 00 f8 70 00 00 0b b0 bb b0 30 00 00 00 0f 87 00 00 f8 p......0........p......0........
0200 70 00 00 00 00 00 03 30 00 00 00 0f 87 00 00 f8 70 00 00 00 33 03 33 00 00 00 00 0f 87 00 00 00 p......0........p...3.3.........
0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cc cc cc cc cc cc cc cc cc cc cc cc cc cc 00 00 77 ...............................w
0240 cf fc ff cf ff cc fc cc cc cc c7 7c 77 00 00 87 cc cc cc cc cc cc cc cc cc cc c8 7c 87 00 00 00 ...........|w..............|....
0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ................................
0280 ff ff e0 00 00 07 c0 00 00 03 80 00 00 01 80 00 00 01 80 00 00 01 80 07 00 01 82 01 80 01 82 00 ................................
02a0 60 01 82 00 30 01 82 00 10 01 80 00 00 01 80 00 00 01 80 00 00 01 80 00 00 01 80 00 00 01 80 00 `...0...........................
02c0 00 01 80 00 00 01 82 00 00 01 83 80 00 c1 83 c0 07 c1 83 c0 0f c1 83 c0 0f c1 83 c0 0f c1 83 c0 ................................
02e0 0f c1 83 e0 1f c1 80 00 00 01 80 00 00 01 80 00 00 01 80 00 00 01 80 00 00 01 ff ff ff ff ..............................
600813'>root/src/H5Tfixed.c
blob: bc1d84dc31c0cb87cdaea3cb6281793d34548fea (plain)
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * Copyright by The HDF Group.                                               *
 * Copyright by the Board of Trustees of the University of Illinois.         *
 * All rights reserved.                                                      *
 *                                                                           *
 * This file is part of HDF5.  The full HDF5 copyright notice, including     *
 * terms governing use, modification, and redistribution, is contained in    *
 * the COPYING file, which can be found at the root of the source code       *
 * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.  *
 * If you do not have access to either file, you may request a copy from     *
 * help@hdfgroup.org.                                                        *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

/*
 * Module Info: This module contains the functionality for fixed-point (i.e.
 *      integer) datatypes in the H5T interface.
 */

#include "H5Tmodule.h"          /* This source code file is part of the H5T module */


#include "H5private.h"		/*generic functions			  */
#include "H5Eprivate.h"		/*error handling			  */
#include "H5Iprivate.h"		/*ID functions		   		  */
#include "H5Tpkg.h"		/*data-type functions			  */


/*-------------------------------------------------------------------------
 * Function:	H5Tget_sign
 *
 * Purpose:	Retrieves the sign type for an integer type.
 *
 * Return:	Success:	The sign type.
 *
 *		Failure:	H5T_SGN_ERROR (Negative)
 *
 * Programmer:	Robb Matzke
 *		Wednesday, January  7, 1998
 *
 * Modifications:
 *	Robb Matzke, 22 Dec 1998
 *	Also works with derived datatypes.
 *-------------------------------------------------------------------------
 */
H5T_sign_t
H5Tget_sign(hid_t type_id)
{
    H5T_t		*dt = NULL;
    H5T_sign_t		ret_value;

    FUNC_ENTER_API(H5T_SGN_ERROR)
    H5TRACE1("Ts", "i", type_id);

    /* Check args */
    if (NULL == (dt = (H5T_t *)H5I_object_verify(type_id,H5I_DATATYPE)))
        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5T_SGN_ERROR, "not an integer datatype")

    ret_value = H5T_get_sign(dt);

done:
    FUNC_LEAVE_API(ret_value)
}


/*-------------------------------------------------------------------------
 * Function:	H5T_get_sign
 *
 * Purpose:	Private function for H5Tget_sign.  Retrieves the sign type
 *              for an integer type.
 *
 * Return:	Success:	The sign type.
 *
 *		Failure:	H5T_SGN_ERROR (Negative)
 *
 * Programmer:	Raymond Lu
 *		October 8, 2002
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
H5T_sign_t
H5T_get_sign(H5T_t const *dt)
{
    H5T_sign_t		ret_value = H5T_SGN_ERROR;      /* Return value */

    FUNC_ENTER_NOAPI(H5T_SGN_ERROR)

    HDassert(dt);

    /* Defer to parent */
    while(dt->shared->parent)
        dt = dt->shared->parent;

    /* Check args */
    if (H5T_INTEGER!=dt->shared->type)
	HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, H5T_SGN_ERROR, "operation not defined for datatype class")

    /* Sign */
    ret_value = dt->shared->u.atomic.u.i.sign;

done:
    FUNC_LEAVE_NOAPI(ret_value)
}



/*-------------------------------------------------------------------------
 * Function:	H5Tset_sign
 *
 * Purpose:	Sets the sign property for an integer.
 *
 * Return:	Non-negative on success/Negative on failure
 *
 * Programmer:	Robb Matzke
 *		Wednesday, January  7, 1998
 *
 * Modifications:
 * 	Robb Matzke, 22 Dec 1998
 *	Also works with derived datatypes.
 *
 *-------------------------------------------------------------------------
 */
herr_t
H5Tset_sign(hid_t type_id, H5T_sign_t sign)
{
    H5T_t	*dt = NULL;
    herr_t      ret_value=SUCCEED;       /* Return value */

    FUNC_ENTER_API(FAIL)
    H5TRACE2("e", "iTs", type_id, sign);

    /* Check args */
    if (NULL == (dt = (H5T_t *)H5I_object_verify(type_id,H5I_DATATYPE)))
        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not an integer datatype")
    if (H5T_STATE_TRANSIENT!=dt->shared->state)
        HGOTO_ERROR(H5E_ARGS, H5E_CANTINIT, FAIL, "datatype is read-only")
    if (sign < H5T_SGN_NONE || sign >= H5T_NSGN)
        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "illegal sign type")
    if (H5T_ENUM==dt->shared->type && dt->shared->u.enumer.nmembs>0)
        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "operation not allowed after members are defined")
    while (dt->shared->parent)
        dt = dt->shared->parent; /*defer to parent*/
    if (H5T_INTEGER!=dt->shared->type)
        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "operation not defined for datatype class")

    /* Commit */
    dt->shared->u.atomic.u.i.sign = sign;

done:
    FUNC_LEAVE_API(ret_value)
}