Skip to content

Commit faa4fbf

Browse files
committed
Add missing math functions: sq, mag, abs, floor, ceil, round, sqrt, pow, exp, log
1 parent 9d29780 commit faa4fbf

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

src/Processing.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3651,6 +3651,17 @@ inline float dist(A x1,B y1,C x2,D y2){ float dx=(float)x2-(float)x1,dy=(float)y
36513651
template<typename A,typename B,typename C,typename D,typename E,typename F,
36523652
typename=::std::enable_if_t<::Processing::_is_numeric_v<A>&&::Processing::_is_numeric_v<B>&&::Processing::_is_numeric_v<C>&&::Processing::_is_numeric_v<D>&&::std::is_arithmetic_v<E>&&::std::is_arithmetic_v<F>>>
36533653
inline float dist(A x1,B y1,C z1,D x2,E y2,F z2){ float dx=(float)x2-(float)x1,dy=(float)y2-(float)y1,dz=(float)z2-(float)z1; return ::std::sqrt(dx*dx+dy*dy+dz*dz); }
3654+
template<class A> inline float sq(A v){ return (float)v*(float)v; }
3655+
template<class A,class B> inline float mag(A x,B y){ return ::std::sqrt((float)x*(float)x+(float)y*(float)y); }
3656+
template<class A,class B,class C> inline float mag(A x,B y,C z){ return ::std::sqrt((float)x*(float)x+(float)y*(float)y+(float)z*(float)z); }
3657+
template<class A> inline float abs(A v){ return ::std::abs((float)v); }
3658+
template<class A> inline float floor(A v){ return ::std::floor((float)v); }
3659+
template<class A> inline float ceil(A v){ return ::std::ceil((float)v); }
3660+
template<class A> inline float round(A v){ return ::std::round((float)v); }
3661+
template<class A> inline float sqrt(A v){ return ::std::sqrt((float)v); }
3662+
template<class A,class B> inline float pow(A base,B exp){ return ::std::pow((float)base,(float)exp); }
3663+
template<class A> inline float exp(A v){ return ::std::exp((float)v); }
3664+
template<class A> inline float log(A v){ return ::std::log((float)v); }
36543665

36553666
// image() -- mixed types, value and pointer variants
36563667
// image() -- draw a PImage to screen

0 commit comments

Comments
 (0)