38 using Ptr = std::shared_ptr<ATSP>;
63 bool computeMonthlyCorrelations();
70 using Vector = std::vector<AreaInfo>;
75 Yuni::String filename;
80 struct MomentCentrSingle
85 using MomentCentr = std::vector<MomentCentrSingle>;
87 struct HiddenHoursSingle
92 using HiddenHours = std::vector<HiddenHoursSingle>;
97 static void Extrait_bloc(
Matrix<>& out,
105 static void Colonne_moyenne(
double* out,
const Matrix<>& MTRX, uint nblig, uint nbcol);
108 static void Mtrx_bound(
double& rmin,
115 static void Mtrx_abs(
Matrix<>& out,
const Matrix<>& MTRX, uint nblig, uint nbcol);
118 static double Moyenne_generale(
double* A, uint nblig);
121 static void Retranche_mtrx(
Matrix<>& MTRX,
const double* A, uint nblig, uint nbcol);
124 static void Extrait_col(
double* out,
const Matrix<>& MTRX, uint nblig, uint indcol);
127 static void Square(
double* A,
const double* B, uint nblig);
130 static void Retranche_scalaire(
Matrix<>& A,
137 static void Divise_scalaire(
Matrix<>& A,
const Matrix<>& B,
double x, uint nblig, uint nbcol);
140 static void Cube(
double* A,
const double* B, uint nblig);
143 static void Dsquare(
double* A,
const double* B, uint nblig);
146 static void Extrait_seg(
double* out,
const double* src, uint nblig, uint indlig);
153 static double Correlation(
double* A,
162 static double GammaEuler(
double z);
164 static double Ecart(
double T1,
double P1,
double T2,
double P2,
int M,
double T);
166 static double autocorr_average(
int H,
int M,
double R);
168 static double Standard_shrinkage(
int M,
double R);
172 bool checkStudyVersion()
const;
174 bool preflight(
const uint areaIndex);
176 void Analyse_auto(
double* A,
188 bool Probab_density_funct(
double L,
198 void roundMatrixValues(
Matrix<>& m);
200 bool writeMoments()
const;
204 bool cacheFetch(uint index,
Matrix<>& out)
const;
206 bool cachePreload(uint index,
207 const AnyString& filename,
212 AreaInfo::Vector pArea;
213 YString pStudyFolder;
215 uint pTimeseriesCount;
218 double pMediumTermAutoCorrAdjustment;
219 double pShortTermAutoCorrAdjustment;
222 double pUpperBound80percent;
226 uint64_t pRoundingCount;
227 uint64_t pRounding80percentCount;
228 uint64_t pRoundingCountTotal;
229 Yuni::ShortString16 tsName;
231 uint pEnabledAreaCount;
266 MomentCentr moments_centr_net;
267 MomentCentr moments_centr_raw;
269 HiddenHours hidden_hours;
275 double buffer_n[744];
276 double buffer_p[744];
277 double buffer_q[744];
279 static const uint lonmois[12];
280 static const uint durmois[12];
281 static const uint posmois[12];
288 uint64_t pLimitMemory;
289 uint64_t pCacheMemoryUsed;
290 uint pCacheLastValidIndex;
291 std::vector<Matrix<>> pCacheMatrix;
293 Yuni::String::Vector folderPerArea;
295 Yuni::CString<512> pStr;