src/LevenshteinDistance.php
private function resolveRawProgresses(array $rawProgresses): array
    {
        static $callbacks;

        $callbacks = $callbacks ?? [
            self::OP_CPY => function (int $x, int $y): array {
                return [self::OP_CPY, $x - 1, $y - 1, 1];
            },
            self::OP_DEL => function (int $x, int $y): array {
                return [self::OP_DEL, $x - 1, $y, 1];
            },
            self::OP_INS => function (int $x, int $y): array {
                return [self::OP_INS, $x, $y - 1, 1];
            },
            self::OP_REP => function (int $x, int $y): array {
                return [self::OP_REP, $x - 1, $y - 1, 1];
            },
        ];

        foreach ($rawProgresses as &$rawProgress) {
            $rawProgress = $callbacks[$rawProgress[2]](
                $rawProgress[0],
                $rawProgress[1]
            );
        }
        unset($rawProgress);

        return $rawProgresses;
    }
private function resolveRawProgresses(array $rawProgresses): array
    {
        static $callbacks;

        $callbacks = $callbacks ?? [
            self::OP_CPY => function (int $x, int $y): array {
                return [self::OP_CPY, $x - 1, $y - 1, 1];
            },
            self::OP_DEL => function (int $x, int $y): array {
                return [self::OP_DEL, $x - 1, $y, 1];
            },
            self::OP_INS => function (int $x, int $y): array {
                return [self::OP_INS, $x, $y - 1, 1];
            },
            self::OP_REP => function (int $x, int $y): array {
                return [self::OP_REP, $x - 1, $y - 1, 1];
            },
        ];

        foreach ($rawProgresses as &$rawProgress) {
            $rawProgress = $callbacks[$rawProgress[2]](
                $rawProgress[0],
                $rawProgress[1]
            );
        }
        unset($rawProgress);

        return $rawProgresses;
    }
private function resolveRawProgresses ( array $ rawProgresses ) : array { static $ callbacks ; $ callbacks = $ callbacks ?? [ self :: OP_CPY => function ( int $ x , int $ y ) : array { return [ self :: OP_CPY , $ x - 1 , $ y - 1 , 1 ] ; } , self :: OP_DEL => function ( int $ x , int $ y ) : array { return [ self :: OP_DEL , $ x - 1 , $ y , 1 ] ; } , self :: OP_INS => function ( int $ x , int $ y ) : array { return [ self :: OP_INS , $ x , $ y - 1 , 1 ] ; } , self :: OP_REP => function ( int $ x , int $ y ) : array { return [ self :: OP_REP , $ x - 1 , $ y - 1 , 1 ] ; } , ] ; foreach ( $ rawProgresses as & $ rawProgress ) { $ rawProgress = $ callbacks [ $ rawProgress [ 2 ] ] ( $ rawProgress [ 0 ] , $ rawProgress [ 1 ] ) ; } unset ( $ rawProgress ) ; return $ rawProgresses ; }
Resolve the raw progresses.

@param array $rawProgresses the raw progresses

@return array [operation, old position, new position, length]
Resolve the raw progresses .