@ Override public void scal ( long N , double alpha , INDArray X ) { if ( Nd4j . getExecutioner ( ) . getProfilingMode ( ) == OpExecutioner . ProfilingMode . ALL ) OpProfiler . getInstance ( ) . processBlasCall ( false , X ) ; if ( X . isSparse ( ) ) { Nd4j . getSparseBlasWrapper ( ) . level1 ( ) . scal ( N , alpha , X ) ; } else if ( X . data ( ) . dataType ( ) == DataType . DOUBLE ) dscal ( N , alpha , X , BlasBufferUtil . getBlasStride ( X ) ) ; else if ( X . data ( ) . dataType ( ) == DataType . FLOAT ) sscal ( N , ( float ) alpha , X , BlasBufferUtil . getBlasStride ( X ) ) ; else if ( X . data ( ) . dataType ( ) == DataType . HALF ) Nd4j . getExecutioner ( ) . exec ( new ScalarMultiplication ( X , alpha ) ) ; }
computes a vector by a scalar product .