yet more additions
This commit is contained in:
		@ -1,3 +1,9 @@
 | 
			
		||||
# 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();
 | 
			
		||||
 | 
			
		||||
    template<typename T2> operator narray<T2>() const; //casting datatypes
 | 
			
		||||
 | 
			
		||||
    int resize(const narray_size_t newlength);
 | 
			
		||||
    const narray_size_t size() const;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -225,6 +225,28 @@ template<typename T> narray<T>& narray<T>::operator=(const std::initializer_list
 | 
			
		||||
    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()
 | 
			
		||||
{
 | 
			
		||||
    //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
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
        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());
 | 
			
		||||
 | 
			
		||||
@ -9,7 +9,7 @@ int main(int argc, char* argv[])
 | 
			
		||||
    // ams::narray::test_narray3();
 | 
			
		||||
    // ams::narray::narray_testmath1();
 | 
			
		||||
    ams::narray::narray_testmath2();
 | 
			
		||||
    ams::narray::narray_testmath3();
 | 
			
		||||
    //ams::narray::narray_testmath3();
 | 
			
		||||
 | 
			
		||||
    return ret;
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user