conversions.bash 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. #!/usr/bin/env bash
  2. # Copyright ©2017 The Gonum Authors. All rights reserved.
  3. # Use of this source code is governed by a BSD-style
  4. # license that can be found in the LICENSE file.
  5. # Generate code for blas32.
  6. echo Generating blas32/conv.go
  7. echo -e '// Code generated by "go generate gonum.org/v1/gonum/blas”; DO NOT EDIT.\n' > blas32/conv.go
  8. cat blas64/conv.go \
  9. | gofmt -r 'float64 -> float32' \
  10. \
  11. | sed -e 's/blas64/blas32/' \
  12. \
  13. >> blas32/conv.go
  14. echo Generating blas32/conv_test.go
  15. echo -e '// Code generated by "go generate gonum.org/v1/gonum/blas”; DO NOT EDIT.\n' > blas32/conv_test.go
  16. cat blas64/conv_test.go \
  17. | gofmt -r 'float64 -> float32' \
  18. \
  19. | sed -e 's/blas64/blas32/' \
  20. -e 's_"math"_math "gonum.org/v1/gonum/internal/math32"_' \
  21. \
  22. >> blas32/conv_test.go
  23. echo Generating blas32/conv_symmetric.go
  24. echo -e '// Code generated by "go generate gonum.org/v1/gonum/blas”; DO NOT EDIT.\n' > blas32/conv_symmetric.go
  25. cat blas64/conv_symmetric.go \
  26. | gofmt -r 'float64 -> float32' \
  27. \
  28. | sed -e 's/blas64/blas32/' \
  29. \
  30. >> blas32/conv_symmetric.go
  31. echo Generating blas32/conv_symmetric_test.go
  32. echo -e '// Code generated by "go generate gonum.org/v1/gonum/blas”; DO NOT EDIT.\n' > blas32/conv_symmetric_test.go
  33. cat blas64/conv_symmetric_test.go \
  34. | gofmt -r 'float64 -> float32' \
  35. \
  36. | sed -e 's/blas64/blas32/' \
  37. -e 's_"math"_math "gonum.org/v1/gonum/internal/math32"_' \
  38. \
  39. >> blas32/conv_symmetric_test.go
  40. # Generate code for cblas128.
  41. echo Generating cblas128/conv.go
  42. echo -e '// Code generated by "go generate gonum.org/v1/gonum/blas”; DO NOT EDIT.\n' > cblas128/conv.go
  43. cat blas64/conv.go \
  44. | gofmt -r 'float64 -> complex128' \
  45. \
  46. | sed -e 's/blas64/cblas128/' \
  47. \
  48. >> cblas128/conv.go
  49. echo Generating cblas128/conv_test.go
  50. echo -e '// Code generated by "go generate gonum.org/v1/gonum/blas”; DO NOT EDIT.\n' > cblas128/conv_test.go
  51. cat blas64/conv_test.go \
  52. | gofmt -r 'float64 -> complex128' \
  53. \
  54. | sed -e 's/blas64/cblas128/' \
  55. -e 's_"math"_math "math/cmplx"_' \
  56. \
  57. >> cblas128/conv_test.go
  58. echo Generating cblas128/conv_symmetric.go
  59. echo -e '// Code generated by "go generate gonum.org/v1/gonum/blas”; DO NOT EDIT.\n' > cblas128/conv_symmetric.go
  60. cat blas64/conv_symmetric.go \
  61. | gofmt -r 'float64 -> complex128' \
  62. \
  63. | sed -e 's/blas64/cblas128/' \
  64. \
  65. >> cblas128/conv_symmetric.go
  66. echo Generating cblas128/conv_symmetric_test.go
  67. echo -e '// Code generated by "go generate gonum.org/v1/gonum/blas”; DO NOT EDIT.\n' > cblas128/conv_symmetric_test.go
  68. cat blas64/conv_symmetric_test.go \
  69. | gofmt -r 'float64 -> complex128' \
  70. \
  71. | sed -e 's/blas64/cblas128/' \
  72. -e 's_"math"_math "math/cmplx"_' \
  73. \
  74. >> cblas128/conv_symmetric_test.go
  75. echo Generating cblas128/conv_hermitian.go
  76. echo -e '// Code generated by "go generate gonum.org/v1/gonum/blas”; DO NOT EDIT.\n' > cblas128/conv_hermitian.go
  77. cat blas64/conv_symmetric.go \
  78. | gofmt -r 'float64 -> complex128' \
  79. \
  80. | sed -e 's/blas64/cblas128/' \
  81. -e 's/Symmetric/Hermitian/g' \
  82. -e 's/a symmetric/an Hermitian/g' \
  83. -e 's/symmetric/hermitian/g' \
  84. -e 's/Sym/Herm/g' \
  85. \
  86. >> cblas128/conv_hermitian.go
  87. echo Generating cblas128/conv_hermitian_test.go
  88. echo -e '// Code generated by "go generate gonum.org/v1/gonum/blas”; DO NOT EDIT.\n' > cblas128/conv_hermitian_test.go
  89. cat blas64/conv_symmetric_test.go \
  90. | gofmt -r 'float64 -> complex128' \
  91. \
  92. | sed -e 's/blas64/cblas128/' \
  93. -e 's/Symmetric/Hermitian/g' \
  94. -e 's/a symmetric/an Hermitian/g' \
  95. -e 's/symmetric/hermitian/g' \
  96. -e 's/Sym/Herm/g' \
  97. -e 's_"math"_math "math/cmplx"_' \
  98. \
  99. >> cblas128/conv_hermitian_test.go
  100. # Generate code for cblas64.
  101. echo Generating cblas64/conv.go
  102. echo -e '// Code generated by "go generate gonum.org/v1/gonum/blas”; DO NOT EDIT.\n' > cblas64/conv.go
  103. cat blas64/conv.go \
  104. | gofmt -r 'float64 -> complex64' \
  105. \
  106. | sed -e 's/blas64/cblas64/' \
  107. \
  108. >> cblas64/conv.go
  109. echo Generating cblas64/conv_test.go
  110. echo -e '// Code generated by "go generate gonum.org/v1/gonum/blas”; DO NOT EDIT.\n' > cblas64/conv_test.go
  111. cat blas64/conv_test.go \
  112. | gofmt -r 'float64 -> complex64' \
  113. \
  114. | sed -e 's/blas64/cblas64/' \
  115. -e 's_"math"_math "gonum.org/v1/gonum/internal/cmplx64"_' \
  116. \
  117. >> cblas64/conv_test.go
  118. echo Generating cblas64/conv_hermitian.go
  119. echo -e '// Code generated by "go generate gonum.org/v1/gonum/blas”; DO NOT EDIT.\n' > cblas64/conv_hermitian.go
  120. cat blas64/conv_symmetric.go \
  121. | gofmt -r 'float64 -> complex64' \
  122. \
  123. | sed -e 's/blas64/cblas64/' \
  124. -e 's/Symmetric/Hermitian/g' \
  125. -e 's/a symmetric/an Hermitian/g' \
  126. -e 's/symmetric/hermitian/g' \
  127. -e 's/Sym/Herm/g' \
  128. \
  129. >> cblas64/conv_hermitian.go
  130. echo Generating cblas64/conv_hermitian_test.go
  131. echo -e '// Code generated by "go generate gonum.org/v1/gonum/blas”; DO NOT EDIT.\n' > cblas64/conv_hermitian_test.go
  132. cat blas64/conv_symmetric_test.go \
  133. | gofmt -r 'float64 -> complex64' \
  134. \
  135. | sed -e 's/blas64/cblas64/' \
  136. -e 's/Symmetric/Hermitian/g' \
  137. -e 's/a symmetric/an Hermitian/g' \
  138. -e 's/symmetric/hermitian/g' \
  139. -e 's/Sym/Herm/g' \
  140. -e 's_"math"_math "gonum.org/v1/gonum/internal/cmplx64"_' \
  141. \
  142. >> cblas64/conv_hermitian_test.go