]> git.somenet.org - pub/jan/parprog.git/blob - openmp/merge/generate_random.sh
add timers
[pub/jan/parprog.git] / openmp / merge / generate_random.sh
1 #!/bin/bash
2
3 function pwait() {
4         while [ $(jobs -r | wc -l) -gt 0 ];
5         do
6                 sleep 1
7         done
8 }
9
10 # 10 ^ x values
11 X=8
12 NULLEN=""
13 PUNKTE="."
14 for i in $(seq `expr $X - 1`);
15 do
16         NULLEN="${NULLEN}0"
17         PUNKTE="${PUNKTE}."
18 done
19
20 echo "1${NULLEN} values"
21
22 echo "generating numbers"
23 echo $(date)
24 echo `</dev/urandom tr -dc 0-9 | head -c${XHALBE}${NULLEN}` | sed 's/\(${PUNKTE}\)/\1\n/g' > unsorted1a &
25 echo `</dev/urandom tr -dc 0-9 | head -c${XHALBE}${NULLEN}` | sed 's/\(${PUNKTE}\)/\1\n/g' > unsorted1b &
26 echo `</dev/urandom tr -dc 0-9 | head -c${XHALBE}${NULLEN}` | sed 's/\(${PUNKTE}\)/\1\n/g' > unsorted2a &
27 echo `</dev/urandom tr -dc 0-9 | head -c${XHALBE}${NULLEN}` | sed 's/\(${PUNKTE}\)/\1\n/g' > unsorted2b &
28
29 pwait
30
31 echo "removing empty lines"
32 echo $(date)
33 rm -f unsorted1 unsorted2
34 sed '/^$/d' unsorted1a >> unsorted1
35 sed '/^$/d' unsorted1b >> unsorted1
36 sed '/^$/d' unsorted2a >> unsorted2
37 sed '/^$/d' unsorted2b >> unsorted2
38
39 echo "formatting numlist"
40 echo $(date)
41 cat unsorted1 | sort -n | sed -e ':a;N;$!ba;s/\n/,/g' -e 's/^/,/' -e 's/,[0]*/,/g' -e 's/^,/\tint a[] = {/' -e 's/$/,-1};/' >numlist1.c &
42 cat unsorted2 | sort -n | sed -e ':a;N;$!ba;s/\n/,/g' -e 's/^/,/' -e 's/,[0]*/,/g' -e 's/^,/\tint b[] = {/' -e 's/$/,-1};/' >numlist2.c &
43 pwait
44
45 echo "Done."
46 echo $(date)