(
outShape: number[], xBuf: TensorBuffer<R>, strides: number[],
begin: number[])
| 18 | import {buffer, Rank, TensorBuffer} from '@tensorflow/tfjs-core'; |
| 19 | |
| 20 | export function stridedSliceImpl<R extends Rank>( |
| 21 | outShape: number[], xBuf: TensorBuffer<R>, strides: number[], |
| 22 | begin: number[]): TensorBuffer<R> { |
| 23 | const outBuf = buffer(outShape, xBuf.dtype); |
| 24 | |
| 25 | for (let i = 0; i < outBuf.size; i++) { |
| 26 | const loc = outBuf.indexToLoc(i); |
| 27 | |
| 28 | const newLoc: number[] = new Array(loc.length); |
| 29 | for (let j = 0; j < newLoc.length; j++) { |
| 30 | newLoc[j] = loc[j] * strides[j] + begin[j]; |
| 31 | } |
| 32 | outBuf.set(xBuf.get(...newLoc), ...loc); |
| 33 | } |
| 34 | |
| 35 | return outBuf as TensorBuffer<R>; |
| 36 | } |
no test coverage detected
searching dependent graphs…