bash and real arithmetic

wayne wayne@reliant.immure.com
Fri Apr 11 21:12:00 GMT 2003


Not on topic but you could also use awk for fractional math.
AWK is quite good at math.

On Fri, Apr 11, 2003 at 01:00:37PM -0700, Peter A. Castro wrote:
> On Fri, 11 Apr 2003, Igor Pechtchanski wrote:
> 
> > On Fri, 11 Apr 2003, Randall R Schulz wrote:
> > 
> > > At 10:21 2003-04-11, Igor Pechtchanski wrote:
> > > >On Sat, 12 Apr 2003, Stepan Yakovenko wrote:
> > > >
> > > > > HI!
> > > > >
> > > > >   Is it possible to get for loops working
> > > > >   in double arithmetic in bash ? I've got to run
> > > > >   a program with a real argument many times, changing it
> > > > >   every run by some fixed small (<1) number.
> > > > >   Thanx in advance, sorry for my broken English.
> > > >Umm, scale?  For example:
> > > >    for (( i=0; i < 10; i++ )); do echo 0.$i; done
> > > Umm, leading zero suppression?
> > > % for (( i=0; i < 100; i++ )); do echo 0.$i; done
> > > 0.0
> > > 0.1
> > > [snip]
> > > 0.20
> > > etc.
> > > Randall
> > 
> > Yes, yes...  It was an /example/.  If you want leading zeros for numbers
> > greater than 10, use bash's "printf" builtin:
> >    for (( i=0; i < 100; i++ )); do echo 0.$(printf "%02d" $i); done
> > Better? :-p
> > 	Igor
> 
> zsh does integer math, but since you want fractional math, zsh won't do.
> You could simply use 'bc'.  Eg:
> 
> $ x='2.2'
> $ x=`echo $x+0.3 | bc`
> $ echo $x
> 2.5
> 
> -- 
> Peter A. Castro <doctor@fruitbat.org> or <Peter.Castro@oracle.com>
> 	"Cats are just autistic Dogs" -- Dr. Tony Attwood
> 
> 
> --
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> Bug reporting:         http://cygwin.com/bugs.html
> Documentation:         http://cygwin.com/docs.html
> FAQ:                   http://cygwin.com/faq/

-- 
Slowly and surely the unix crept up on the Nintendo user ...
Wayne Willcox                          I will not eat green eggs and ham
wayne@reliant.immure.com                     I will not eat them Sam I Am!!
A wise person makes his own decisions, a weak one obeys public opinion.
                -- Chinese proverb

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list