[Shootout-list] new bash tests

David Pyke David Pyke" <shoelace_822695@hotmail.com
Sun, 11 Jul 2004 17:06:22 +0100


This is a multi-part message in MIME format.

------=_NextPart_000_000B_01C46769.63FD7B00
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

with recent version of bash variable array notation has been possible

i have alss noticed that using declare -i  to set varibles to integer may be
a performance hit. but i havent confimed this


ary.bash.sameway  is the standard implementation using while loops
ary.bash.samething is the same EXCEPT i have created a $cnt variable in the
init loop so i can iterate over it with for .. in...

fibo2.bash is a version of fibo.bash where intermediate values are stored in
an array.

nestedloop2.bash : i have switched the "a=$[$a - 1]"  lines for "a=$((a -
1))" and noticed an improvement on my system.

random2.bash uses the bc systemcall to perform floting point division.
random3.bash uses integer/fractional maths and is much much quicker.

heapsort3.bash  uses the random3.bash as its base but produces incorrect
results if N=260, if you can fix this good.

my test system was actually cygwin on win2k
GNU bash, version 2.05b.0(1)-release (i686-pc-cygwin)

David Pyke
11-jul-2004

------=_NextPart_000_000B_01C46769.63FD7B00
Content-Type: application/octet-stream;
	name="bash_tests.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="bash_tests.zip"

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

------=_NextPart_000_000B_01C46769.63FD7B00--