code: def _poly(self, z):
          
          shp = self.state.oshape.shape
          zmax = float(shp[0])
          zmin = 0.0
          zmid = zmax * 0.5
  
          coeffs = self.param_vals[self.rscale_mask].copy()
          if coeffs.size == 0:
              ans = 0*z
          else:
              ans = np.polynomial.legendre.legval((z-zmid)/zmid,
                      self.param_vals[self.rscale_mask])
          return ans
docs: Right now legval(z)