so3  1.3.0
Fast and exact Wigner transforms
so3_error.h
Go to the documentation of this file.
1 // S03 package to perform Wigner transform on the rotation group SO(3)
2 // Copyright (C) 2013 Martin Büttner and Jason McEwen
3 // See LICENSE.txt for license details
4 
12 #ifndef SO3_ERROR
13 #define SO3_ERROR
14 
15 #include <stdio.h>
16 
17 // Put this macro in a block so that it can be used with single-line
18 // if-statements.
19 #define SO3_ERROR_GENERIC(comment) \
20 { \
21  printf("ERROR: %s.\n", comment); \
22  printf("ERROR: %s <%s> %s %s %s %d.\n", \
23  "Occurred in function", \
24  __PRETTY_FUNCTION__, \
25  "of file", __FILE__, \
26  "on line", __LINE__); \
27  exit(1); \
28 }
29 
30 #define SO3_ERROR_MEM_ALLOC_CHECK(pointer) \
31  if(pointer == NULL) { \
32  SO3_ERROR_GENERIC("Memory allocation failed") \
33  }
34 
35 #endif