license import { ComplexAbs , ComplexAbsInputs , KernelConfig , KernelFunc , util } from '@tensorflow/tfjs-core' ; import { MathBackendCPU } from '../backend_cpu' ; export const complexAbs = ( args ) => { const { x } = args . inputs ; const cpuBackend = args . backend ; const resultValues = new Float32Array ( util . sizeFromShape ( x . shape ) ) ; const complexVals = cpuBackend . data . get ( x . dataId ) ; const real = complexVals . complexTensorInfos . real ; const imag = complexVals . complexTensorInfos . imag ; const realVals = cpuBackend . data . get ( real . dataId ) . values as Float32Array ; const imagVals = cpuBackend . data . get ( imag . dataId ) . values as Float32Array ; for ( let i = 0 ; i < realVals . length ; i ++ ) { const real = realVals [ i ] ; const imag = imagVals [ i ] ; resultValues [ i ] = Math . hypot ( real , imag ) ; } return cpuBackend . makeOutput ( resultValues , x . shape , 'float32' ) ; } ; export const complexAbsConfig = { kernelName : ComplexAbs , backendName : 'cpu' , kernelFunc : complexAbs as { } as KernelFunc , } ;