Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 16 additions & 16 deletions src/FLQuant_base.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -637,7 +637,7 @@ FLQuant_base<T>& FLQuant_base<T>::operator *= (const FLQuant_base<T2>& rhs){
template <typename T>
FLQuant_base<T>& FLQuant_base<T>::operator *= (const T& rhs){
//Rprintf("In scalar T=*T multiplication assignment\n");
std::transform((*this).data.begin(), (*this).data.end(), (*this).data.begin(), std::bind1st(std::multiplies<T>(),rhs));
std::transform((*this).data.begin(), (*this).data.end(), (*this).data.begin(), [rhs](const T& x){ return rhs * x; });
return *this;
}

Expand All @@ -648,7 +648,7 @@ template <typename T>
template <typename T2>
FLQuant_base<T>& FLQuant_base<T>::operator *= (const T2& rhs){
//Rprintf("In scalar T=*T2 multiplication assignment\n");
std::transform((*this).data.begin(), (*this).data.end(), (*this).data.begin(), std::bind1st(std::multiplies<T>(),rhs));
std::transform((*this).data.begin(), (*this).data.end(), (*this).data.begin(), [rhs](const T& x){ return rhs * x; });
return *this;
}

Expand Down Expand Up @@ -784,7 +784,7 @@ FLQuant_base<T>& FLQuant_base<T>::operator /= (const FLQuant_base<T2>& rhs){
// FLQuantAdolc / CppAD /= adouble
template <typename T>
FLQuant_base<T>& FLQuant_base<T>::operator /= (const T& rhs){
std::transform((*this).data.begin(), (*this).data.end(), (*this).data.begin(), std::bind2nd(std::divides<T>(),rhs));
std::transform((*this).data.begin(), (*this).data.end(), (*this).data.begin(), [rhs](const T& x){ return x / rhs; });
return *this;
}

Expand All @@ -794,7 +794,7 @@ FLQuant_base<T>& FLQuant_base<T>::operator /= (const T& rhs){
template <typename T>
template <typename T2>
FLQuant_base<T>& FLQuant_base<T>::operator /= (const T2& rhs){
std::transform((*this).data.begin(), (*this).data.end(), (*this).data.begin(), std::bind2nd(std::divides<T>(),rhs));
std::transform((*this).data.begin(), (*this).data.end(), (*this).data.begin(), [rhs](const T& x){ return x / rhs; });
return *this;
}

Expand Down Expand Up @@ -834,7 +834,7 @@ template <typename T>
FLQuant_base<T> operator / (const T& lhs, const FLQuant_base<T>& rhs){
FLQuant_base<T> out = rhs;
std::vector<T> out_data = out.get_data();
std::transform(out_data.begin(), out_data.end(), out_data.begin(), std::bind1st(std::divides<T>(),lhs));
std::transform(out_data.begin(), out_data.end(), out_data.begin(), [lhs](const T& x){ return lhs / x; });
out.set_data(out_data);
return out;
}
Expand All @@ -843,15 +843,15 @@ template <typename T>
FLQuant_base<T> operator / (const double& lhs, const FLQuant_base<T>& rhs){
FLQuant_base<T> out = rhs;
std::vector<T> out_data = out.get_data();
std::transform(out_data.begin(), out_data.end(), out_data.begin(), std::bind1st(std::divides<T>(),lhs));
std::transform(out_data.begin(), out_data.end(), out_data.begin(), [lhs](const T& x){ return lhs / x; });
out.set_data(out_data);
return out;
}

FLQuant_base<double> operator / (const double& lhs, const FLQuant_base<double>& rhs){
FLQuant_base<double> out = rhs;
std::vector<double> out_data = out.get_data();
std::transform(out_data.begin(), out_data.end(), out_data.begin(), std::bind1st(std::divides<double>(),lhs));
std::transform(out_data.begin(), out_data.end(), out_data.begin(), [lhs](const double& x){ return lhs / x; });
out.set_data(out_data);
return out;
}
Expand All @@ -874,7 +874,7 @@ template <typename T>
FLQuant_base<T> operator / (const T& lhs, const FLQuant_base<double>& rhs){
FLQuant_base<T> out(rhs);
std::vector<T> out_data = out.get_data();
std::transform(out_data.begin(), out_data.end(), out_data.begin(), std::bind1st(std::divides<T>(),lhs));
std::transform(out_data.begin(), out_data.end(), out_data.begin(), [lhs](const T& x){ return lhs / x; });
out.set_data(out_data);
return out;
}
Expand Down Expand Up @@ -925,7 +925,7 @@ FLQuant_base<T>& FLQuant_base<T>::operator -= (const FLQuant_base<T2>& rhs){
// FLQuantAdolc / CppAD -= adouble
template <typename T>
FLQuant_base<T>& FLQuant_base<T>::operator -= (const T& rhs){
std::transform((*this).data.begin(), (*this).data.end(), (*this).data.begin(), std::bind2nd(std::minus<T>(),rhs));
std::transform((*this).data.begin(), (*this).data.end(), (*this).data.begin(), [rhs](const T& x){ return x - rhs; });
return *this;
}

Expand All @@ -935,7 +935,7 @@ FLQuant_base<T>& FLQuant_base<T>::operator -= (const T& rhs){
template <typename T>
template <typename T2>
FLQuant_base<T>& FLQuant_base<T>::operator -= (const T2& rhs){
std::transform((*this).data.begin(), (*this).data.end(), (*this).data.begin(), std::bind2nd(std::minus<T>(),rhs));
std::transform((*this).data.begin(), (*this).data.end(), (*this).data.begin(), [rhs](const T& x){ return x - rhs; });
return *this;
}

Expand Down Expand Up @@ -975,7 +975,7 @@ template <typename T>
FLQuant_base<T> operator - (const T& lhs, const FLQuant_base<T>& rhs){
FLQuant_base<T> out = rhs;
std::vector<T> out_data = out.get_data();
std::transform(out_data.begin(), out_data.end(), out_data.begin(), std::bind1st(std::minus<T>(),lhs));
std::transform(out_data.begin(), out_data.end(), out_data.begin(), [lhs](const T& x){ return lhs - x; });
out.set_data(out_data);
return out;
}
Expand All @@ -984,15 +984,15 @@ template <typename T>
FLQuant_base<T> operator - (const double& lhs, const FLQuant_base<T>& rhs){
FLQuant_base<T> out = rhs;
std::vector<T> out_data = out.get_data();
std::transform(out_data.begin(), out_data.end(), out_data.begin(), std::bind1st(std::minus<T>(),lhs));
std::transform(out_data.begin(), out_data.end(), out_data.begin(), [lhs](const T& x){ return lhs - x; });
out.set_data(out_data);
return out;
}

FLQuant_base<double> operator - (const double& lhs, const FLQuant_base<double>& rhs){
FLQuant_base<double> out = rhs;
std::vector<double> out_data = out.get_data();
std::transform(out_data.begin(), out_data.end(), out_data.begin(), std::bind1st(std::minus<double>(),lhs));
std::transform(out_data.begin(), out_data.end(), out_data.begin(), [lhs](const double& x){ return lhs - x; });
out.set_data(out_data);
return out;
}
Expand All @@ -1015,7 +1015,7 @@ template <typename T>
FLQuant_base<T> operator - (const T& lhs, const FLQuant_base<double>& rhs){
FLQuant_base<T> out(rhs);
std::vector<T> out_data = out.get_data();
std::transform(out_data.begin(), out_data.end(), out_data.begin(), std::bind1st(std::minus<T>(),lhs));
std::transform(out_data.begin(), out_data.end(), out_data.begin(), [lhs](const T& x){ return lhs - x; });
out.set_data(out_data);
return out;
}
Expand Down Expand Up @@ -1068,7 +1068,7 @@ FLQuant_base<T>& FLQuant_base<T>::operator += (const FLQuant_base<T2>& rhs){
// FLQuantAdolc / CppAD += adouble
template <typename T>
FLQuant_base<T>& FLQuant_base<T>::operator += (const T& rhs){
std::transform((*this).data.begin(), (*this).data.end(), (*this).data.begin(), std::bind1st(std::plus<T>(),rhs));
std::transform((*this).data.begin(), (*this).data.end(), (*this).data.begin(), [rhs](const T& x){ return rhs + x; });
return *this;
}

Expand All @@ -1078,7 +1078,7 @@ FLQuant_base<T>& FLQuant_base<T>::operator += (const T& rhs){
template <typename T>
template <typename T2>
FLQuant_base<T>& FLQuant_base<T>::operator += (const T2& rhs){
std::transform((*this).data.begin(), (*this).data.end(), (*this).data.begin(), std::bind1st(std::plus<T>(),rhs));
std::transform((*this).data.begin(), (*this).data.end(), (*this).data.begin(), [rhs](const T& x){ return rhs + x; });
return *this;
}

Expand Down
2 changes: 1 addition & 1 deletion src/Makevars
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
PKG_CXXFLAGS=-I../inst/include -DRCPP_USE_UNWIND_PROTECT
CXX_STD=CXX11
CXX_STD=CXX17
2 changes: 1 addition & 1 deletion src/Makevars.win
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
PKG_CXXFLAGS=-I../inst/include -DRCPP_USE_UNWIND_PROTECT
CXX_STD=CXX11
CXX_STD=CXX17