    

 ## On this page

  

 

 # rocky\_statistics\_data

 Last update: 16.07.2025 

<a id="l00001" name="l00001"></a> 1// (C) 2024 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.

<a id="l00002" name="l00002"></a> 2\#pragma once

<a id="l00003" name="l00003"></a> 3 

<a id="l00004" name="l00004"></a> 4\#include &lt;rocky20/model/statistics\_data.hpp&gt;

<a id="l00005" name="l00005"></a> 5\#include &lt;rocky20/api/device/api\_backend.hpp&gt;

<a id="l00006" name="l00006"></a> 6 

<a id="l00007" name="l00007"></a> 7using [IRockyStatisticsAccumulator](structIRockyStatisticsAccumulator.xhtml) = rocky20::AAccumulator;

<a id="l00008" name="l00008"></a> 8 

<a id="l00021" name="l00021"></a>[ 21](structIRockyStatisticsAdder.xhtml)struct [IRockyStatisticsAdder](structIRockyStatisticsAdder.xhtml) : public rocky20::AAdder

<a id="l00022" name="l00022"></a> 22{

<a id="l00023" name="l00023"></a> 23 

<a id="l00033" name="l00033"></a>[ 33](structIRockyStatisticsAdder.xhtml#a2d87767ca1065f1a48778cf3d1e0f8ce) ROCKY_FUNCTIONS void [add\_value](structIRockyStatisticsAdder.xhtml#a2d87767ca1065f1a48778cf3d1e0f8ce)(double new_value)

<a id="l00034" name="l00034"></a> 34 {

<a id="l00035" name="l00035"></a> 35\#ifdef GPU\_KERNEL\_COMPILING\_STAGE

<a id="l00036" name="l00036"></a> 36 this-&gt;rocky20::AAdder::add_value&lt;CudaBackend&gt;(new_value);

<a id="l00037" name="l00037"></a> 37\#else

<a id="l00038" name="l00038"></a> 38 this-&gt;rocky20::AAdder::add_value&lt;OMPBackend&gt;(new_value);

<a id="l00039" name="l00039"></a> 39\#endif

<a id="l00040" name="l00040"></a> 40 }



<a id="l00041" name="l00041"></a> 41 

<a id="l00046" name="l00046"></a>[ 46](structIRockyStatisticsAdder.xhtml#a57d3816e4f01de3fdd781ef229c9f771) double [get\_mean](structIRockyStatisticsAdder.xhtml#a57d3816e4f01de3fdd781ef229c9f771)() const

<a id="l00047" name="l00047"></a> 47 {

<a id="l00048" name="l00048"></a> 48 return this-&gt;rocky20::AAdder::get_mean();

<a id="l00049" name="l00049"></a> 49 }



<a id="l00050" name="l00050"></a> 50 

<a id="l00055" name="l00055"></a>[ 55](structIRockyStatisticsAdder.xhtml#ac1c33e3ab2e1afd1590aef6e2c40eb64) double [get\_std\_deviation](structIRockyStatisticsAdder.xhtml#ac1c33e3ab2e1afd1590aef6e2c40eb64)() const

<a id="l00056" name="l00056"></a> 56 {

<a id="l00057" name="l00057"></a> 57 return this-&gt;rocky20::AAdder::get_std_deviation();

<a id="l00058" name="l00058"></a> 58 }



<a id="l00059" name="l00059"></a> 59 

<a id="l00065" name="l00065"></a>[ 65](structIRockyStatisticsAdder.xhtml#a4968d2f7ab3265b9aefafe064ae16ba0) double [get\_skewness](structIRockyStatisticsAdder.xhtml#a4968d2f7ab3265b9aefafe064ae16ba0)() const

<a id="l00066" name="l00066"></a> 66 {

<a id="l00067" name="l00067"></a> 67 return this-&gt;rocky20::AAdder::get_skewness();

<a id="l00068" name="l00068"></a> 68 }



<a id="l00069" name="l00069"></a> 69 

<a id="l00075" name="l00075"></a>[ 75](structIRockyStatisticsAdder.xhtml#a6f398ed07d36a7deccea3621e9780109) double [get\_kurtosis](structIRockyStatisticsAdder.xhtml#a6f398ed07d36a7deccea3621e9780109)() const

<a id="l00076" name="l00076"></a> 76 {

<a id="l00077" name="l00077"></a> 77 return this-&gt;rocky20::AAdder::get_kurtosis();

<a id="l00078" name="l00078"></a> 78 }



<a id="l00079" name="l00079"></a> 79 

<a id="l00084" name="l00084"></a>[ 84](structIRockyStatisticsAdder.xhtml#ae4b238da655579b44c6293a573cd9449) void [reset](structIRockyStatisticsAdder.xhtml#ae4b238da655579b44c6293a573cd9449)()

<a id="l00085" name="l00085"></a> 85 {

<a id="l00086" name="l00086"></a> 86 return this-&gt;rocky20::AAdder::reset();

<a id="l00087" name="l00087"></a> 87 }



<a id="l00088" name="l00088"></a> 88 

<a id="l00099" name="l00099"></a>[ 99](structIRockyStatisticsAdder.xhtml#a56563b07a2763d52804e5180f3ae0b07) void [join](structIRockyStatisticsAdder.xhtml#a56563b07a2763d52804e5180f3ae0b07)(const [IRockyStatisticsAdder](structIRockyStatisticsAdder.xhtml)&amp; other)

<a id="l00100" name="l00100"></a> 100 {

<a id="l00101" name="l00101"></a> 101 return this-&gt;rocky20::AAdder::join(other);

<a id="l00102" name="l00102"></a> 102 }



<a id="l00103" name="l00103"></a> 103 

<a id="l00105" name="l00105"></a> 105 /\* Deprecated methods \*/

<a id="l00106" name="l00106"></a> 106 

<a id="l00107" name="l00107"></a> 107 [[deprecated("IRockyStatisticsCounter is no longer needed for statistics")]]

<a id="l00108" name="l00108"></a> 108 ROCKY_FUNCTIONS void [add\_value](structIRockyStatisticsAdder.xhtml#a2d87767ca1065f1a48778cf3d1e0f8ce)(double new_value, double n_values)

<a id="l00109" name="l00109"></a> 109 {

<a id="l00110" name="l00110"></a> 110 this-&gt;[add\_value](structIRockyStatisticsAdder.xhtml#a2d87767ca1065f1a48778cf3d1e0f8ce)(new_value);

<a id="l00111" name="l00111"></a> 111 }

<a id="l00112" name="l00112"></a> 112 

<a id="l00113" name="l00113"></a> 113 [[deprecated("IRockyStatisticsCounter is no longer needed for statistics")]]

<a id="l00114" name="l00114"></a> 114 double [get\_std\_deviation](structIRockyStatisticsAdder.xhtml#ac1c33e3ab2e1afd1590aef6e2c40eb64)(double n_values) const

<a id="l00115" name="l00115"></a> 115 {

<a id="l00116" name="l00116"></a> 116 return this-&gt;rocky20::AAdder::get_std_deviation();

<a id="l00117" name="l00117"></a> 117 }

<a id="l00118" name="l00118"></a> 118 

<a id="l00119" name="l00119"></a> 119 [[deprecated("IRockyStatisticsCounter is no longer needed for statistics")]]

<a id="l00120" name="l00120"></a> 120 double [get\_skewness](structIRockyStatisticsAdder.xhtml#a4968d2f7ab3265b9aefafe064ae16ba0)(double n_values) const

<a id="l00121" name="l00121"></a> 121 {

<a id="l00122" name="l00122"></a> 122 return this-&gt;rocky20::AAdder::get_skewness();

<a id="l00123" name="l00123"></a> 123 }

<a id="l00124" name="l00124"></a> 124 

<a id="l00125" name="l00125"></a> 125 [[deprecated("IRockyStatisticsCounter is no longer needed for statistics")]]

<a id="l00126" name="l00126"></a> 126 double [get\_kurtosis](structIRockyStatisticsAdder.xhtml#a6f398ed07d36a7deccea3621e9780109)(double n_values) const

<a id="l00127" name="l00127"></a> 127 {

<a id="l00128" name="l00128"></a> 128 return this-&gt;rocky20::AAdder::get_kurtosis();

<a id="l00129" name="l00129"></a> 129 }

<a id="l00130" name="l00130"></a> 130 

<a id="l00131" name="l00131"></a> 131 [[deprecated("IRockyStatisticsCounter is no longer needed for statistics")]]

<a id="l00132" name="l00132"></a> 132 void [join](structIRockyStatisticsAdder.xhtml#a56563b07a2763d52804e5180f3ae0b07)(const [IRockyStatisticsAdder](structIRockyStatisticsAdder.xhtml)&amp; other, double n_values, double other_n_values)

<a id="l00133" name="l00133"></a> 133 {

<a id="l00134" name="l00134"></a> 134 this-&gt;rocky20::AAdder::join(other);

<a id="l00135" name="l00135"></a> 135 }

<a id="l00136" name="l00136"></a> 136 

<a id="l00138" name="l00138"></a> 138};



<a id="l00139" name="l00139"></a> 139 

<a id="l00140" name="l00140"></a> 140 

<a id="l00142" name="l00142"></a> 142struct IRockyStatisticsCounter

<a id="l00143" name="l00143"></a> 143{

<a id="l00144" name="l00144"></a> 144 [[deprecated("IRockyStatisticsCounter is no longer needed for statistics")]]

<a id="l00145" name="l00145"></a> 145 ROCKY_FUNCTIONS void increment()

<a id="l00146" name="l00146"></a> 146 {

<a id="l00147" name="l00147"></a> 147 backend::atomic_add(&amp;this-&gt;count, 1);

<a id="l00148" name="l00148"></a> 148 }

<a id="l00149" name="l00149"></a> 149 

<a id="l00150" name="l00150"></a> 150 [[deprecated("IRockyStatisticsCounter is no longer needed for statistics")]]

<a id="l00151" name="l00151"></a> 151 ROCKY_FUNCTIONS double get_count() const

<a id="l00152" name="l00152"></a> 152 {

<a id="l00153" name="l00153"></a> 153 return this-&gt;count;

<a id="l00154" name="l00154"></a> 154 }

<a id="l00155" name="l00155"></a> 155 

<a id="l00156" name="l00156"></a> 156 [[deprecated("IRockyStatisticsCounter is no longer needed for statistics")]]

<a id="l00157" name="l00157"></a> 157 void reset()

<a id="l00158" name="l00158"></a> 158 {

<a id="l00159" name="l00159"></a> 159 this-&gt;count = 0;

<a id="l00160" name="l00160"></a> 160 }

<a id="l00161" name="l00161"></a> 161 

<a id="l00162" name="l00162"></a> 162 [[deprecated("IRockyStatisticsCounter is no longer needed for statistics")]]

<a id="l00163" name="l00163"></a> 163 void join(const IRockyStatisticsCounter&amp; other)

<a id="l00164" name="l00164"></a> 164 {

<a id="l00165" name="l00165"></a> 165 this-&gt;count += other.count;

<a id="l00166" name="l00166"></a> 166 }

<a id="l00167" name="l00167"></a> 167 int count;

<a id="l00168" name="l00168"></a> 168};

<a id="l00171" name="l00171"></a> 171\#ifdef ONLY\_FOR\_DOXYGEN

<a id="l00172" name="l00172"></a> 172 

<a id="l00181" name="l00181"></a>[ 181](structIRockyStatisticsAccumulator.xhtml)struct [IRockyStatisticsAccumulator](structIRockyStatisticsAccumulator.xhtml)

<a id="l00182" name="l00182"></a> 182{

<a id="l00188" name="l00188"></a>[ 188](structIRockyStatisticsAccumulator.xhtml#aa6f9107d44777f2914054a2567018438) ROCKY_FUNCTIONS void [add\_value](structIRockyStatisticsAccumulator.xhtml#aa6f9107d44777f2914054a2567018438)(double value);

<a id="l00189" name="l00189"></a> 189 

<a id="l00193" name="l00193"></a>[ 193](structIRockyStatisticsAccumulator.xhtml#a465ef9a481493da8c59e760a3f37e3e6) double [get\_sum](structIRockyStatisticsAccumulator.xhtml#a465ef9a481493da8c59e760a3f37e3e6)() const;

<a id="l00194" name="l00194"></a> 194 

<a id="l00198" name="l00198"></a>[ 198](structIRockyStatisticsAccumulator.xhtml#acb15234baa81417b3382410594d7150b) void [reset](structIRockyStatisticsAccumulator.xhtml#acb15234baa81417b3382410594d7150b)();

<a id="l00199" name="l00199"></a> 199 

<a id="l00208" name="l00208"></a>[ 208](structIRockyStatisticsAccumulator.xhtml#a6a0a426d29d79255741700958cdc9511) void [join](structIRockyStatisticsAccumulator.xhtml#a6a0a426d29d79255741700958cdc9511)(const [IRockyStatisticsAccumulator](structIRockyStatisticsAccumulator.xhtml)&amp; other);

<a id="l00209" name="l00209"></a> 209};



<a id="l00210" name="l00210"></a> 210 

<a id="l00211" name="l00211"></a> 211\#endif 

[IRockyStatisticsAccumulator](structIRockyStatisticsAccumulator.xhtml)

**Definition** rocky_statistics_data.hpp:182



[IRockyStatisticsAccumulator::get\_sum](structIRockyStatisticsAccumulator.xhtml#a465ef9a481493da8c59e760a3f37e3e6)

double get_sum() const



[IRockyStatisticsAccumulator::join](structIRockyStatisticsAccumulator.xhtml#a6a0a426d29d79255741700958cdc9511)

void join(const IRockyStatisticsAccumulator &amp;other)



[IRockyStatisticsAccumulator::add\_value](structIRockyStatisticsAccumulator.xhtml#aa6f9107d44777f2914054a2567018438)

ROCKY_FUNCTIONS void add_value(double value)



[IRockyStatisticsAccumulator::reset](structIRockyStatisticsAccumulator.xhtml#acb15234baa81417b3382410594d7150b)

void reset()



[IRockyStatisticsAdder](structIRockyStatisticsAdder.xhtml)

**Definition** rocky_statistics_data.hpp:22



[IRockyStatisticsAdder::add\_value](structIRockyStatisticsAdder.xhtml#a2d87767ca1065f1a48778cf3d1e0f8ce)

ROCKY_FUNCTIONS void add_value(double new_value)

**Definition** rocky_statistics_data.hpp:33



[IRockyStatisticsAdder::get\_skewness](structIRockyStatisticsAdder.xhtml#a4968d2f7ab3265b9aefafe064ae16ba0)

double get_skewness() const

**Definition** rocky_statistics_data.hpp:65



[IRockyStatisticsAdder::join](structIRockyStatisticsAdder.xhtml#a56563b07a2763d52804e5180f3ae0b07)

void join(const IRockyStatisticsAdder &amp;other)

**Definition** rocky_statistics_data.hpp:99



[IRockyStatisticsAdder::get\_mean](structIRockyStatisticsAdder.xhtml#a57d3816e4f01de3fdd781ef229c9f771)

double get_mean() const

**Definition** rocky_statistics_data.hpp:46



[IRockyStatisticsAdder::get\_kurtosis](structIRockyStatisticsAdder.xhtml#a6f398ed07d36a7deccea3621e9780109)

double get_kurtosis() const

**Definition** rocky_statistics_data.hpp:75



[IRockyStatisticsAdder::get\_std\_deviation](structIRockyStatisticsAdder.xhtml#ac1c33e3ab2e1afd1590aef6e2c40eb64)

double get_std_deviation() const

**Definition** rocky_statistics_data.hpp:55



[IRockyStatisticsAdder::reset](structIRockyStatisticsAdder.xhtml#ae4b238da655579b44c6293a573cd9449)

void reset()

**Definition** rocky_statistics_data.hpp:84