1 # copyright 2016 Apache 2 sddekit authors
3 from sddekit_h cimport
*
7 cdef class Hist
(object):
11 np
.ndarray
[uint32_t
, ndim
=1, mode
="c"] vi
not None
,
12 np
.ndarray
[double
, ndim
=1, mode
="c"] vd
not None
, double t0
, double dt
):
13 self.h
= sd_hist_new_default
(vi
.size
,
23 def fill
(self, filler
):
24 cdef sd_hfill
*hf
= hfill_py_new
(filler
)
25 cdef sd_stat stat
= self.h
.fill
(self.h
, hf
)
28 raise Exception('fill failed.')
30 def get
(self, double t
):
31 cdef np
.ndarray
[double
, ndim
=1] aff
= np
.empty
((self.nd
(),), np
.float64
)
32 self.h
.get
(self.h
, t
, <double
*> aff
.data
)
35 def set
(self, double t
, np
.ndarray
[double
, ndim
=1] eff
):
36 # void sd_hist_set(sd_hist * h, double t, double * eff)
37 self.h
.set
(self.h
, t
, <double
*> eff
.data
)
40 return self.h
.get_maxvi
(self.h
)
43 return self.h
.get_nu
(self.h
)
46 return self.h
.get_nd
(self.h
)
49 return self.h
.get_t
(self.h
)
52 return self.h
.get_dt
(self.h
)
55 return self.h
.get_vi2i
(self.h
, i
)
58 return self.h
.get_buf_lin
(self.h
, i
)
61 return self.h
.get_lim
(self.h
, i
)
64 return self.h
.get_len
(self.h
, i
)
67 return self.h
.get_pos
(self.h
, i
)
70 return self.h
.get_uvi
(self.h
, i
)
73 return self.h
.get_maxd
(self.h
, i
)
76 return self.h
.get_vi
(self.h
, i
)
79 return self.h
.get_vd
(self.h
, i
)