code: @Override
      public void rot(long N, INDArray X, INDArray Y, double c, double s) {
  
  
          if (X instanceof BaseSparseNDArray) {
              BaseSparseNDArray sparseX = (BaseSparseNDArray) X;
  
              switch (X.data().dataType()) {
                  case DOUBLE:
                      droti(N, X, sparseX.getVectorCoordinates(), Y, c, s);
                      break;
                  case FLOAT:
                      sroti(N, X, sparseX.getVectorCoordinates(), Y, c, s);
                      break;
                  case HALF:
                      hroti(N, X, sparseX.getVectorCoordinates(), Y, c, s);
                      break;
                  default:
                      throw new UnsupportedOperationException();
              }
          } else {
              throw new UnsupportedOperationException();
          }
      }
docs: Applies Givens rotation to sparse vectors one of which is in compressed form.
  
  @param N The number of elements in vectors X and Y
  @param X a sparse vector
  @param Y a full-storage vector
  @param c a scalar
  @param s a scalar