Predictable   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
eloc 7
dl 0
loc 23
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A predict() 0 12 3
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Phpml\Helper;
6
7
trait Predictable
8
{
9
    /**
10
     * @return mixed
11
     */
12
    public function predict(array $samples)
13
    {
14
        if (!is_array($samples[0])) {
15
            return $this->predictSample($samples);
16
        }
17
18
        $predicted = [];
19
        foreach ($samples as $index => $sample) {
20
            $predicted[$index] = $this->predictSample($sample);
21
        }
22
23
        return $predicted;
24
    }
25
26
    /**
27
     * @return mixed
28
     */
29
    abstract protected function predictSample(array $sample);
30
}
31