code: def cast(self, dtype):
          
          self.dtype = dtype
          if self._data is None:
              return
          with autograd.pause():
              self._data = [i.astype(dtype) for i in self._data]
              if self._grad is None:
                  return
              self._grad = [i.astype(dtype) for i in self._grad]
              autograd.mark_variables(self._data, self._grad, self.grad_req)
docs: Cast data and gradient of this Parameter to a new data type.
  
          Parameters
          ----------
          dtype : str or numpy.dtype
              The new data type.