yet more additions
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
# amscppperm1
|
# amscppperm1
|
||||||
|
|
||||||
Numeric array template class library. A numeric array, in addition to the usual array operations, is expected to have numeric data that can be added, subtracted, multiplied, etc.
|
Numeric array template class library. A numeric array, in addition to the usual array operations, is expected to have numeric data that can be added, subtracted, multiplied, etc.
|
||||||
|
|
||||||
|
This numeric array class implements random number generation, threaded vector operations, threaded math and statistics for fast operations on the arrays.
|
||||||
|
|
||||||
|
The primary object is the template class narray<T>
|
||||||
|
|
||||||
|
ams::narray::narray<T>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -53,6 +53,8 @@ template<typename T> class narray
|
|||||||
narray<T>& operator=(const std::initializer_list<T> initlist);
|
narray<T>& operator=(const std::initializer_list<T> initlist);
|
||||||
~narray();
|
~narray();
|
||||||
|
|
||||||
|
template<typename T2> operator narray<T2>() const; //casting datatypes
|
||||||
|
|
||||||
int resize(const narray_size_t newlength);
|
int resize(const narray_size_t newlength);
|
||||||
const narray_size_t size() const;
|
const narray_size_t size() const;
|
||||||
|
|
||||||
|
@ -225,6 +225,28 @@ template<typename T> narray<T>& narray<T>::operator=(const std::initializer_list
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<class T> template<class T2> narray<T>::operator narray<T2>() const
|
||||||
|
{
|
||||||
|
//casting datatypes
|
||||||
|
narray<T2> ret;
|
||||||
|
int res;
|
||||||
|
|
||||||
|
res = ret.resize(this->length);
|
||||||
|
if(res!=narray_success)
|
||||||
|
{
|
||||||
|
ret.resize(0);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
buffer_copycast<T2,T>(&(ret.data),data,length);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
template<typename T> narray<T>::~narray()
|
template<typename T> narray<T>::~narray()
|
||||||
{
|
{
|
||||||
//printf("debug: destructor called for %p\n",this);
|
//printf("debug: destructor called for %p\n",this);
|
||||||
|
@ -63,7 +63,7 @@ namespace narray
|
|||||||
printf("rseed: %d\n",(int)rand::dpr32_rseed); //< -- this is different than the line above
|
printf("rseed: %d\n",(int)rand::dpr32_rseed); //< -- this is different than the line above
|
||||||
|
|
||||||
|
|
||||||
narray<double> unif = ams::narray::rand::narray_rand(100);
|
narray<double> unif = ams::narray::rand::narray_rand(10000*10000);
|
||||||
|
|
||||||
|
|
||||||
printf("rseed: %d\n",(int)rand::get_rseed());
|
printf("rseed: %d\n",(int)rand::get_rseed());
|
||||||
|
@ -9,7 +9,7 @@ int main(int argc, char* argv[])
|
|||||||
// ams::narray::test_narray3();
|
// ams::narray::test_narray3();
|
||||||
// ams::narray::narray_testmath1();
|
// ams::narray::narray_testmath1();
|
||||||
ams::narray::narray_testmath2();
|
ams::narray::narray_testmath2();
|
||||||
ams::narray::narray_testmath3();
|
//ams::narray::narray_testmath3();
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
Reference in New Issue
Block a user