code: def _poly_eval(self, u, ids, der=0):
          
          if der == 0:
              return self._poly_eval_0(u, ids)
          elif der == 1:
              return self._poly_eval_1(u, ids)
          elif der == 2:
              return self._poly_eval_2(u, ids)
          elif der == 3:
              return self._poly_eval_3(u, ids)
          elif der >= 4:
              return self._poly_eval_4(u, ids)
          else:
              raise ValueError("der={} is impossible".format(der))
docs: Evaluate internal polynomial.