Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 40
Expand file tree
/
Copy pathSimpleArray.py
More file actions
Latest commit
110 lines (82 loc) · 3.1 KB
/
Copy pathSimpleArray.py
File metadata and controls
110 lines (82 loc) · 3.1 KB
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
fromDeepJetCore.compiled.c_simpleArrayimportsimpleArrayF, simpleArrayI
importnumpyasnp
classSimpleArray(object):
def__init__(self, nparr=None, nprs=np.array([],dtype='int64'), dtype='float32', name=""):
assertnparrisnotNoneordtypeisnotNone
self.dtype=None
ifnparrisnotNone:
dtype=str(nparr.dtype)
self._setDtype(dtype)
ifnparrisnotNone:
self.createFromNumpy(nparr, nprs)
self.setName(name)
def__eq__(self,other):
ifself.sa.dtypeI() !=other.sa.dtypeI():
returnFalse
returnself.sa==other.sa
def_setDtype(self,dtype):
assertdtype=='float32'ordtype=='int32'
ifdtype=='float32':
self.sa=simpleArrayF()
elifdtype=='int32':
self.sa=simpleArrayI()
self.dtype=dtype
#now pass through all the other member functions transparently
defset(self,*args):
self.sa.set(*args)
defsetName(self, namestr: str):
self.sa.setName(namestr)
defsetFeatureNames(self, names: list):
self.sa.setFeatureNames(names)
defname(self):
returnself.sa.name()
deffeatureNames(self):
returnself.sa.featureNames()
defshape(self):
returnself.sa.shape()
defhasNanOrInf(self):
returnself.sa.hasNanOrInf()
defreadFromFile(self,filename):
dt=self.sa.readDtypeFromFile(filename)
self._setDtype(dt)
returnself.sa.readFromFile(filename)
defwriteToFile(self,*args):
returnself.sa.writeToFile(*args)
defassignFromNumpy(self,*args):
returnself.sa.assignFromNumpy(*args)
defcreateFromNumpy(self, nparr, nprs=np.array([],dtype='int64')):
name=self.name()
fnames=self.featureNames()
self._setDtype(str(nparr.dtype))
ifnprs.dtype=='int32':
self.sa.createFromNumpy(nparr, nprs.as_type('int64'))
else:
self.sa.createFromNumpy(nparr, nprs)
self.setName(name)
self.setFeatureNames(fnames)
defcopyToNumpy(self, pad_rowsplits=False):
returnself.sa.copyToNumpy(pad_rowsplits)
deftransferToNumpy(self, pad_rowsplits=False):
returnself.sa.transferToNumpy(pad_rowsplits)
defisRagged(self,*args):
returnself.sa.isRagged(*args)
defsplit(self,*args):
spl=SimpleArray()
spl._setDtype(self.dtype)
spl.sa=self.sa.split(*args)
returnspl
defgetSlice(self,*args):
spl=SimpleArray()
spl._setDtype(self.dtype)
spl.sa=self.sa.getSlice(*args)
returnspl
defappend(self,other):
assertself.sa.dtypeI() ==other.sa.dtypeI()
returnself.sa.append(other.sa)
defcout(self,*args):
returnself.sa.cout(*args)
defsize(self,*args):
returnself.sa.size(*args)
defcopy(self):
arr,rs=self.sa.copyToNumpy(False)
returnSimpleArray(arr,rs)