      static double mp_vector_resize_ext(_cimg_math_parser& mp) {
        double *const ptrd = &_mp_arg(1) + 1;
        const unsigned int
          siz = (unsigned int)mp.opcode[2],
          ow = (unsigned int)mp.opcode[4],
          oh = (unsigned int)mp.opcode[5],
          od = (unsigned int)mp.opcode[6],
          os = (unsigned int)mp.opcode[7],
          nw = (unsigned int)mp.opcode[8],
          nh = (unsigned int)mp.opcode[9],
          nd = (unsigned int)mp.opcode[10],
          ns = (unsigned int)mp.opcode[11];
        const int
          interpolation = (int)_mp_arg(12),
          boundary_conditions = (int)_mp_arg(13);
        const float
          ax = (float)_mp_arg(14),
          ay = (float)_mp_arg(15),
          az = (float)_mp_arg(16),
          ac = (float)_mp_arg(17);
        if (siz) { // Resize vector
          const double *const ptrs = &_mp_arg(3) + 1;
          CImg<doubleT>(ptrd,nw,nh,nd,ns,true) = CImg<doubleT>(ptrs,ow,oh,od,os,true).
            get_resize(nw,nh,nd,ns,interpolation,boundary_conditions,ax,ay,az,ac);
        } else { // Resize scalar
          const double value = _mp_arg(3);
          CImg<doubleT>(ptrd,nw,nh,nd,ns,true) = CImg<doubleT>(1,1,1,1,value).
            resize(nw,nh,nd,ns,interpolation,boundary_conditions,ax,ay,az,ac);
        }
        return cimg::type<double>::nan();
      }
      static double mp_vector_resize_ext(_cimg_math_parser& mp) {
        double *const ptrd = &_mp_arg(1) + 1;
        const unsigned int
          siz = (unsigned int)mp.opcode[2],
          ow = (unsigned int)mp.opcode[4],
          oh = (unsigned int)mp.opcode[5],
          od = (unsigned int)mp.opcode[6],
          os = (unsigned int)mp.opcode[7],
          nw = (unsigned int)mp.opcode[8],
          nh = (unsigned int)mp.opcode[9],
          nd = (unsigned int)mp.opcode[10],
          ns = (unsigned int)mp.opcode[11];
        const int
          interpolation = (int)_mp_arg(12),
          boundary_conditions = (int)_mp_arg(13);
        const float
          ax = (float)_mp_arg(14),
          ay = (float)_mp_arg(15),
          az = (float)_mp_arg(16),
          ac = (float)_mp_arg(17);
        if (siz) {  
          const double *const ptrs = &_mp_arg(3) + 1;
          CImg<doubleT>(ptrd,nw,nh,nd,ns,true) = CImg<doubleT>(ptrs,ow,oh,od,os,true).
            get_resize(nw,nh,nd,ns,interpolation,boundary_conditions,ax,ay,az,ac);
        } else {  
          const double value = _mp_arg(3);
          CImg<doubleT>(ptrd,nw,nh,nd,ns,true) = CImg<doubleT>(1,1,1,1,value).
            resize(nw,nh,nd,ns,interpolation,boundary_conditions,ax,ay,az,ac);
        }
        return cimg::type<double>::nan();
      }