Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.os.linux.setup > #4377
| Newsgroups | comp.os.linux.setup |
|---|---|
| Date | 2019-11-25 04:56 -0800 |
| Message-ID | <f07e8b3a-4290-4290-8ead-2bcc5e650caf@googlegroups.com> (permalink) |
| Subject | extended bc |
| From | antonio.macchi.2.7182@gmail.com |
hi, this is my own extended version of linux shell command "bc"
may be you can find it useful... and may be you can find on it some errors... let me know. bye
---
$ cat b
#!/bin/bash
{
echo -n "define abs(x){return sqrt(x^2)} "
echo -n "define cbrt(a){if(a==0)return 0;return e(l(abs(a))/3)*a/abs(a)} "
echo -n "define qqrt(a){if(a==0)return 0;return e(l(a)/4)} "
echo -n "define p(a,b){if(a==0){if(b==0)return 1;return 0};return e(l(a)*b)} "
echo -n "define t(a){return s(a)/c(a)} "
echo -n "define ct(a){return c(a)/s(a)} "
echo -n "define as(s){if(s==1)return a(1)*2;if(s==-1)return -a(1)*2;return a(s/sqrt(1-s^2))} "
echo -n "define ac(c){if(c==1)return 0;if(c==-1)return a(1)*4;if(c==0)return a(1)*2;b_a=a(sqrt(1-c^2)/c);if(b_a>=0)return b_a;return a(1)*4+b_a} "
echo -n "define act(ct){if(ct==0)return a(1)*2;b_a=a(1/ct);if(b_a>0)return b_a;return a(1)*4+b_a} "
echo -n "define sec(a){return 1/c(a)} "
echo -n "define cosec(a){return 1/s(a)} "
echo -n "define asec(c){return ac(1/c)} "
echo -n "define acosec(s){return as(1/s)} "
echo -n "define vers(a){return 1-c(a)} "
echo -n "define covers(a){return 1-s(a)} "
echo -n "define avers(c){return ac(1-c)} "
echo -n "define acovers(s){return as(1-s)} "
echo -n "define sh(x){return (e(x)-e(-x))/2} "
echo -n "define ch(x){return (e(x)+e(-x))/2} "
echo -n "define th(x){return (e(x)-e(-x))/(e(x)+e(-x))} "
echo -n "define cth(x){return (e(x)+e(-x))/(e(x)-e(-x))} "
echo -n "define sech(x){return 2/(e(x)+e(-x))} "
echo -n "define cosech(x){return 2/(e(x)-e(-x))} "
echo -n "define ash(s){return l(s+sqrt(s^2+1))} "
echo -n "define ach(c){return l(c+sqrt(c^2-1))} "
echo -n "define ath(t){return l((1+t)/(1-t))/2} "
echo -n "define acth(c){return l((c+1)/(c-1))/2} "
echo -n "define asech(c){return l((1+sqrt(1-c^2))/c)} "
echo -n "define acosech(s){if(s<0)return l((1-sqrt(1+s^2))/s) else return l((1+sqrt(1+s^2))/s)} "
echo -n "define int(x){if(x==0)return 0;b_exscale=scale;scale=0;b_itg=x*x/x;scale=b_exscale;return b_itg} "
echo -n "define rnd(){if(b_firstime==0){b_seed=$RANDOM;b_firstime=1;};b_seed=s(b_seed)*10;return s(b_seed)} "
echo -n "define mod(a,b){b_a=sqrt(a^2);b_b=sqrt(b^2);while(b_a>=b_b)b_a=b_a-b_b;return b_a*a/sqrt(a^2)} "
echo -n "define fact(f){if(f<0)return 0;b_f=int(f);if(b_f==0)return 1;b_r=b_f;b_f=b_f-1;while(b_f>1){b_r*=b_f;b_f=b_f-1};return b_r} "
echo -n "define r(d){return d/45*a(1)} "
echo -n "define d(r){return r/a(1)*45} "
cat
} | BC_LINE_LENGTH=0 bc -l
Back to comp.os.linux.setup | Previous | Next | Find similar | Unroll thread
extended bc antonio.macchi.2.7182@gmail.com - 2019-11-25 04:56 -0800
csiph-web