[ Prev ] [ Index ] [ Next ]

Power, root and logarithmic functions

Created Saturday 15 August 2020

Power, root and logartithmic functions:

POWER='define int(i) { auto s; s=scale; scale=0; i/=1; scale=s; return i } 
define sign(x) { if(x<0) { z=-1 } else { if (x>0) { z=1 } else { z=0 } }; return z }
define mant(x) { e=int(log(x)); z=x/alog(e); return z }
define power(b,x) { if(x==int(x)) { z=b^x } else { if(b<0) { z=sqrt(-1) }
	else { z=e(l(b)*x) } }; return z }
define xroot(b,x) { if(x==2) { z=sqrt(b) }
	else { if (b>=0) { z=power(b,1/x) }
	else { if((x/2==int(x/2))||(int(x)!=x)) { z=sqrt(b) }
	else { z=-power(-b,1/x) } } }; return z }
define ln(x) { return l(x) }
define exp(x) { return e(x) }
define log(x) { return l(x)/l(10) }
define alog(x) { return power(10,x) }
define sci(x) { e=int(log(x)); z=x/alog(e); print z,"E"; return e }
define eng(x) { e=int(int(log(x))/3)*3; z=x/alog(e); print z,"E"; return e }' 

echo $POWER'power(2,3.5)' | bc -l