license import { DataType , KernelConfig , KernelFunc , Neg , TensorInfo , TypedArray , UnaryInputs , util } from '@tensorflow/tfjs-core' ; import { MathBackendCPU } from '../backend_cpu' ; import { assertNotComplex } from '../cpu_util' ; import { multiplyImpl } from './Multiply' ; export function negImpl ( xVals , xShape , xDtype ) { const minusOne = util . createScalarValue ( - 1 as { } as 'float32' , xDtype ) as TypedArray ; return multiplyImpl ( [ ] , xShape , minusOne , xVals , xDtype ) ; } export function neg ( args ) { const { inputs , backend } = args ; const { x } = inputs ; assertNotComplex ( x , 'neg' ) ; const xVals = backend . data . get ( x . dataId ) . values as TypedArray ; const [ res , newShape ] = negImpl ( xVals , x . shape , x . dtype ) ; return backend . makeTensorInfo ( newShape , x . dtype , res ) ; } export const negConfig = { kernelName : Neg , backendName : 'cpu' , kernelFunc : neg as { } as KernelFunc } ;