code: def gauss(n, a, b):
      #     Downward elimination.
      for i in range(1, n + 1):
          if i < n:
              pivot(n, i, a, b)
          a[i - 1][i - 1] = 1.0 / a[i - 1][i - 1]
          b[i - 1] = b[i - 1] * a[i - 1][i - 1]
          if i < n:
              for j in range(i + 1, n + 1):
                  a[j - 1][i - 1] = a[j - 1][i - 1] * a[i - 1][i - 1]
              for k in range(i + 1, n + 1):
                  b[k - 1] = b[k - 1] - a[i - 1][k - 1] * b[i - 1]
                  for j in range(i + 1, n + 1):
                      a[j - 1][k - 1] = (
                          a[j - 1][k - 1]
                          - a[i - 1][k - 1] * a[j - 1][i - 1]
                      )
      #     Back substitution.
      for i in range(n - 1, 0, -1):
          for j in range(i, n):
              b[i - 1] = b[i - 1] - a[j][i - 1] * b[j]
  
file_path: pythran/pythran/tests/cases/ramsurf.py
imports: import cmath
label_desc: Use image node_id 4 for calling a global function with example usage: gauss(n, a, b) without return types