-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsample.php
98 lines (69 loc) · 1.17 KB
/
sample.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<?php
require_once __DIR__ .'/../vendor/autoload.php';
use xmath\xmath\spl\SPLDV;
use xmath\xmath\spl\SPLTV;
$spldv = new SPLDV("2x+y-z=3","-x-y+z=-1");
echo $spldv;
$spltv = new SPLTV("2x+y-z=3","-x-y+z=-1","-x+y-z=2");
echo $spltv;
/**
* return array
*/
print_r((new SPLDV("2x+y=5","x+y=10"))->getArray());
/**
* Output :
* Array
* (
* [x] => -5
* [y] => 15
* )
*/
/**
* get value from specific variable
*/
$spldv = new SPLDV("2a+y=5","a+y=10");
$spldv2 = new SPLDV("2c+d=5","c+d=10");
$a = $spldv->a;
$b = $spldv->y;
$c = $spldv2->c;
$d = $spldv2->d;
echo $c;
/**
* Output :
* 5
*/
/**
* get step to solved
*/
$spldv = new SPLDV("2a+y-5=0","a+y-10=0");
echo $spldv->getStep();
/**
* Output :
* 2a+1y-5=0 x 1
* 1a+1y-10=0 x 1
* ---------------------------
* 2a+1y = 5
* 1a+1y = 10
* ---------------------------
* 1a = -5
* a = -5/1
* a = -5
* ---------------------------
* 2a+1y = 5
* 2(-5)+1y = 5
* 1y = 15
* y = 15/1
* y = 15
*/
/**
* Handle error
*/
try{
echo (new SPLDV("x+y=5","x+y=10"));
}catch(Exception $e){
echo $e->getMessage();
}
/**
* Output:
* Terjadi error karena konst dari semua variable yang sama.
*/