You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							19 lines
						
					
					
						
							561 B
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							19 lines
						
					
					
						
							561 B
						
					
					
				
								#include <Eigen/Core>
							 | 
						|
								#include <iostream>
							 | 
						|
								using namespace Eigen;
							 | 
						|
								using namespace std;
							 | 
						|
								
							 | 
						|
								// define a custom template unary functor
							 | 
						|
								template<typename Scalar>
							 | 
						|
								struct CwiseClampOp {
							 | 
						|
								  CwiseClampOp(const Scalar& inf, const Scalar& sup) : m_inf(inf), m_sup(sup) {}
							 | 
						|
								  const Scalar operator()(const Scalar& x) const { return x<m_inf ? m_inf : (x>m_sup ? m_sup : x); }
							 | 
						|
								  Scalar m_inf, m_sup;
							 | 
						|
								};
							 | 
						|
								
							 | 
						|
								int main(int, char**)
							 | 
						|
								{
							 | 
						|
								  Matrix4d m1 = Matrix4d::Random();
							 | 
						|
								  cout << m1 << endl << "becomes: " << endl << m1.unaryExpr(CwiseClampOp<double>(-0.5,0.5)) << endl;
							 | 
						|
								  return 0;
							 | 
						|
								}
							 |