From 89210c99cb80b7100ad9ad56df5b0a83912ca680 Mon Sep 17 00:00:00 2001 From: madrocketsci Date: Thu, 8 May 2025 12:32:57 -0400 Subject: [PATCH] update --- build_linux64/libamscppnarray.linux64.a | Bin 1424 -> 1616 bytes build_linux64/objstore/amscppnarray.o | Bin 1256 -> 1448 bytes build_linux64/tests | Bin 900448 -> 900728 bytes include/amscppnarray/amscppnarray.hpp | 36 ++++ include/amscppnarray/amscppnarray_impl.hpp | 189 +++++++++++++++++++++ src/amscppnarray/amscppnarray.cpp | 2 +- 6 files changed, 226 insertions(+), 1 deletion(-) diff --git a/build_linux64/libamscppnarray.linux64.a b/build_linux64/libamscppnarray.linux64.a index a322a05ba57d2a830e8876db26fddc0097721f98..04e20980a78daa8cec623a4689d7b00651db7d82 100644 GIT binary patch delta 376 zcmbQheSv4fTxJs!i-`*ibTXJ2;J^XQa$w+P;9>a8FZV0dqx0#6*uxBrK=J=TF!8g_ zWCg}0x{M4ga6K@VF;D~~4&%e0k1!;+yIi*FZt_%}>6eja9d9oGdrzDmnZVqO0Wt<$rBB1F5wVMO(1_%RYBTU$2 z@Ctn1z8zxU=5}(8@!00Gl6@;TxKIvvxy4~lwUA1z<~pp<-owhz|HWPU+!0^N9WTCv46(z^2v>i(vxSf@G!bgz6j)3OnwQJ zi=8aUBF;GjYKg_#OsrU<%gDe2 z*8*c114TgMFg}b9nJmd@ZtP=dl9yOilvo*GT$-GmT3qbP5Fh1doS0i|1`$UnNK4Gj zDJ@EMo$Sb{Iyr;Um8~d0C9x!N^J+#{MnNREf?ePX zqx)uECTB)QgUKJ6#3!F%R$w&+YGj;T$Rx~IKADkOUD6fEX9r>?uz?7oVzMKPx@0U+ z0Awq=?2O5cEb5#QKp7Swc9?9)D$XkbWPt!D5VKFd%AzfL0nBG$NPyB@K$>~7D62N7 a0n{so6CVmsj$u{dY=8=+g9Pp{@c;n$`zV9} diff --git a/build_linux64/tests b/build_linux64/tests index 43b6f9f0c1df6780d70207ecf79c082e63571542..1beebae69fea04b97f72782a92c9327e6d5f0ab6 100644 GIT binary patch delta 84644 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 z zi2t4Tb*5P8jf^f*q0J-2lG$P^g|4=-VzKDkE5!S(pkpmAll_iP|F(&g2HbWYqt)sQ zOw$p>3%Q3jm9Y&5E;|fi_K3YHKZ5f96Zrqo-pAbDqgDFIODW{vu%AObnys~JHY2;2 zcp5ipA8v41bq{3uanLeq#5sR=1@n?g?+N-tYF9j{S$mUKx0!6AcaYB9qb=Z0(tAt+ z=vdO_>KOlLMbn8Fes_jV%?E4&-GJL6jETu)TC<2p`4UAQ@iUzLg^l}}af;*Bb2*KT zD@27W#1QWC83B{)-40y(YybA-y<$lE@pTbv!F`ovnaMp0*^F-kj#dMZ<+}G zsc54zrahp^upAUhvmbRbla{sH!OZfR--sC{uw_X=IwBK-p#}&?4KbP@w@~ zAet%>+OYyHP%Lf1g3A;zxDZ3fm|O!19R-ORmuVulR6t4;OVDIApfN0IL6pFc4iZ^{ zLC?A8dm1kIe$9N}J?Gqe?(**bu<2zGGBJyAj%@Y#*;-K!Qc? zh6y<^|CHznSq(4D(a@v4gsEhL;(Hhu6O4gC9q{M{M^&az_a7=)?mF<9PXZpBHV^{OHD7+`t6{f$alGw*Tl303m zTzQXXb}o6l=SnE|NCkW~QTSnubCtmRVK~HQAiVceM5_@pR14}Yc?EoZzIv6n~?60as2&Ip0Qf0uw_)?Y{J<+4wflzBK&k6 zo+g>_I&TENh{IEA9bA0#3h))8hbF9NIvNTf+8ZI@8+m6wzUdmk5ax9#Izbu4RnojE zBBGkdP#^6Bv11)J4xhC_T_c*1G^p!9`1spWncN+*riW9?JHapaLN zp~Jyqz}eoy|E$7HUv_ECilspMwrVFjG;oa+r`Uti7F+-W(aH?dq4X-$v z)>*i7+F{I|W)jXmiC~u#c}+hLF;42tMb`6b?F4eY4|E)jS!rJpn*wz)W8PyC!kdQ- zDhcm@kL92B&=Wl=zO~U>Z4o?|zK$WT&jYay0+EZ3j)_;|W4)vN6Dj#0f;M-nN1Z*oe#HhxHOG4nEsP!9`-oM=n;s_ZFPm{(5gx?YW76! z8Zm0#G&+oN%A**%BW=j}DZs0fq(n^15jzVA=e#aJF?7q>5{=W;pks7XRzi_^`Sk|I z$qVM$hwTU->z2k~H_}Jrib<6GPatMq<#I%M@`+v?z}xy)N6Wb{yc4RB>7kEdiwX`a zQMuMnw^~bdD5+MQVIEe>1nz8>5;HDQ#MV6_*33O?K7A^u7i>-YHG>Zj|7N3KmfEKXd8*v$P`W+UVyi6=wPe&;fip z!=2GQquPlM-DH}}?IlM`trKCZU!4?*GNbxmD-rL+aq{jO!h0#a9ux1DNV>DsV+q$y zXo27gMRAtapT5{?Fn04VhCl%C{&X1FJOPGVM3H-YX*I%I_+r3*gr{4MCsXpbYC8k1 zfHAqfQ*|-@zH9BoBU*0IC=qW{o`;D(3c3?3Xn9b6P8AXzx(+&;C^?MRfYpP%$cc`k zF-U<}8t`g;wF6y=0o)6`tcU1v2ZG~)o86=Zg3}GsO_JwfC|X4X_wk-YYLkK2vjFF^ zv4*e-2Fxq-w<-S=O8!n(caN7l%_1{>1X?2)piYFfvntH=H7GZ~sq&XMkS`g%7g{G1&fO%(c!$RHsk_kQP-pJeEz@G@R)tZ{hEN}q3#{3@ zehKEId=m{l6)^vX)A_nqW;$aKk+R z1o=@~yRN)^S#52R^?w1D2P;>vt66q;0H`XhtEgEPe73Z9noCW&TA17SJ{4%Sy(wOtr}e50 zt#*D&eZoAQ()yPDt#(p^eFH5e_v=&D_Xq4z9&5VPxh!&#e$?7A^zAV3L3?mY);{4% JRC}vE^dEo?i&Fpq delta 84459 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 #include #include +#include #include #include +#include namespace ams { namespace narray { +typedef int64_t narray_size_t; + +static const int narray_success = 1; +static const int narray_failure = -1; + +//problem size at which to begin using threaded operations +static const narray_size_t narray_thread_sz = 5000; + +//maximum number of threads to use +static const int narray_max_threads = 50; + template class narray { public: + narray_size_t length; + T *data; + + narray(); + narray(const narray& other); + narray& operator=(const narray& other); + narray& operator=(const std::vector& other); + narray(const std::initializer_list initlist); + ~narray(); + + int resize(const narray_size_t newlength); + + T& operator[](const narray_size_t ind); + const T& operator[](const narray_size_t ind) const; + T& at(const narray_size_t ind); + const T& at(const narray_size_t ind) const; + + void clear(); //erases all elements, sets size to 0 + void setall(const T& val); //sets all elements to val + + //Comparators + + //Operations }; diff --git a/include/amscppnarray/amscppnarray_impl.hpp b/include/amscppnarray/amscppnarray_impl.hpp index d17c725..b766755 100644 --- a/include/amscppnarray/amscppnarray_impl.hpp +++ b/include/amscppnarray/amscppnarray_impl.hpp @@ -6,7 +6,196 @@ namespace ams namespace narray { +template narray::narray() +{ + length = 0; + data = NULL; + + return; +} + +template int narray::resize(const narray_size_t newlength) +{ + int ret = narray_failure; + narray_size_t I; + T *newdata = NULL; + + if(newlength<=0) + { + if(data!=NULL) {delete[] data; data=NULL;} + length = 0; + ret = narray_success; + return ret; + } + + newdata = new(std::nothrow) T[newlength]; + if(newdata==NULL) + { + ret = narray_failure; + return ret; + } + + for(I=0;I narray::narray(const narray& other) +{ + narray_size_t I; + int res; + length = 0; + data = NULL; + + if(this!=&other) + { + res = this->resize(other.length); + if(res!=narray_success) + { + return; + } + else + { + for(I=0;I narray& narray::operator=(const narray& other) +{ + narray_size_t I; + int res; + + if(this!=&other) + { + res = this->resize(other.length); + if(res!=narray_success) + { + return *this; + } + else + { + for(I=0;I narray& narray::operator=(const std::vector& other) +{ + narray_size_t I; + int res; + + if(this!=&other) + { + res = this->resize(other.size()); + if(res!=narray_success) + { + return *this; + } + else + { + for(I=0;I narray::narray(const std::initializer_list initlist) +{ + narray_size_t I; + int res; + length = 0; + data = NULL; + + res = this->resize(initlist.size()); + if(res!=narray_success) + { + return; + } + else + { + I = 0; + for(T elem : initlist) + { + data[I] = elem; + if(I narray::~narray() +{ + length = 0; + if(data!=NULL) {delete[] data; data=NULL;} + return; +} + +template T& narray::operator[](const narray_size_t ind) +{ + return data[ind]; +} + +template const T& narray::operator[](const narray_size_t ind) const +{ + return data[ind]; +} + +template T& narray::at(const narray_size_t ind) +{ + return data[ind]; +} + +template const T& narray::at(const narray_size_t ind) const +{ + return data[ind]; +} + +template void narray::clear() +{ + this->resize(0); + return; +} + +template void narray::setall(const T& val) +{ + narray_size_t I; + int nthreads; + if(length