Code Coverage for /src/SciPhp/NumPhp/ExtensionsTrait.php

 
Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
ExtensionsTrait
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
2 / 2
4
100.00% covered (success)
100.00%
1 / 1
 linalg
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
2
 random
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
2
1 <?php
2
3 declare(strict_types=1);
4
5 namespace SciPhp\NumPhp;
6
7 use SciPhp\LinAlg;
8 use SciPhp\Random;
9
10 trait ExtensionsTrait
11 {
12     /**
13      * @var \SciPhp\LinAlg LinAlg instance
14      */
15     private static $linalg;
16
17     /**
18      * @var \SciPhp\Random Random instance
19      */
20     private static $random;
21
22     /**
23      * Loads Linear Algebra extension
24      *
25      * @return \SciPhp\LinAlg Linear algebra wrapper instance
26      * @link http://sciphp.org/ref.linalg Documentation
27      *
28      * @since 0.3.0
29      * @api
30      */
31      final public static function linalg(): LinAlg
32      {
33         if (\is_null(self::$linalg)) {
34             self::$linalg = new LinAlg();
35         }
36
37         return self::$linalg;
38     }
39
40     /**
41      * Loads Random generator extension
42      *
43      * @return \SciPhp\Random Random wrapper instance
44      * @link http://sciphp.org/ref.random Documentation
45      *
46      * @since 0.5.0
47      * @api
48      */
49      final public static function random(): Random
50      {
51         if (\is_null(self::$random)) {
52             self::$random = new Random();
53         }
54
55         return self::$random;
56     }
57 }