esiaccel 0.1.5.dev67__cp313-cp313-win_amd64.whl → 0.1.5.dev71__cp313-cp313-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of esiaccel might be problematic. Click here for more details.
- esiaccel/CosimBackend.dll +0 -0
- esiaccel/CosimBackend.lib +0 -0
- esiaccel/ESICppRuntime.dll +0 -0
- esiaccel/ESICppRuntime.lib +0 -0
- esiaccel/EsiCosimDpiServer.dll +0 -0
- esiaccel/EsiCosimDpiServer.lib +0 -0
- esiaccel/MtiPli.dll +0 -0
- esiaccel/MtiPli.lib +0 -0
- esiaccel/esiCppAccel.cp313-win_amd64.pyd +0 -0
- esiaccel/esiquery.exe +0 -0
- esiaccel/include/esi/Common.h +6 -0
- esiaccel/include/esi/Types.h +87 -6
- esiaccel/types.py +20 -50
- {esiaccel-0.1.5.dev67.dist-info → esiaccel-0.1.5.dev71.dist-info}/METADATA +1 -1
- {esiaccel-0.1.5.dev67.dist-info → esiaccel-0.1.5.dev71.dist-info}/RECORD +19 -19
- {esiaccel-0.1.5.dev67.dist-info → esiaccel-0.1.5.dev71.dist-info}/WHEEL +0 -0
- {esiaccel-0.1.5.dev67.dist-info → esiaccel-0.1.5.dev71.dist-info}/entry_points.txt +0 -0
- {esiaccel-0.1.5.dev67.dist-info → esiaccel-0.1.5.dev71.dist-info}/licenses/LICENSE +0 -0
- {esiaccel-0.1.5.dev67.dist-info → esiaccel-0.1.5.dev71.dist-info}/top_level.txt +0 -0
esiaccel/CosimBackend.dll
CHANGED
|
Binary file
|
esiaccel/CosimBackend.lib
CHANGED
|
Binary file
|
esiaccel/ESICppRuntime.dll
CHANGED
|
Binary file
|
esiaccel/ESICppRuntime.lib
CHANGED
|
Binary file
|
esiaccel/EsiCosimDpiServer.dll
CHANGED
|
Binary file
|
esiaccel/EsiCosimDpiServer.lib
CHANGED
|
Binary file
|
esiaccel/MtiPli.dll
CHANGED
|
Binary file
|
esiaccel/MtiPli.lib
CHANGED
|
Binary file
|
|
Binary file
|
esiaccel/esiquery.exe
CHANGED
|
Binary file
|
esiaccel/include/esi/Common.h
CHANGED
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
#include <cstdint>
|
|
21
21
|
#include <map>
|
|
22
22
|
#include <optional>
|
|
23
|
+
#include <span>
|
|
23
24
|
#include <stdexcept>
|
|
24
25
|
#include <string>
|
|
25
26
|
#include <vector>
|
|
@@ -115,6 +116,11 @@ public:
|
|
|
115
116
|
/// Get the data as a vector of bytes.
|
|
116
117
|
const std::vector<uint8_t> &getData() const { return data; }
|
|
117
118
|
|
|
119
|
+
/// Implicit conversion to a vector/span of bytes, to play nice with other
|
|
120
|
+
/// APIs that accept bytearray-like things.
|
|
121
|
+
operator const std::vector<uint8_t> &() const { return data; }
|
|
122
|
+
operator std::span<const uint8_t>() const { return data; }
|
|
123
|
+
|
|
118
124
|
/// Move the data out of this object.
|
|
119
125
|
std::vector<uint8_t> takeData() { return std::move(data); }
|
|
120
126
|
|
esiaccel/include/esi/Types.h
CHANGED
|
@@ -16,11 +16,17 @@
|
|
|
16
16
|
#ifndef ESI_TYPES_H
|
|
17
17
|
#define ESI_TYPES_H
|
|
18
18
|
|
|
19
|
+
#include <algorithm>
|
|
20
|
+
#include <any>
|
|
19
21
|
#include <cstdint>
|
|
20
22
|
#include <map>
|
|
23
|
+
#include <span>
|
|
24
|
+
#include <stdexcept>
|
|
21
25
|
#include <string>
|
|
22
26
|
#include <vector>
|
|
23
27
|
|
|
28
|
+
#include "esi/Common.h"
|
|
29
|
+
|
|
24
30
|
namespace esi {
|
|
25
31
|
|
|
26
32
|
/// Root class of the ESI type system.
|
|
@@ -33,6 +39,37 @@ public:
|
|
|
33
39
|
ID getID() const { return id; }
|
|
34
40
|
virtual std::ptrdiff_t getBitWidth() const { return -1; }
|
|
35
41
|
|
|
42
|
+
/// Serialize an object to MessageData. The object should be passed as a
|
|
43
|
+
/// std::any to provide type erasure. Returns a MessageData containing the
|
|
44
|
+
/// serialized representation.
|
|
45
|
+
virtual MessageData serialize(const std::any &obj) const {
|
|
46
|
+
throw std::runtime_error("Serialization not implemented for type " + id);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/// Deserialize from a span of bytes to an object. Returns the deserialized
|
|
50
|
+
/// object as a std::any and a span to the remaining bytes.
|
|
51
|
+
virtual std::pair<std::any, std::span<const uint8_t>>
|
|
52
|
+
deserialize(std::span<const uint8_t> data) const {
|
|
53
|
+
throw std::runtime_error("Deserialization not implemented for type " + id);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/// Ensure that a std::any object is valid for this type. Throws
|
|
57
|
+
/// std::runtime_error if the object is not valid.
|
|
58
|
+
virtual void ensureValid(const std::any &obj) const {
|
|
59
|
+
throw std::runtime_error("Validation not implemented for type " + id);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Check if a std::any object is valid for this type. Returns an optional
|
|
63
|
+
// error message if the object is not valid, else, std::nullopt.
|
|
64
|
+
std::optional<std::string> isValid(const std::any &obj) const {
|
|
65
|
+
try {
|
|
66
|
+
ensureValid(obj);
|
|
67
|
+
return std::nullopt;
|
|
68
|
+
} catch (const std::runtime_error &e) {
|
|
69
|
+
return e.what();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
36
73
|
protected:
|
|
37
74
|
ID id;
|
|
38
75
|
};
|
|
@@ -54,12 +91,7 @@ public:
|
|
|
54
91
|
const ChannelVector &getChannels() const { return channels; }
|
|
55
92
|
std::ptrdiff_t getBitWidth() const override { return -1; };
|
|
56
93
|
|
|
57
|
-
std::pair<const Type *, Direction> findChannel(std::string name) const
|
|
58
|
-
for (auto [channelName, dir, type] : channels)
|
|
59
|
-
if (channelName == name)
|
|
60
|
-
return std::make_pair(type, dir);
|
|
61
|
-
throw std::runtime_error("Channel '" + name + "' not found in bundle");
|
|
62
|
-
}
|
|
94
|
+
std::pair<const Type *, Direction> findChannel(std::string name) const;
|
|
63
95
|
|
|
64
96
|
protected:
|
|
65
97
|
ChannelVector channels;
|
|
@@ -73,6 +105,13 @@ public:
|
|
|
73
105
|
const Type *getInner() const { return inner; }
|
|
74
106
|
std::ptrdiff_t getBitWidth() const override { return inner->getBitWidth(); };
|
|
75
107
|
|
|
108
|
+
void ensureValid(const std::any &obj) const override;
|
|
109
|
+
|
|
110
|
+
MessageData serialize(const std::any &obj) const override;
|
|
111
|
+
|
|
112
|
+
std::pair<std::any, std::span<const uint8_t>>
|
|
113
|
+
deserialize(std::span<const uint8_t> data) const override;
|
|
114
|
+
|
|
76
115
|
private:
|
|
77
116
|
const Type *inner;
|
|
78
117
|
};
|
|
@@ -83,6 +122,13 @@ public:
|
|
|
83
122
|
VoidType(const ID &id) : Type(id) {}
|
|
84
123
|
// 'void' is 1 bit by convention.
|
|
85
124
|
std::ptrdiff_t getBitWidth() const override { return 1; };
|
|
125
|
+
|
|
126
|
+
void ensureValid(const std::any &obj) const override;
|
|
127
|
+
|
|
128
|
+
MessageData serialize(const std::any &obj) const override;
|
|
129
|
+
|
|
130
|
+
std::pair<std::any, std::span<const uint8_t>>
|
|
131
|
+
deserialize(std::span<const uint8_t> data) const override;
|
|
86
132
|
};
|
|
87
133
|
|
|
88
134
|
/// The "any" type is a special type which can be used to represent any type, as
|
|
@@ -112,6 +158,13 @@ private:
|
|
|
112
158
|
class BitsType : public BitVectorType {
|
|
113
159
|
public:
|
|
114
160
|
using BitVectorType::BitVectorType;
|
|
161
|
+
|
|
162
|
+
void ensureValid(const std::any &obj) const override;
|
|
163
|
+
|
|
164
|
+
MessageData serialize(const std::any &obj) const override;
|
|
165
|
+
|
|
166
|
+
std::pair<std::any, std::span<const uint8_t>>
|
|
167
|
+
deserialize(std::span<const uint8_t> data) const override;
|
|
115
168
|
};
|
|
116
169
|
|
|
117
170
|
/// Integers are bit vectors which may be signed or unsigned and are interpreted
|
|
@@ -125,12 +178,26 @@ public:
|
|
|
125
178
|
class SIntType : public IntegerType {
|
|
126
179
|
public:
|
|
127
180
|
using IntegerType::IntegerType;
|
|
181
|
+
|
|
182
|
+
void ensureValid(const std::any &obj) const override;
|
|
183
|
+
|
|
184
|
+
MessageData serialize(const std::any &obj) const override;
|
|
185
|
+
|
|
186
|
+
std::pair<std::any, std::span<const uint8_t>>
|
|
187
|
+
deserialize(std::span<const uint8_t> data) const override;
|
|
128
188
|
};
|
|
129
189
|
|
|
130
190
|
/// Unsigned integer.
|
|
131
191
|
class UIntType : public IntegerType {
|
|
132
192
|
public:
|
|
133
193
|
using IntegerType::IntegerType;
|
|
194
|
+
|
|
195
|
+
void ensureValid(const std::any &obj) const override;
|
|
196
|
+
|
|
197
|
+
MessageData serialize(const std::any &obj) const override;
|
|
198
|
+
|
|
199
|
+
std::pair<std::any, std::span<const uint8_t>>
|
|
200
|
+
deserialize(std::span<const uint8_t> data) const override;
|
|
134
201
|
};
|
|
135
202
|
|
|
136
203
|
/// Structs are an ordered collection of fields, each with a name and a type.
|
|
@@ -153,6 +220,13 @@ public:
|
|
|
153
220
|
return size;
|
|
154
221
|
}
|
|
155
222
|
|
|
223
|
+
void ensureValid(const std::any &obj) const override;
|
|
224
|
+
|
|
225
|
+
MessageData serialize(const std::any &obj) const override;
|
|
226
|
+
|
|
227
|
+
std::pair<std::any, std::span<const uint8_t>>
|
|
228
|
+
deserialize(std::span<const uint8_t> data) const override;
|
|
229
|
+
|
|
156
230
|
private:
|
|
157
231
|
FieldVector fields;
|
|
158
232
|
};
|
|
@@ -172,6 +246,13 @@ public:
|
|
|
172
246
|
return elementSize * size;
|
|
173
247
|
}
|
|
174
248
|
|
|
249
|
+
void ensureValid(const std::any &obj) const override;
|
|
250
|
+
|
|
251
|
+
MessageData serialize(const std::any &obj) const override;
|
|
252
|
+
|
|
253
|
+
std::pair<std::any, std::span<const uint8_t>>
|
|
254
|
+
deserialize(std::span<const uint8_t> data) const override;
|
|
255
|
+
|
|
175
256
|
private:
|
|
176
257
|
const Type *elementType;
|
|
177
258
|
uint64_t size;
|
esiaccel/types.py
CHANGED
|
@@ -15,7 +15,6 @@ from __future__ import annotations
|
|
|
15
15
|
from . import esiCppAccel as cpp
|
|
16
16
|
|
|
17
17
|
from typing import TYPE_CHECKING
|
|
18
|
-
|
|
19
18
|
if TYPE_CHECKING:
|
|
20
19
|
from .accelerator import HWModule
|
|
21
20
|
|
|
@@ -27,33 +26,22 @@ import traceback
|
|
|
27
26
|
|
|
28
27
|
def _get_esi_type(cpp_type: cpp.Type):
|
|
29
28
|
"""Get the wrapper class for a C++ type."""
|
|
30
|
-
|
|
31
|
-
return _get_esi_type(cpp_type.inner)
|
|
32
|
-
|
|
33
|
-
for cpp_type_cls, wrapper_cls in __esi_mapping.items():
|
|
29
|
+
for cpp_type_cls, fn in __esi_mapping.items():
|
|
34
30
|
if isinstance(cpp_type, cpp_type_cls):
|
|
35
|
-
return
|
|
36
|
-
return ESIType
|
|
31
|
+
return fn(cpp_type)
|
|
32
|
+
return ESIType(cpp_type)
|
|
37
33
|
|
|
38
34
|
|
|
39
|
-
# Mapping from C++ types to
|
|
40
|
-
|
|
35
|
+
# Mapping from C++ types to functions constructing the Python object
|
|
36
|
+
# corresponding to that type.
|
|
37
|
+
__esi_mapping: Dict[Type, Callable] = {
|
|
38
|
+
cpp.ChannelType: lambda cpp_type: _get_esi_type(cpp_type.inner)
|
|
39
|
+
}
|
|
41
40
|
|
|
42
41
|
|
|
43
42
|
class ESIType:
|
|
44
43
|
|
|
45
|
-
def __init__(self,
|
|
46
|
-
self._init_from_cpp(cpp.Type(id))
|
|
47
|
-
|
|
48
|
-
@classmethod
|
|
49
|
-
def wrap_cpp(cls, cpp_type: cpp.Type):
|
|
50
|
-
"""Wrap a C++ ESI type with its corresponding Python ESI Type."""
|
|
51
|
-
instance = cls.__new__(cls)
|
|
52
|
-
instance._init_from_cpp(cpp_type)
|
|
53
|
-
return instance
|
|
54
|
-
|
|
55
|
-
def _init_from_cpp(self, cpp_type: cpp.Type):
|
|
56
|
-
"""Initialize instance attributes from a C++ type object."""
|
|
44
|
+
def __init__(self, cpp_type: cpp.Type):
|
|
57
45
|
self.cpp_type = cpp_type
|
|
58
46
|
|
|
59
47
|
@property
|
|
@@ -98,9 +86,6 @@ class ESIType:
|
|
|
98
86
|
|
|
99
87
|
class VoidType(ESIType):
|
|
100
88
|
|
|
101
|
-
def __init__(self, id: str):
|
|
102
|
-
self._init_from_cpp(cpp.VoidType(id))
|
|
103
|
-
|
|
104
89
|
def is_valid(self, obj) -> Tuple[bool, Optional[str]]:
|
|
105
90
|
if obj is not None:
|
|
106
91
|
return (False, f"void type cannot must represented by None, not {obj}")
|
|
@@ -125,8 +110,8 @@ __esi_mapping[cpp.VoidType] = VoidType
|
|
|
125
110
|
|
|
126
111
|
class BitsType(ESIType):
|
|
127
112
|
|
|
128
|
-
def __init__(self,
|
|
129
|
-
self.
|
|
113
|
+
def __init__(self, cpp_type: cpp.BitsType):
|
|
114
|
+
self.cpp_type: cpp.BitsType = cpp_type
|
|
130
115
|
|
|
131
116
|
def is_valid(self, obj) -> Tuple[bool, Optional[str]]:
|
|
132
117
|
if not isinstance(obj, (bytearray, bytes, list)):
|
|
@@ -158,8 +143,8 @@ __esi_mapping[cpp.BitsType] = BitsType
|
|
|
158
143
|
|
|
159
144
|
class IntType(ESIType):
|
|
160
145
|
|
|
161
|
-
def __init__(self,
|
|
162
|
-
self.
|
|
146
|
+
def __init__(self, cpp_type: cpp.IntegerType):
|
|
147
|
+
self.cpp_type: cpp.IntegerType = cpp_type
|
|
163
148
|
|
|
164
149
|
@property
|
|
165
150
|
def bit_width(self) -> int:
|
|
@@ -168,9 +153,6 @@ class IntType(ESIType):
|
|
|
168
153
|
|
|
169
154
|
class UIntType(IntType):
|
|
170
155
|
|
|
171
|
-
def __init__(self, id: str, width: int):
|
|
172
|
-
self._init_from_cpp(cpp.UIntType(id, width))
|
|
173
|
-
|
|
174
156
|
def is_valid(self, obj) -> Tuple[bool, Optional[str]]:
|
|
175
157
|
if not isinstance(obj, int):
|
|
176
158
|
return (False, f"must be an int, not {type(obj)}")
|
|
@@ -194,9 +176,6 @@ __esi_mapping[cpp.UIntType] = UIntType
|
|
|
194
176
|
|
|
195
177
|
class SIntType(IntType):
|
|
196
178
|
|
|
197
|
-
def __init__(self, id: str, width: int):
|
|
198
|
-
self._init_from_cpp(cpp.SIntType(id, width))
|
|
199
|
-
|
|
200
179
|
def is_valid(self, obj) -> Tuple[bool, Optional[str]]:
|
|
201
180
|
if not isinstance(obj, int):
|
|
202
181
|
return (False, f"must be an int, not {type(obj)}")
|
|
@@ -224,16 +203,11 @@ __esi_mapping[cpp.SIntType] = SIntType
|
|
|
224
203
|
|
|
225
204
|
class StructType(ESIType):
|
|
226
205
|
|
|
227
|
-
def __init__(self,
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
def _init_from_cpp(self, cpp_type: cpp.StructType):
|
|
233
|
-
"""Initialize instance attributes from a C++ type object."""
|
|
234
|
-
super()._init_from_cpp(cpp_type)
|
|
235
|
-
# For wrap_cpp path, we need to convert C++ fields back to Python
|
|
236
|
-
self.fields = [(name, _get_esi_type(ty)) for (name, ty) in cpp_type.fields]
|
|
206
|
+
def __init__(self, cpp_type: cpp.StructType):
|
|
207
|
+
self.cpp_type = cpp_type
|
|
208
|
+
self.fields: List[Tuple[str, ESIType]] = [
|
|
209
|
+
(name, _get_esi_type(ty)) for (name, ty) in cpp_type.fields
|
|
210
|
+
]
|
|
237
211
|
|
|
238
212
|
@property
|
|
239
213
|
def bit_width(self) -> int:
|
|
@@ -278,12 +252,8 @@ __esi_mapping[cpp.StructType] = StructType
|
|
|
278
252
|
|
|
279
253
|
class ArrayType(ESIType):
|
|
280
254
|
|
|
281
|
-
def __init__(self,
|
|
282
|
-
self.
|
|
283
|
-
|
|
284
|
-
def _init_from_cpp(self, cpp_type: cpp.ArrayType):
|
|
285
|
-
"""Initialize instance attributes from a C++ type object."""
|
|
286
|
-
super()._init_from_cpp(cpp_type)
|
|
255
|
+
def __init__(self, cpp_type: cpp.ArrayType):
|
|
256
|
+
self.cpp_type = cpp_type
|
|
287
257
|
self.element_type = _get_esi_type(cpp_type.element)
|
|
288
258
|
self.size = cpp_type.size
|
|
289
259
|
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
esiaccel/CosimBackend.dll,sha256=
|
|
2
|
-
esiaccel/CosimBackend.lib,sha256=
|
|
3
|
-
esiaccel/ESICppRuntime.dll,sha256=
|
|
4
|
-
esiaccel/ESICppRuntime.lib,sha256=
|
|
5
|
-
esiaccel/EsiCosimDpiServer.dll,sha256=
|
|
6
|
-
esiaccel/EsiCosimDpiServer.lib,sha256=
|
|
7
|
-
esiaccel/MtiPli.dll,sha256=
|
|
8
|
-
esiaccel/MtiPli.lib,sha256=
|
|
1
|
+
esiaccel/CosimBackend.dll,sha256=U4z2RzwQAlGfVgLJxFsMUZpJaKCO3CTqQ2BbPySQJCM,7152128
|
|
2
|
+
esiaccel/CosimBackend.lib,sha256=S1wD7i3dUYU1AmrlONIqggtOUbt9oxOGVmzZwXaPQnk,4992914
|
|
3
|
+
esiaccel/ESICppRuntime.dll,sha256=ZjlfAV2VUYInKKOZXzO5ljIYvLWoYzId-JKHFPwqCk8,4068352
|
|
4
|
+
esiaccel/ESICppRuntime.lib,sha256=bWRxqgq0CYXlsMuJQZNetNhRQiw9JJgfM-NLiaMHHqA,15124618
|
|
5
|
+
esiaccel/EsiCosimDpiServer.dll,sha256=05pexC44izGeV2NmMFmey7W2i7Acx4QXL46m33T0ba4,159744
|
|
6
|
+
esiaccel/EsiCosimDpiServer.lib,sha256=bYBigD0RtRRSEiDxf4_gvpasLjD8fcUmC0CjRgQiQ0s,604164
|
|
7
|
+
esiaccel/MtiPli.dll,sha256=8yFF1tP-LW_WnKzJwb1ZauZQavF2Bk4ZuBWOIeALpwg,14848
|
|
8
|
+
esiaccel/MtiPli.lib,sha256=X0PcXwheCUvBMgQ5BAawePxbXQSLNk5M1FFn6V56ydo,14570
|
|
9
9
|
esiaccel/__init__.py,sha256=C0GLqCQuF5g5qTzmAkf_YAHmBV2XAyiJad3Qz7h8u1g,562
|
|
10
10
|
esiaccel/accelerator.py,sha256=BcXPsUqcQV3YsVVyYbz9P6JnZLlcnuageFbJwID9_3s,3318
|
|
11
11
|
esiaccel/codegen.py,sha256=uoYELtnIabVvgLeCABj-mWras0BvmSKABPH-cd9nDFk,6560
|
|
12
12
|
esiaccel/esi-cosim.py,sha256=GwYfNh4aagypheAhGf0EIX6ojkLYKkc5OMlFR9pfXe8,14381
|
|
13
|
-
esiaccel/esiCppAccel.cp313-win_amd64.pyd,sha256=
|
|
14
|
-
esiaccel/esiquery.exe,sha256=
|
|
15
|
-
esiaccel/types.py,sha256=
|
|
13
|
+
esiaccel/esiCppAccel.cp313-win_amd64.pyd,sha256=TLzcx1sfOCu0EvVLvrzMUpNckuk5ByWG-7Et_r_kJzM,467968
|
|
14
|
+
esiaccel/esiquery.exe,sha256=gATfUAj3c1UNuTLSgbeSM6Tjq3bObOCmKbb5yKyKg7w,441856
|
|
15
|
+
esiaccel/types.py,sha256=xR7XbXQ8LqoiiniThYJhqphG813KBNi5d-yHm5bEXtg,17465
|
|
16
16
|
esiaccel/utils.py,sha256=0_A8Jw3M7mjvjTHeV6u00tvRWxLnWKdFq_6NFKTgbVk,1296
|
|
17
17
|
esiaccel/cmake/esiaccelConfig.cmake,sha256=u2aW99k1lEcmYTG1P3BTJqtmDrj53wUUaBz_jzw8kYY,565
|
|
18
18
|
esiaccel/cosim/Cosim_DpiPkg.sv,sha256=9qGn1VyAVrzBP5At1thV6xrovg0WghICD01Zz9J221E,3458
|
|
@@ -22,7 +22,7 @@ esiaccel/cosim/driver.cpp,sha256=DrEKkSN7Y_Hu7wcaUulH5mbC2L4yB9xLClRMeRUpzHM,384
|
|
|
22
22
|
esiaccel/cosim/driver.sv,sha256=ro-j9GM164A1W0MDPkqYfEn3TUKHSqVvgjO31fnloQI,1428
|
|
23
23
|
esiaccel/include/esi/Accelerator.h,sha256=RhkZ2HeMZ0iHc5BkHdDWXoeg9J9lyPQciH5bWq5Qc_w,9772
|
|
24
24
|
esiaccel/include/esi/CLI.h,sha256=Nn8tHn_xtEfkrD7USE2tao6ktYOJ6xcbnhZkS9-ox0A,2540
|
|
25
|
-
esiaccel/include/esi/Common.h,sha256=
|
|
25
|
+
esiaccel/include/esi/Common.h,sha256=IGJvAU72dlearXFbSmlXFFriy8aomirp7opEBjgewek,5775
|
|
26
26
|
esiaccel/include/esi/Context.h,sha256=Tk_4nBDtTeVY62GfX4Cs_ZMIQstjSgrWHddN_PKANEA,2396
|
|
27
27
|
esiaccel/include/esi/Design.h,sha256=mU8OwpCYijiWSdDq17l45LMzZxBca93nosudWCXNHfQ,4922
|
|
28
28
|
esiaccel/include/esi/Engines.h,sha256=bbGbhXjYMpIpXh_DR0OS57zyGQUIDXh_S7xHX3su0Y0,4831
|
|
@@ -30,14 +30,14 @@ esiaccel/include/esi/Logging.h,sha256=sHqMcpp0lNIHkIEyvSm-BBWx4zXXh6NOATCgZpgzYI
|
|
|
30
30
|
esiaccel/include/esi/Manifest.h,sha256=j3v9UA0ogtJQBlv6k5s4j_3sCsq-gwF9btVg5dKTBlg,2244
|
|
31
31
|
esiaccel/include/esi/Ports.h,sha256=T2WbPBViUSvFbO5Jjxlcp_eGq9jMitguvNnz3O0564U,10543
|
|
32
32
|
esiaccel/include/esi/Services.h,sha256=H7Iq3F3LivSZHblFJmrC8RAU_MftfKAPDtyGBfJ2nP4,14815
|
|
33
|
-
esiaccel/include/esi/Types.h,sha256=
|
|
33
|
+
esiaccel/include/esi/Types.h,sha256=ZfPCyeVSHIZ7_jwBl1SFd0XrkqFDEk3LvCcBKnGvjF4,8327
|
|
34
34
|
esiaccel/include/esi/Utils.h,sha256=KPd75GajIFeTBVJocXBjwsJqhbZg-ShWZCIe3oQdBss,3061
|
|
35
35
|
esiaccel/include/esi/backends/Cosim.h,sha256=s7vYd0ra6m1nvk-n37MjvBoGVI-CCUKBt0DU4PKlaHM,2838
|
|
36
36
|
esiaccel/include/esi/backends/RpcServer.h,sha256=WMwnhwU2qnrcglGNeiKg9QQHpkDx1QE1JydKYDK4jqE,1856
|
|
37
37
|
esiaccel/include/esi/backends/Trace.h,sha256=kx4wwLH3a0ndmRUdaDyYGZ1SP83zlpFrk30Nw8ZrJJA,3286
|
|
38
|
-
esiaccel-0.1.5.
|
|
39
|
-
esiaccel-0.1.5.
|
|
40
|
-
esiaccel-0.1.5.
|
|
41
|
-
esiaccel-0.1.5.
|
|
42
|
-
esiaccel-0.1.5.
|
|
43
|
-
esiaccel-0.1.5.
|
|
38
|
+
esiaccel-0.1.5.dev71.dist-info/licenses/LICENSE,sha256=vtnVnB8_lN1yPYcA5MeT56R8UsQtBhyzZLBvu_KMf7I,13468
|
|
39
|
+
esiaccel-0.1.5.dev71.dist-info/METADATA,sha256=k7H3Z3P-PQ2EMvZlMYHPhNocpRQ_m-y_TG8nFW_tLqg,16147
|
|
40
|
+
esiaccel-0.1.5.dev71.dist-info/WHEEL,sha256=qV0EIPljj1XC_vuSatRWjn02nZIz3N1t8jsZz7HBr2U,101
|
|
41
|
+
esiaccel-0.1.5.dev71.dist-info/entry_points.txt,sha256=_CuNLV0fyTURxRREFwpzGycifZW_-7-MyuJNEwKK9J8,137
|
|
42
|
+
esiaccel-0.1.5.dev71.dist-info/top_level.txt,sha256=fYWTWMDK4PDu4ePQ9NtcFHas2k8-d1kWhTs2avPpgB4,9
|
|
43
|
+
esiaccel-0.1.5.dev71.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|