1#
2# $Id$
3#
4# This script performs blas keyword substitutions using the sed editor.
5# It is divided into four separate sed commands because of buffer overflow
6# on some machines, including Cray unicos.
7# (1) The first command substitutes regular embedded keywords in noncomment
8#     lines.
9# (2) The second version substitutes keywords that occur at the end of
10#     noncomment lines.
11# (3) The third version substitutes embedded keywords that are jammed next
12#     to continuation characters.
13# (4) The fourth version substitutes jammed keywords at the end of
14#     continuation lines.
15# This is not bulletproof, but it catches almost all keyword occurences.  It
16# is recommended that your coding practices be consistent with this script.
17#
18# 08-feb-90 four-part division. -rls
19# 14-dec-88 written by ron shepard. based on a previous script written
20#           by eric stahlberg.
21
22s/^\(     .\)[Dd][Aa][Xx][Pp][Yy]\([^A-Za-z0-9_]\)/\1saxpy\2/
23s/^\(     .\)[Dd][Dd][Oo][Tt]\([^A-Za-z0-9_]\)/\1sdot\2/
24s/^\(     .\)[Dd][Ss][Cc][Aa][Ll]\([^A-Za-z0-9_]\)/\1sscal\2/
25s/^\(     .\)[Dd][Cc][Oo][Pp][Yy]\([^A-Za-z0-9_]\)/\1scopy\2/
26s/^\(     .\)[Dd][Nn][Rr][Mm]2\([^A-Za-z0-9_]\)/\1snrm2\2/
27s/^\(     .\)[Ii][Dd][Aa][Mm][Aa][Xx]\([^A-Za-z0-9_]\)/\1isamax\2/
28s/^\(     .\)[Dd][Aa][Ss][Uu][Mm]\([^A-Za-z0-9_]\)/\1sasum\2/
29s/^\(     .\)[Dd][Rr][Oo][Tt]\([^A-Za-z0-9_]\)/\1srot\2/
30s/^\(     .\)[Dd][Rr][Oo][Tt][Gg]\([^A-Za-z0-9_]\)/\1srotg\2/
31s/^\(     .\)[Dd][Ss][Ww][Aa][Pp]\([^A-Za-z0-9_]\)/\1sswap\2/
32s/^\(     .\)[Dd][Mm][Aa][Cc][Hh]\([^A-Za-z0-9_]\)/\1smach\2/
33s/^\(     .\)[Dd][Gg][Ee][Mm][Mm]\([^A-Za-z0-9_]\)/\1sgemm\2/
34s/^\(     .\)[Dd][Gg][Ee][Mm][Vv]\([^A-Za-z0-9_]\)/\1sgemv\2/
35s/^\(     .\)[Dd][Gg][Ee][Ss][Vv]\([^A-Za-z0-9_]\)/\1sgesv\2/
36s/^\(     .\)[Dd][Ss][Pp][Mm][Vv]\([^A-Za-z0-9_]\)/\1sspmv\2/
37s/^\(     .\)[Dd][Gg][Ee][Rr]\([^A-Za-z0-9_]\)/\1sger\2/
38s/^\(     .\)[Dd][Gg][Ee][Ss][Vv][Dd]\([^A-Za-z0-9_]\)/\1sgesvd\2/
39s/^\(     .\)[Dd][Ss][Pp][Ss][Vv][Xx]\([^A-Za-z0-9_]\)/\1sspsvx\2/
40s/^\(     .\)[Dd][Gg][Ee][Tt][Rr][Ss]\([^A-Za-z0-9_]\)/\1sgetrs\2/
41s/^\(     .\)[Dd][Gg][Ee][Tt][Rr][Ff]\([^A-Za-z0-9_]\)/\1sgetrf\2/
42s/^\(     .\)[Dd][Pp][Oo][Tt][Rr][Ff]\([^A-Za-z0-9_]\)/\1spotrf\2/
43s/^\(     .\)[Dd][Pp][Oo][Tt][Rr][Ii]\([^A-Za-z0-9_]\)/\1spotri\2/
44s/^\(     .\)[Dd][Pp][Oo][Ss][Vv]\([^A-Za-z0-9_]\)/\1sposv\2/
45s/^\(     .\)[Dd][Ll][Aa][Ss][Ee][Tt]\([^A-Za-z0-9_]\)/\1slaset\2/
46s/^\(     .\)[Dd][Ll][Aa][Mm][Cc][Hh]\([^A-Za-z0-9_]\)/\1slamch\2/
47s/^\(     .\)[Dd][Ss][Yy][Ee][Vv]\([^A-Za-z0-9_]\)/\1ssyev\2/
48s/^\(     .\)[Dd][Ss][Yy][Gg][Vv]\([^A-Za-z0-9_]\)/\1ssygv\2/
49s/^\(     .\)[Ii][Zz][Aa][Mm][Aa][Xx]\([^A-Za-z0-9_]\)/\1icamax\2/
50
51s/^\(     .\)[Dd][Aa][Xx][Pp][Yy]$/\1saxpy/
52s/^\(     .\)[Dd][Dd][Oo][Tt]$/\1sdot/
53s/^\(     .\)[Dd][Ss][Cc][Aa][Ll]$/\1sscal/
54s/^\(     .\)[Dd][Cc][Oo][Pp][Yy]$/\1scopy/
55s/^\(     .\)[Dd][Nn][Rr][Mm]2$/\1snrm2/
56s/^\(     .\)[Ii][Dd][Aa][Mm][Aa][Xx]$/\1isamax/
57s/^\(     .\)[Dd][Aa][Ss][Uu][Mm]$/\1sasum/
58s/^\(     .\)[Dd][Rr][Oo][Tt]$/\1srot/
59s/^\(     .\)[Dd][Rr][Oo][Tt][Gg]$/\1srotg/
60s/^\(     .\)[Dd][Ss][Ww][Aa][Pp]$/\1sswap/
61s/^\(     .\)[Dd][Mm][Aa][Cc][Hh]$/\1smach/
62s/^\(     .\)[Dd][Gg][Ee][Mm][Mm]$/\1sgemm/
63s/^\(     .\)[Dd][Gg][Ee][Mm][Vv]$/\1sgemv/
64s/^\(     .\)[Dd][Gg][Ee][Ss][Vv]$/\1sgesv/
65s/^\(     .\)[Dd][Ss][Pp][Mm][Vv]$/\1sspmv/
66s/^\(     .\)[Dd][Gg][Ee][Rr]$/\1sger/
67s/^\(     .\)[Dd][Gg][Ee][Ss][Vv][Dd]$/\1sgesvd/
68s/^\(     .\)[Dd][Ss][Pp][Ss][Vv][Xx]$/\1sspsvx/
69s/^\(     .\)[Dd][Gg][Ee][Tt][Rr][Ss]$/\1sgetrs/
70s/^\(     .\)[Dd][Gg][Ee][Tt][Rr][Ff]$/\1sgetrf/
71s/^\(     .\)[Dd][Pp][Oo][Tt][Rr][Ff]$/\1spotrf/
72s/^\(     .\)[Dd][Pp][Oo][Tt][Rr][Ii]$/\1spotri/
73s/^\(     .\)[Dd][Ll][Aa][Ss][Ee][Tt]$/\1slaset/
74s/^\(     .\)[Dd][Ll][Aa][Mm][Cc][Hh]$/\1slamch/
75s/^\(     .\)[Dd][Ss][Yy][Ee][Vv]$/\1ssyev/
76s/^\(     .\)[Dd][Ss][Yy][Gg][Vv]$/\1ssygv/
77s/^\(     .\)[Ii][Zz][Aa][Mm][Aa][Xx]$/\1icamax/
78s/^\(     .\)[Dd][Gg][Ee][Bb][Aa][Kk]$/\1sgebak/
79s/^\(     .\)[Dd][Gg][Ee][Bb][Aa][Ll]$/\1sgebal/
80s/^\(     .\)[Dd][Gg][Ee][Hh][Rr][Dd]$/\1sgehrd/
81s/^\(     .\)[Dd][Hh][SS][Ee][Qq][Rr]$/\1shseqr/
82s/^\(     .\)[Dd][Ll][Aa][Bb][Aa][Dd]$/\1slabad/
83s/^\(     .\)[Dd][Oo][Rr][Gg][Hh][Rr]$/\1sorghr/
84s/^\(     .\)[Dd][Tt][Rr][Ee][Vv][Cc]$/\1strevc/
85
86