Richard Henderson | 625be28 | 2004-08-30 14:34:37 -0700 | [diff] [blame^] | 1 | #!/bin/sh |
| 2 | |
| 3 | compile="$1" |
| 4 | kinds="" |
| 5 | possible_kinds="4 8 10 16" |
| 6 | c=0 |
| 7 | |
| 8 | for k in $possible_kinds; do |
| 9 | echo " real (kind=$k) :: x" > tmp$$.f90 |
| 10 | echo " end" >> tmp$$.f90 |
| 11 | if $compile -c tmp$$.f90 > /dev/null 2>&1; then |
| 12 | kinds="$kinds $k" |
| 13 | c=`expr $c + 1` |
| 14 | fi |
| 15 | rm -f tmp$$.* |
| 16 | done |
| 17 | |
| 18 | echo " integer, parameter :: c = $c" |
| 19 | echo " type (real_info), parameter :: real_infos(c) = (/ &" |
| 20 | |
| 21 | i=0 |
| 22 | for k in $kinds; do |
| 23 | echo -n " real_info ($k, precision(0.0_$k), range(0.0_$k))" |
| 24 | i=`expr $i + 1` |
| 25 | if [ $i -lt $c ]; then |
| 26 | echo ", &" |
| 27 | else |
| 28 | echo " /)" |
| 29 | fi |
| 30 | done |
| 31 | |
| 32 | exit 0 |