REQUIRE_TRUE(input->rankOf()>1,0,"REVERSE_SEQUENSE operation: input array must have rank > 1, but got %i instead !",input->rankOf());
REQUIRE_TRUE(seqLengths->rankOf()==1,0,"REVERSE_SEQUENSE operation: input array seqLengths must be 1D vector, that is it must have rank == 1, but got %i instead !",seqLengths->rankOf());
REQUIRE_TRUE(seqLengths->lengthOf()==input->sizeAt(batchDim),0,"REVERSE_SEQUENSE custom operation: the length of array seqLengths must be equal to the value of batchDim dimension of input array, but got %i and %i correspondingly !",seqLengths->lengthOf(),input->sizeAt(batchDim));
REQUIRE_TRUE(seqDim!=batchDim,0,"REVERSE_SEQUENSE operation: input integer parameters seqDim and batchDim must be different, but they both are equal to %i !",batchDim);
REQUIRE_TRUE(batchDim<input->rankOf(),0,"REVERSE_SEQUENSE operation: input integer parameter batchDim must be smaller than input array rank, but got %i and %i correspondingly !",batchDim,input->rankOf());
REQUIRE_TRUE(seqDim<input->rankOf(),0,"REVERSE_SEQUENSE operation: input integer parameter seqDim must be smaller than input array rank, but got %i and %i correspondingly !",seqDim,input->rankOf());
REQUIRE_TRUE(maxElem.e<Nd4jLong>(0)<=input->sizeAt(seqDim),0,"REVERSE_SEQUENSE operation: max element in seqLengths array must be not greater than value of seqDim dimension of input array !");
REQUIRE_TRUE(batchDim<inShapeInfo[0],0,"REVERSE_SEQUENSE operation: input integer parameter batchDim must be smaller than input array rank, but got %i and %i correspondingly !",batchDim,inShapeInfo[0]);
REQUIRE_TRUE(seqDim<inShapeInfo[0],0,"REVERSE_SEQUENSE operation: input integer parameter seqDim must be smaller than input array rank, but got %i and %i correspondingly !",seqDim,inShapeInfo[0]);
REQUIRE_TRUE(inShapeInfo[0]>1,0,"REVERSE_SEQUENSE operation: input array must have rank > 1, but got %i instead !",inShapeInfo[0]);
REQUIRE_TRUE(seqLenShapeInfo[0]==1,0,"REVERSE_SEQUENSE operation: input array seqLengths must be 1D vector, that is it must have rank == 1, but got %i instead !",seqLenShapeInfo[0]);
REQUIRE_TRUE(seqLenShapeInfo[1]==inShapeInfo[batchDim+1],0,"REVERSE_SEQUENSE custom operation: the length of array seqLengths must be equal to the value of batchDim dimension of input array, but got %i and %i correspondingly !",seqLenShapeInfo[1],inShapeInfo[batchDim+1]);