1 //
2 //  msym_error.h
3 //  libmsym
4 //
5 //  Created by Marcus Johansson on 30/01/15.
6 //  Copyright (c) 2015 Marcus Johansson.
7 //
8 //  Distributed under the MIT License ( See LICENSE file or copy at http://opensource.org/licenses/MIT )
9 //
10 
11 #ifndef __MSYM__ERROR_H
12 #define __MSYM__ERROR_H
13 
14 #include "msym_EXPORTS.h" // automatically generated by cmake
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20     enum _msym_error {
21         MSYM_SUCCESS = 0,
22         MSYM_INVALID_INPUT = -1,
23         MSYM_INVALID_CONTEXT = -2,
24         MSYM_INVALID_THRESHOLD = -3,
25         MSYM_INVALID_ELEMENTS = -4,
26         MSYM_INVALID_BASIS_FUNCTIONS = -5,
27         MSYM_INVALID_POINT_GROUP = -6,
28         MSYM_INVALID_EQUIVALENCE_SET = -7,
29         MSYM_INVALID_PERMUTATION = -8,
30         MSYM_INVALID_GEOMETRY = -9,
31         MSYM_INVALID_CHARACTER_TABLE = -10,
32         MSYM_INVALID_SUBSPACE = -11,
33         MSYM_INVALID_SUBGROUPS = -12,
34         MSYM_INVALID_AXES = -13,
35         MSYM_SYMMETRY_ERROR = -14,
36         MSYM_PERMUTATION_ERROR = -15,
37         MSYM_POINT_GROUP_ERROR = -16,
38         MSYM_SYMMETRIZATION_ERROR = -17,
39         MSYM_SUBSPACE_ERROR = -18,
40         MSYM_MEMORY_ERROR = -128
41     };
42 
43     typedef enum _msym_error msym_error_t;
44 
45     const char *msymErrorString(msym_error_t error);
46     void msymSetErrorDetails(const char *format, ...);
47     const char *msymGetErrorDetails();
48 
49 
50 #ifdef __cplusplus
51 }
52 #endif
53 
54 
55 #endif /* defined(__MSYM__ERROR_H) */
56 
57