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
|
<?php /** * @package JAMA * * Error handling * @author Michael Bommarito * @version 01292005 */
//Language constant define('JAMALANG', 'EN');
//All errors may be defined by the following format: //define('ExceptionName', N); //$error['lang'][ExceptionName] = 'Error message'; $error = array();
/* I've used Babelfish and a little poor knowledge of Romance/Germanic languages for the translations here. Feel free to correct anything that looks amiss to you. */
define('POLYMORPHIC_ARGUMENT_EXCEPTION', -1); $error['EN'][POLYMORPHIC_ARGUMENT_EXCEPTION] = "Invalid argument pattern for polymorphic function."; $error['FR'][POLYMORPHIC_ARGUMENT_EXCEPTION] = "Modèle inadmissible d'argument pour la fonction polymorphe.". $error['DE'][POLYMORPHIC_ARGUMENT_EXCEPTION] = "Unzulässiges Argumentmuster für polymorphe Funktion.";
define('ARGUMENT_TYPE_EXCEPTION', -2); $error['EN'][ARGUMENT_TYPE_EXCEPTION] = "Invalid argument type."; $error['FR'][ARGUMENT_TYPE_EXCEPTION] = "Type inadmissible d'argument."; $error['DE'][ARGUMENT_TYPE_EXCEPTION] = "Unzulässige Argumentart.";
define('ARGUMENT_BOUNDS_EXCEPTION', -3); $error['EN'][ARGUMENT_BOUNDS_EXCEPTION] = "Invalid argument range."; $error['FR'][ARGUMENT_BOUNDS_EXCEPTION] = "Gamme inadmissible d'argument."; $error['DE'][ARGUMENT_BOUNDS_EXCEPTION] = "Unzulässige Argumentstrecke.";
define('MATRIX_DIMENSION_EXCEPTION', -4); $error['EN'][MATRIX_DIMENSION_EXCEPTION] = "Matrix dimensions are not equal."; $error['FR'][MATRIX_DIMENSION_EXCEPTION] = "Les dimensions de Matrix ne sont pas égales."; $error['DE'][MATRIX_DIMENSION_EXCEPTION] = "Matrixmaße sind nicht gleich.";
define('PRECISION_LOSS_EXCEPTION', -5); $error['EN'][PRECISION_LOSS_EXCEPTION] = "Significant precision loss detected."; $error['FR'][PRECISION_LOSS_EXCEPTION] = "Perte significative de précision détectée."; $error['DE'][PRECISION_LOSS_EXCEPTION] = "Bedeutender Präzision Verlust ermittelte.";
define('MATRIX_SPD_EXCEPTION', -6); $error['EN'][MATRIX_SPD_EXCEPTION] = "Can only perform operation on symmetric positive definite matrix."; $error['FR'][MATRIX_SPD_EXCEPTION] = "Perte significative de précision détectée."; $error['DE'][MATRIX_SPD_EXCEPTION] = "Bedeutender Präzision Verlust ermittelte.";
define('MATRIX_SINGULAR_EXCEPTION', -7); $error['EN'][MATRIX_SINGULAR_EXCEPTION] = "Can only perform operation on singular matrix.";
define('MATRIX_RANK_EXCEPTION', -8); $error['EN'][MATRIX_RANK_EXCEPTION] = "Can only perform operation on full-rank matrix.";
define('ARRAY_LENGTH_EXCEPTION', -9); $error['EN'][ARRAY_LENGTH_EXCEPTION] = "Array length must be a multiple of m.";
define('ROW_LENGTH_EXCEPTION', -10); $error['EN'][ROW_LENGTH_EXCEPTION] = "All rows must have the same length.";
/** * Custom error handler * @param int $num Error number */ function JAMAError($errorNumber = null) { global $error;
if (isset($errorNumber)) { if (isset($error[JAMALANG][$errorNumber])) { return $error[JAMALANG][$errorNumber]; } else { return $error['EN'][$errorNumber]; } } else { return ("Invalid argument to JAMAError()"); } }
|