vec.h added optional parameters to NRVec::norm()
This commit is contained in:
		
							parent
							
								
									486dae31f4
								
							
						
					
					
						commit
						e8641c2833
					
				
							
								
								
									
										14
									
								
								vec.h
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								vec.h
									
									
									
									
									
								
							@ -361,7 +361,7 @@ public:
 | 
				
			|||||||
	void dealloc(void) {resize(0);}
 | 
						void dealloc(void) {resize(0);}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	//! determine the norm of this vector 
 | 
						//! determine the norm of this vector 
 | 
				
			||||||
	inline const typename LA_traits<T>::normtype norm() const;
 | 
						inline const typename LA_traits<T>::normtype norm(int length= -1, int offset=0, int stride=1) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	//! normalize this vector and optionally save the norm 
 | 
						//! normalize this vector and optionally save the norm 
 | 
				
			||||||
	NRVec& normalize(typename LA_traits<T>::normtype* norm = 0);
 | 
						NRVec& normalize(typename LA_traits<T>::normtype* norm = 0);
 | 
				
			||||||
@ -1701,15 +1701,15 @@ inline const double NRVec<std::complex<double> >::asum() const {
 | 
				
			|||||||
 * @return \f$\sum_{i=1}^N\left|\vec{x}_i\right|^2\f$
 | 
					 * @return \f$\sum_{i=1}^N\left|\vec{x}_i\right|^2\f$
 | 
				
			||||||
 ******************************************************************************/
 | 
					 ******************************************************************************/
 | 
				
			||||||
template<>
 | 
					template<>
 | 
				
			||||||
inline const double  NRVec<double>::norm() const {
 | 
					inline const double  NRVec<double>::norm(int length, int offset, int stride) const {
 | 
				
			||||||
	double ret(0.);
 | 
						double ret(0.);
 | 
				
			||||||
#ifdef CUDALA
 | 
					#ifdef CUDALA
 | 
				
			||||||
	if(location == cpu){
 | 
						if(location == cpu){
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
		ret = cblas_dnrm2(nn, v, 1);
 | 
							ret = cblas_dnrm2((length>=0?length:nn), v+offset, stride);
 | 
				
			||||||
#ifdef CUDALA
 | 
					#ifdef CUDALA
 | 
				
			||||||
	}else{
 | 
						}else{
 | 
				
			||||||
		ret = cublasDnrm2(nn, v, 1);
 | 
							ret = cublasDnrm2((length>=0?length:nn), v+offset, stride);
 | 
				
			||||||
		TEST_CUBLAS("cublasDnrm2");
 | 
							TEST_CUBLAS("cublasDnrm2");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
@ -1721,15 +1721,15 @@ inline const double  NRVec<double>::norm() const {
 | 
				
			|||||||
 * @return \f$\sum_{i=1}^N\left|\vec{x}_i\right|^2\f$
 | 
					 * @return \f$\sum_{i=1}^N\left|\vec{x}_i\right|^2\f$
 | 
				
			||||||
 ******************************************************************************/
 | 
					 ******************************************************************************/
 | 
				
			||||||
template<>
 | 
					template<>
 | 
				
			||||||
inline const double NRVec< std::complex<double> >::norm() const {
 | 
					inline const double NRVec< std::complex<double> >::norm(int length, int offset, int stride) const {
 | 
				
			||||||
	double ret(0.);
 | 
						double ret(0.);
 | 
				
			||||||
#ifdef CUDALA
 | 
					#ifdef CUDALA
 | 
				
			||||||
	if(location == cpu){
 | 
						if(location == cpu){
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
		ret = cblas_dznrm2(nn, v, 1);
 | 
							ret = cblas_dznrm2((length>=0?length:nn), v+offset, stride);
 | 
				
			||||||
#ifdef CUDALA
 | 
					#ifdef CUDALA
 | 
				
			||||||
	}else{
 | 
						}else{
 | 
				
			||||||
		ret = cublasDznrm2(nn, (cuDoubleComplex*)v, 1);
 | 
							ret = cublasDznrm2((length>=0?length:nn), ((cuDoubleComplex*)v)+offset, stride);
 | 
				
			||||||
		TEST_CUBLAS("cublasDzrm2");
 | 
							TEST_CUBLAS("cublasDzrm2");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user