35 Histogram(
const unsigned long long &Nbins,
const double &min_val,
const double &max_val);
41 this->bins = rhs.
bins;
50 this->bins = rhs.
bins;
60 memset(this->vars.data(),0,
sizeof(
double)*this->vars.
size());
65 std::vector<T> tmp = data;
66 std::sort(tmp.begin(),tmp.end());
73 for(
unsigned long long i=0;i<tmp.size();i++){
74 while(cntr<=this->
bins){
98 return this->x.
size();
123 Histogram2d(
const unsigned long long &Nbinx,
const unsigned long long &Nbiny,
const double &min_x,
const double &max_x,
const double &min_y,
const double &max_y);
127 this->minx = rhs.
minx;
128 this->maxx = rhs.
maxx;
129 this->miny = rhs.
miny;
130 this->maxy = rhs.
maxy;
131 this->binx = rhs.
binx;
132 this->biny = rhs.
biny;
140 this->minx = rhs.
minx;
141 this->maxx = rhs.
maxx;
142 this->miny = rhs.
miny;
143 this->maxy = rhs.
maxy;
144 this->binx = rhs.
binx;
145 this->biny = rhs.
biny;
156 memset(this->vars.data(),0,
sizeof(
double)*this->vars.
size());
160 void accumulate(
const std::vector<T> &data_x,
const std::vector<T> &data_y){
162 cytnx_error_msg(data_x.size()!=data_y.size(),
"[ERROR][Histogram2d::accumulate] data_x and data_y should have same size!%s",
"\n");
170 for(
unsigned long long i=0;i<data_x.size();i++){
172 nx = floor(data_x[i]/dx);
173 ny = floor(data_y[i]/dy);
200 std::vector<cytnx_uint64>
size(){
201 return std::vector<cytnx_uint64>({this->x.
size(),this->y.
size()});
an memeory storage with multi-type/multi-device support
Definition Storage.hpp:934
const unsigned long long & size() const
the size ( no. of elements ) in the Storage
Definition Storage.hpp:1201
Storage clone() const
return a copy of current storage.
Definition Storage.hpp:1192
2D, real value histogram
Definition stat.hpp:105
uint64_t binx
Definition stat.hpp:109
double minx
Definition stat.hpp:107
uint64_t biny
Definition stat.hpp:109
Storage & get_x()
Definition stat.hpp:186
double maxy
Definition stat.hpp:108
void clear_vars()
Definition stat.hpp:154
double miny
Definition stat.hpp:107
std::vector< cytnx_uint64 > size()
Definition stat.hpp:200
const Storage & get_x() const
Definition stat.hpp:182
Storage & get_y()
Definition stat.hpp:195
Histogram2d(const unsigned long long &Nbinx, const unsigned long long &Nbiny, const double &min_x, const double &max_x, const double &min_y, const double &max_y)
initialize a histogram
double total_count
Definition stat.hpp:117
cytnx::Storage y
Definition stat.hpp:112
cytnx::Storage vars
Definition stat.hpp:110
cytnx::Storage x
Definition stat.hpp:111
const Storage & get_y() const
Definition stat.hpp:191
void accumulate(const std::vector< T > &data_x, const std::vector< T > &data_y)
Definition stat.hpp:160
double maxx
Definition stat.hpp:108
1D, real value histogram
Definition stat.hpp:18
cytnx::Storage x
Definition stat.hpp:24
cytnx::Storage vars
Definition stat.hpp:23
void clear_vars()
Definition stat.hpp:58
const Storage & get_x() const
Definition stat.hpp:88
Histogram(const unsigned long long &Nbins, const double &min_val, const double &max_val)
initialize a histogram
uint64_t bins
Definition stat.hpp:22
double min
Definition stat.hpp:20
double total_count
Definition stat.hpp:29
void accumulate(const std::vector< T > &data)
Definition stat.hpp:64
cytnx_uint64 size()
Definition stat.hpp:97
double max
Definition stat.hpp:21
Storage & get_x()
Definition stat.hpp:92
#define cytnx_error_msg(is_true, format,...)
Definition cytnx_error.hpp:18
Definition Accessor.hpp:12
uint64_t cytnx_uint64
Definition Type.hpp:22