mxlib
c++ tools for analyzing astronomical data and other tasks by Jared R. Males. [git repo]
Loading...
Searching...
No Matches
error_t.hpp
Go to the documentation of this file.
1/** \file error_t.hpp
2 * \brief The mxlib error_t type and utilities
3 * \ingroup error_handling_files
4 */
5
6/* ********** THIS FILE IS GENERATED ********** */
7/* ********** DO NOT MODIFY OR COMMIT ********** */
8
9#include <fitsio.h>
10
11#ifdef MXLIB_CUDA
12#include <cuda_runtime.h>
13#endif //MXLIB_CUDA
14
15#ifndef mx_error_t_hpp
16#define mx_error_t_hpp
17
18namespace mx
19{
20
21
22/// The mxlib error codes
23/** \ingroup error_handling_codes
24 */
25enum class error_t
26{
27 noerror, ///< No error has occurred
28 error, ///< A general error has occurred
29 invalidarg, ///< An argument was invalid
30 invalidconfig, ///< A config setting was invalid
31 notimpl, ///< A component or technique is not implemented
32 paramnotset, ///< A parameter was not set
33 envnotset, ///< A environment variable was not set
34 notfound, ///< An item was not found
35 sizeerr, ///< A size was invalid or calculated incorrectly
36 allocerr, ///< An error occurred during memory allocation
37 freeerr, ///< An error occurred during memory de-allocation
38 parseerr, ///< A parsing error occurred
39 filesystem, ///< A general filesystem error occurred
40 fileoerr, ///< An error occurred while opening a file
41 filewerr, ///< An error occurred while writing to a file
42 filererr, ///< An error occurred while reading from a file
43 filecerr, ///< An error occurred while closing a file
44 filenotfound, ///< The file was not found
45 fileempty, ///< The file is empty
46 dirnotfound, ///< The directory was not found
47 dirempty, ///< The directory was empty
48 procerr, ///< An error occurred while starting a process
49 timeout, ///< A timeout occurred
50 liberr, ///< An error was returned by a library
51 exception, ///< An exception was thrown
52 std_exception, ///< An exception was thrown
53 std_bad_alloc, ///< A bad allocation exception was thrown
54 std_logic_error, ///< A logic error exception was thrown
55 std_invalid_argument, ///< An invalid argument exception was thrown
56 std_domain_error, ///< A domain error exception was thrown
57 std_length_error, ///< A length error exception was thrown
58 std_out_of_range, ///< An out of range exception was thrown
59 std_future_error, ///< A future error exception was thrown
60 std_bad_optional_access, ///< A bad optional access exception was thrown
61 std_filesystem_error, ///< A filesystem error exception was thrown
62 std_runtime_error, ///< A runtime error exception was thrown
63 std_range_error, ///< A range error exception was thrown
64 std_overflow_error, ///< An overflow exception was thrown
65 std_underflow_error, ///< An underflow exception was thrown
66 std_ios_base_failure, ///< An ios::base::failure exception was thrown
67 std_format_error, ///< A format library exception was thrown
68 gnuploterr, ///< An error was returned by gnuplot
69 lapackerr, ///< An error was returned by Lapack
70 e2big, ///< Argument list too long (E2BIG)
71 eacces, ///< Permission denied (EACCES)
72 eaddrinuse, ///< Address already in use (EADDRINUSE)
73 eaddrnotavail, ///< Cannot assign requested address (EADDRNOTAVAIL)
74 eafnosupport, ///< Address family not supported by protocol (EAFNOSUPPORT)
75 eagain, ///< Resource temporarily unavailable (EAGAIN)
76 ealready, ///< Operation already in progress (EALREADY)
77 ebadf, ///< Bad file descriptor (EBADF)
78 ebadmsg, ///< Bad message (EBADMSG)
79 ebusy, ///< Device or resource busy (EBUSY)
80 ecanceled, ///< Operation canceled (ECANCELED)
81 echild, ///< No child processes (ECHILD)
82 econnaborted, ///< Software caused connection abort (ECONNABORTED)
83 econnrefused, ///< Connection refused (ECONNREFUSED)
84 econnreset, ///< Connection reset by peer (ECONNRESET)
85 edestaddrreq, ///< Destination address required (EDESTADDRREQ)
86 edom, ///< Numerical argument out of domain (EDOM)
87 eexist, ///< File exists (EEXIST)
88 efault, ///< Bad address (EFAULT)
89 efbig, ///< File too large (EFBIG)
90 ehostunreach, ///< No route to host (EHOSTUNREACH)
91 eidrm, ///< Identifier removed (EIDRM)
92 eilseq, ///< Invalid or incomplete multibyte or wide character (EILSEQ)
93 einprogress, ///< Operation now in progress (EINPROGRESS)
94 eintr, ///< Interrupted system call (EINTR)
95 einval, ///< Invalid argument (EINVAL)
96 eio, ///< Input/output error (EIO)
97 eisconn, ///< Transport endpoint is already connected (EISCONN)
98 eisdir, ///< Is a directory (EISDIR)
99 eloop, ///< Too many levels of symbolic links (ELOOP)
100 emfile, ///< Too many open files (EMFILE)
101 emlink, ///< Too many links (EMLINK)
102 emsgsize, ///< Message too long (EMSGSIZE)
103 enametoolong, ///< File name too long (ENAMETOOLONG)
104 enetdown, ///< Network is down (ENETDOWN)
105 enetreset, ///< Network dropped connection on reset (ENETRESET)
106 enetunreach, ///< Network is unreachable (ENETUNREACH)
107 enfile, ///< Too many open files in system (ENFILE)
108 enobufs, ///< No buffer space available (ENOBUFS)
109 enodata, ///< No data available (ENODATA)
110 enodev, ///< No such device (ENODEV)
111 enoent, ///< No such file or directory (ENOENT)
112 enoexec, ///< Exec format error (ENOEXEC)
113 enolck, ///< No locks available (ENOLCK)
114 enolink, ///< Link has been severed (ENOLINK)
115 enomem, ///< Cannot allocate memory (ENOMEM)
116 enomsg, ///< No message of desired type (ENOMSG)
117 enoprotoopt, ///< Protocol not available (ENOPROTOOPT)
118 enospc, ///< No space left on device (ENOSPC)
119 enosr, ///< Out of streams resources (ENOSR)
120 enostr, ///< Device not a stream (ENOSTR)
121 enosys, ///< Function not implemented (ENOSYS)
122 enotconn, ///< Transport endpoint is not connected (ENOTCONN)
123 enotdir, ///< Not a directory (ENOTDIR)
124 enotempty, ///< Directory not empty (ENOTEMPTY)
125 enotrecoverable, ///< State not recoverable (ENOTRECOVERABLE)
126 enotsock, ///< Socket operation on non-socket (ENOTSOCK)
127 enotsup, ///< Operation not supported (ENOTSUP)
128 enotty, ///< Inappropriate ioctl for device (ENOTTY)
129 enxio, ///< No such device or address (ENXIO)
130 eopnotsupp, ///< Operation not supported (EOPNOTSUPP)
131 eoverflow, ///< Value too large for defined data type (EOVERFLOW)
132 eownerdead, ///< Owner died (EOWNERDEAD)
133 eperm, ///< Operation not permitted (EPERM)
134 epipe, ///< Broken pipe (EPIPE)
135 eproto, ///< Protocol error (EPROTO)
136 eprotonosupport, ///< Protocol not supported (EPROTONOSUPPORT)
137 eprototype, ///< Protocol wrong type for socket (EPROTOTYPE)
138 erange, ///< Numerical result out of range (ERANGE)
139 erofs, ///< Read-only file system (EROFS)
140 espipe, ///< Illegal seek (ESPIPE)
141 esrch, ///< No such process (ESRCH)
142 etime, ///< Timer expired (ETIME)
143 etimedout, ///< Connection timed out (ETIMEDOUT)
144 etxtbsy, ///< Text file busy (ETXTBSY)
145 ewouldblock, ///< Resource temporarily unavailable (EWOULDBLOCK)
146 exdev, ///< Invalid cross-device link (EXDEV)
147 fits_same_file, ///< FITS: input and output files are the same
148 fits_too_many_files, ///< FITS: tried to open too many FITS files at once
149 fits_file_not_opened, ///< FITS: could not open the named file
150 fits_file_not_created, ///< FITS: could not create the named file
151 fits_write_error, ///< FITS: error writing to FITS file
152 fits_end_of_file, ///< FITS: tried to move past end of file
153 fits_read_error, ///< FITS: error reading from FITS file
154 fits_file_not_closed, ///< FITS: could not close the file
155 fits_array_too_big, ///< FITS: array dimensions exceed internal limit
156 fits_readonly_file, ///< FITS: Cannot write to readonly file
157 fits_memory_allocation, ///< FITS: Could not allocate memory
158 fits_bad_fileptr, ///< FITS: invalid fitsfile pointer
159 fits_null_input_ptr, ///< FITS: NULL input pointer to routine
160 fits_seek_error, ///< FITS: error seeking position in file
161 fits_bad_nettimeout, ///< FITS: bad value for file download timeout setting
162 fits_bad_url_prefix, ///< FITS: invalid URL prefix on file name
163 fits_too_many_drivers, ///< FITS: tried to register too many IO drivers
164 fits_driver_init_failed, ///< FITS: driver initialization failed
165 fits_no_matching_driver, ///< FITS: matching driver is not registered
166 fits_url_parse_error, ///< FITS: failed to parse input file URL
167 fits_range_parse_error, ///< FITS: parse error in range list
168 fits_shared_badarg, ///< FITS: bad argument in shared memory driver
169 fits_shared_nulptr, ///< FITS: null pointer passed as an argument
170 fits_shared_tabfull, ///< FITS: no more free shared memory handles
171 fits_shared_notinit, ///< FITS: shared memory driver is not initialized
172 fits_shared_ipcerr, ///< FITS: IPC error returned by a system call
173 fits_shared_nomem, ///< FITS: no memory in shared memory driver
174 fits_shared_again, ///< FITS: resource deadlock would occur
175 fits_shared_nofile, ///< FITS: attempt to open/create lock file failed
176 fits_shared_noresize, ///< FITS: shared memory block cannot be resized at the moment
177 fits_header_not_empty, ///< FITS: header already contains keywords
178 fits_key_no_exist, ///< FITS: keyword not found in header
179 fits_key_out_bounds, ///< FITS: keyword record number is out of bounds
180 fits_value_undefined, ///< FITS: keyword value field is blank
181 fits_no_quote, ///< FITS: string is missing the closing quote
182 fits_bad_index_key, ///< FITS: illegal indexed keyword name (e.g. 'TFORM1000')
183 fits_bad_keychar, ///< FITS: illegal character in keyword name or card
184 fits_bad_order, ///< FITS: required keywords out of order
185 fits_not_pos_int, ///< FITS: keyword value is not a positive integer
186 fits_no_end, ///< FITS: couldn't find END keyword
187 fits_bad_bitpix, ///< FITS: illegal BITPIX keyword value
188 fits_bad_naxis, ///< FITS: illegal NAXIS keyword value
189 fits_bad_naxes, ///< FITS: illegal NAXISn keyword value
190 fits_bad_pcount, ///< FITS: illegal PCOUNT keyword value
191 fits_bad_gcount, ///< FITS: illegal GCOUNT keyword value
192 fits_bad_tfields, ///< FITS: illegal TFIELDS keyword value
193 fits_neg_width, ///< FITS: negative table row size
194 fits_neg_rows, ///< FITS: negative number of rows in table
195 fits_col_not_found, ///< FITS: column with this name not found in table
196 fits_bad_simple, ///< FITS: illegal value of SIMPLE keyword
197 fits_no_simple, ///< FITS: Primary array doesn't start with SIMPLE
198 fits_no_bitpix, ///< FITS: Second keyword not BITPIX
199 fits_no_naxis, ///< FITS: Third keyword not NAXIS
200 fits_no_naxes, ///< FITS: Couldn't find all the NAXISn keywords
201 fits_no_xtension, ///< FITS: HDU doesn't start with XTENSION keyword
202 fits_not_atable, ///< FITS: the CHDU is not an ASCII table extension
203 fits_not_btable, ///< FITS: the CHDU is not a binary table extension
204 fits_no_pcount, ///< FITS: couldn't find PCOUNT keyword
205 fits_no_gcount, ///< FITS: couldn't find GCOUNT keyword
206 fits_no_tfields, ///< FITS: couldn't find TFIELDS keyword
207 fits_no_tbcol, ///< FITS: couldn't find TBCOLn keyword
208 fits_no_tform, ///< FITS: couldn't find TFORMn keyword
209 fits_not_image, ///< FITS: the CHDU is not an IMAGE extension
210 fits_bad_tbcol, ///< FITS: TBCOLn keyword value < 0 or > rowlength
211 fits_not_table, ///< FITS: the CHDU is not a table
212 fits_col_too_wide, ///< FITS: column is too wide to fit in table
213 fits_col_not_unique, ///< FITS: more than 1 column name matches template
214 fits_bad_row_width, ///< FITS: sum of column widths not = NAXIS1
215 fits_unknown_ext, ///< FITS: unrecognizable FITS extension type
216 fits_unknown_rec, ///< FITS: unknown record; 1st keyword not SIMPLE or XTENSION
217 fits_end_junk, ///< FITS: END keyword is not blank
218 fits_bad_header_fill, ///< FITS: Header fill area contains non-blank chars
219 fits_bad_data_fill, ///< FITS: Illegal data fill bytes (not zero or blank)
220 fits_bad_tform, ///< FITS: illegal TFORM format code
221 fits_bad_tform_dtype, ///< FITS: unrecognizable TFORM data type code
222 fits_bad_tdim, ///< FITS: illegal TDIMn keyword value
223 fits_bad_heap_ptr, ///< FITS: invalid BINTABLE heap pointer is out of range
224 fits_bad_hdu_num, ///< FITS: HDU number < 1
225 fits_bad_col_num, ///< FITS: column number < 1 or > tfields
226 fits_neg_file_pos, ///< FITS: tried to move to negative byte location in file
227 fits_neg_bytes, ///< FITS: tried to read or write negative number of bytes
228 fits_bad_row_num, ///< FITS: illegal starting row number in table
229 fits_bad_elem_num, ///< FITS: illegal starting element number in vector
230 fits_not_ascii_col, ///< FITS: this is not an ASCII string column
231 fits_not_logical_col, ///< FITS: this is not a logical data type column
232 fits_bad_atable_format, ///< FITS: ASCII table column has wrong format
233 fits_bad_btable_format, ///< FITS: Binary table column has wrong format
234 fits_no_null, ///< FITS: null value has not been defined
235 fits_not_vari_len, ///< FITS: this is not a variable length column
236 fits_bad_dimen, ///< FITS: illegal number of dimensions in array
237 fits_bad_pix_num, ///< FITS: first pixel number greater than last pixel
238 fits_zero_scale, ///< FITS: illegal BSCALE or TSCALn keyword = 0
239 fits_neg_axis, ///< FITS: illegal axis length < 1
240 fits_not_group_table, ///< FITS: Grouping function error
241 fits_hdu_already_member, ///< FITS: hdu already member
242 fits_member_not_found, ///< FITS: member not found
243 fits_group_not_found, ///< FITS: group not found
244 fits_bad_group_id, ///< FITS: bad group id
245 fits_too_many_hdus_tracked, ///< FITS: too many hdus tracked
246 fits_hdu_already_tracked, ///< FITS: hdu already tracked
247 fits_bad_option, ///< FITS: bad option
248 fits_identical_pointers, ///< FITS: identical pointers
249 fits_bad_group_attach, ///< FITS: bad group attach
250 fits_bad_group_detach, ///< FITS: bad group detach
251 fits_ngp_no_memory, ///< FITS: malloc failed
252 fits_ngp_read_err, ///< FITS: read error from file
253 fits_ngp_nul_ptr, ///< FITS: null pointer passed as an argument.
254 fits_ngp_empty_curline, ///< FITS: line read seems to be empty (used
255 fits_ngp_unread_queue_full, ///< FITS: cannot unread more then 1 line
256 fits_ngp_inc_nesting, ///< FITS: too deep include file nesting
257 fits_ngp_err_fopen, ///< FITS: fopen() failed, cannot open template file
258 fits_ngp_eof, ///< FITS: end of file encountered and not expected
259 fits_ngp_bad_arg, ///< FITS: bad arguments passed.
260 fits_ngp_token_not_expect, ///< FITS: token not expected here
261 fits_bad_i2c, ///< FITS: bad int to formatted string conversion
262 fits_bad_f2c, ///< FITS: bad float to formatted string conversion
263 fits_bad_intkey, ///< FITS: can't interpret keyword value as integer
264 fits_bad_logicalkey, ///< FITS: can't interpret keyword value as logical
265 fits_bad_floatkey, ///< FITS: can't interpret keyword value as float
266 fits_bad_doublekey, ///< FITS: can't interpret keyword value as double
267 fits_bad_c2i, ///< FITS: bad formatted string to int conversion
268 fits_bad_c2f, ///< FITS: bad formatted string to float conversion
269 fits_bad_c2d, ///< FITS: bad formatted string to double conversion
270 fits_bad_datatype, ///< FITS: illegal datatype code value
271 fits_bad_decim, ///< FITS: bad number of decimal places specified
272 fits_num_overflow, ///< FITS: overflow during data type conversion
273 fits_data_compression_err, ///< FITS: error compressing image
274 fits_data_decompression_err, ///< FITS: error uncompressing image
275 fits_bad_date, ///< FITS: error in date or time conversion
276 fits_parse_syntax_err, ///< FITS: syntax error in parser expression
277 fits_parse_bad_type, ///< FITS: expression did not evaluate to desired type
278 fits_parse_lrg_vector, ///< FITS: vector result too large to return in array
279 fits_parse_no_output, ///< FITS: data parser failed not sent an out column
280 fits_parse_bad_col, ///< FITS: bad data encounter while parsing column
281 fits_parse_bad_output, ///< FITS: Output file not of proper type
282 fits_angle_too_big, ///< FITS: celestial angle too large for projection
283 fits_bad_wcs_val, ///< FITS: bad celestial coordinate or pixel value
284 fits_wcs_error, ///< FITS: error in celestial coordinate calculation
285 fits_bad_wcs_proj, ///< FITS: unsupported type of celestial projection
286 fits_no_wcs_key, ///< FITS: celestial coordinate keywords not found
287 fits_approx_wcs_key, ///< FITS: approximate wcs keyword values were returned
288 cuda_success, ///< CUDA: no error
289 cuda_invalid_value, ///< CUDA: invalid argument
290 cuda_memory_allocation, ///< CUDA: out of memory
291 cuda_initialization_error, ///< CUDA: initialization error
292 cuda_cudart_unloading, ///< CUDA: driver shutting down
293 cuda_profiler_disabled, ///< CUDA: profiler disabled while using external profiling tool
294 cuda_profiler_not_initialized, ///< CUDA: profiler not initialized: call cudaProfilerInitialize()
295 cuda_profiler_already_started, ///< CUDA: profiler already started
296 cuda_profiler_already_stopped, ///< CUDA: profiler already stopped
297 cuda_invalid_configuration, ///< CUDA: invalid configuration argument
298 cuda_version_translation, ///< CUDA: Driver is newer than runtime and returned parameters the runtime cannot process
299 cuda_invalid_pitch_value, ///< CUDA: invalid pitch argument
300 cuda_invalid_symbol, ///< CUDA: invalid device symbol
301 cuda_invalid_host_pointer, ///< CUDA: invalid host pointer
302 cuda_invalid_device_pointer, ///< CUDA: invalid device pointer
303 cuda_invalid_texture, ///< CUDA: invalid texture reference
304 cuda_invalid_texture_binding, ///< CUDA: texture is not bound to a pointer
305 cuda_invalid_channel_descriptor, ///< CUDA: invalid channel descriptor
306 cuda_invalid_memcpy_direction, ///< CUDA: invalid copy direction for memcpy
307 cuda_address_of_constant, ///< CUDA: invalid address of constant
308 cuda_texture_fetch_failed, ///< CUDA: fetch from texture failed
309 cuda_texture_not_bound, ///< CUDA: cannot fetch from a texture that is not bound
310 cuda_synchronization_error, ///< CUDA: incorrect use of __syncthreads()
311 cuda_invalid_filter_setting, ///< CUDA: linear filtering not supported for non-float type
312 cuda_invalid_norm_setting, ///< CUDA: read as normalized float not supported for data type
313 cuda_mixed_device_execution, ///< CUDA: device emulation mode and device execution mode cannot be mixed
314 cuda_not_yet_implemented, ///< CUDA: feature not yet implemented
315 cuda_memory_value_too_large, ///< CUDA: memory size or pointer value too large to fit in 32 bit
316 cuda_stub_library, ///< CUDA: CUDA driver is a stub library
317 cuda_insufficient_driver, ///< CUDA: CUDA driver version is insufficient for CUDA runtime version
318 cuda_call_requires_newer_driver, ///< CUDA: API call is not supported in the installed CUDA driver
319 cuda_invalid_surface, ///< CUDA: invalid surface reference
320 cuda_duplicate_variable_name, ///< CUDA: duplicate global variable looked up by string name
321 cuda_duplicate_texture_name, ///< CUDA: duplicate texture looked up by string name
322 cuda_duplicate_surface_name, ///< CUDA: duplicate surface looked up by string name
323 cuda_devices_unavailable, ///< CUDA: CUDA-capable device(s) is/are busy or unavailable
324 cuda_incompatible_driver_context, ///< CUDA: incompatible driver context
325 cuda_missing_configuration, ///< CUDA: __global__ function call is not configured
326 cuda_prior_launch_failure, ///< CUDA: unspecified launch failure in prior launch
327 cuda_launch_max_depth_exceeded, ///< CUDA: launch would exceed maximum depth of nested launches
328 cuda_launch_file_scoped_tex, ///< CUDA: launch failed because kernel uses unsupported, file-scoped textures (texture objects are supported)
329 cuda_launch_file_scoped_surf, ///< CUDA: launch failed because kernel uses unsupported, file-scoped surfaces (surface objects are supported)
330 cuda_sync_depth_exceeded, ///< CUDA: cudaDeviceSynchronize failed because caller's grid depth exceeds cudaLimitDevRuntimeSyncDepth
331 cuda_launch_pending_count_exceeded, ///< CUDA: launch failed because launch would exceed cudaLimitDevRuntimePendingLaunchCount
332 cuda_invalid_device_function, ///< CUDA: invalid device function
333 cuda_no_device, ///< CUDA: no CUDA-capable device is detected
334 cuda_invalid_device, ///< CUDA: invalid device ordinal
335 cuda_device_not_licensed, ///< CUDA: device doesn't have valid Grid license
336 cuda_software_validity_not_established, ///< CUDA: integrity checks failed
337 cuda_startup_failure, ///< CUDA: startup failure in cuda runtime
338 cuda_invalid_kernel_image, ///< CUDA: device kernel image is invalid
339 cuda_device_uninitialized, ///< CUDA: invalid device context
340 cuda_map_buffer_object_failed, ///< CUDA: mapping of buffer object failed
341 cuda_unmap_buffer_object_failed, ///< CUDA: unmapping of buffer object failed
342 cuda_array_is_mapped, ///< CUDA: array is mapped
343 cuda_already_mapped, ///< CUDA: resource already mapped
344 cuda_no_kernel_image_for_device, ///< CUDA: no kernel image is available for execution on the device
345 cuda_already_acquired, ///< CUDA: resource already acquired
346 cuda_not_mapped, ///< CUDA: resource not mapped
347 cuda_not_mapped_as_array, ///< CUDA: resource not mapped as array
348 cuda_not_mapped_as_pointer, ///< CUDA: resource not mapped as pointer
349 cuda_e_c_c_uncorrectable, ///< CUDA: uncorrectable ECC error encountered
350 cuda_unsupported_limit, ///< CUDA: limit is not supported on this architecture
351 cuda_device_already_in_use, ///< CUDA: exclusive-thread device already in use by a different thread
352 cuda_peer_access_unsupported, ///< CUDA: peer access is not supported between these two devices
353 cuda_invalid_ptx, ///< CUDA: a PTX JIT compilation failed
354 cuda_invalid_graphics_context, ///< CUDA: invalid OpenGL or DirectX context
355 cuda_nvlink_uncorrectable, ///< CUDA: uncorrectable NVLink error detected during the execution
356 cuda_jit_compiler_not_found, ///< CUDA: PTX JIT compiler library not found
357 cuda_unsupported_ptx_version, ///< CUDA: the provided PTX was compiled with an unsupported toolchain.
358 cuda_jit_compilation_disabled, ///< CUDA: PTX JIT compilation was disabled
359 cuda_unsupported_exec_affinity, ///< CUDA: the provided execution affinity is not supported
360 cuda_unsupported_dev_side_sync, ///< CUDA: the provided PTX contains unsupported call to cudaDeviceSynchronize
361 cuda_contained, ///< CUDA: Invalid access of peer GPU memory over nvlink or a hardware error
362 cuda_invalid_source, ///< CUDA: device kernel image is invalid
363 cuda_file_not_found, ///< CUDA: file not found
364 cuda_shared_object_symbol_not_found, ///< CUDA: shared object symbol not found
365 cuda_shared_object_init_failed, ///< CUDA: shared object initialization failed
366 cuda_operating_system, ///< CUDA: OS call failed or operation not supported on this OS
367 cuda_invalid_resource_handle, ///< CUDA: invalid resource handle
368 cuda_illegal_state, ///< CUDA: the operation cannot be performed in the present state
369 cuda_lossy_query, ///< CUDA: attempted introspection would be semantically lossy
370 cuda_symbol_not_found, ///< CUDA: named symbol not found
371 cuda_not_ready, ///< CUDA: device not ready
372 cuda_illegal_address, ///< CUDA: an illegal memory access was encountered
373 cuda_launch_out_of_resources, ///< CUDA: too many resources requested for launch
374 cuda_launch_timeout, ///< CUDA: the launch timed out and was terminated
375 cuda_launch_incompatible_texturing, ///< CUDA: launch uses incompatible texturing mode
376 cuda_peer_access_already_enabled, ///< CUDA: peer access is already enabled
377 cuda_peer_access_not_enabled, ///< CUDA: peer access has not been enabled
378 cuda_set_on_active_process, ///< CUDA: cannot set while device is active in this process
379 cuda_context_is_destroyed, ///< CUDA: context is destroyed
380 cuda_assert, ///< CUDA: device-side assert triggered
381 cuda_too_many_peers, ///< CUDA: peer mapping resources exhausted
382 cuda_host_memory_already_registered, ///< CUDA: part or all of the requested memory range is already mapped
383 cuda_host_memory_not_registered, ///< CUDA: pointer does not correspond to a registered memory region
384 cuda_hardware_stack_error, ///< CUDA: hardware stack error
385 cuda_illegal_instruction, ///< CUDA: an illegal instruction was encountered
386 cuda_misaligned_address, ///< CUDA: misaligned address
387 cuda_invalid_address_space, ///< CUDA: operation not supported on global/shared address space
388 cuda_invalid_pc, ///< CUDA: invalid program counter
389 cuda_launch_failure, ///< CUDA: unspecified launch failure
390 cuda_cooperative_launch_too_large, ///< CUDA: too many blocks in cooperative launch
391 cuda_tensor_memory_leak, ///< CUDA: tensor memory not completely freed
392 cuda_not_permitted, ///< CUDA: operation not permitted
393 cuda_not_supported, ///< CUDA: operation not supported
394 cuda_system_not_ready, ///< CUDA: system not yet initialized
395 cuda_system_driver_mismatch, ///< CUDA: system has unsupported display driver / cuda driver combination
396 cuda_compat_not_supported_on_device, ///< CUDA: forward compatibility was attempted on non supported HW
397 cuda_mps_connection_failed, ///< CUDA: MPS client failed to connect to the MPS control daemon or the MPS server
398 cuda_mps_rpc_failure, ///< CUDA: the remote procedural call between the MPS server and the MPS client failed
399 cuda_mps_server_not_ready, ///< CUDA: MPS server is not ready to accept new MPS client requests
400 cuda_mps_max_clients_reached, ///< CUDA: the hardware resources required to create MPS client have been exhausted
401 cuda_mps_max_connections_reached, ///< CUDA: the hardware resources required to support device connections have been exhausted
402 cuda_mps_client_terminated, ///< CUDA: the MPS client has been terminated by the server
403 cuda_cdp_not_supported, ///< CUDA: is using CUDA Dynamic Parallelism, but the current configuration, like MPS, does not support it
404 cuda_cdp_version_mismatch, ///< CUDA: unsupported interaction between different versions of CUDA Dynamic Parallelism
405 cuda_stream_capture_unsupported, ///< CUDA: operation not permitted when stream is capturing
406 cuda_stream_capture_invalidated, ///< CUDA: operation failed due to a previous error during capture
407 cuda_stream_capture_merge, ///< CUDA: operation would result in a merge of separate capture sequences
408 cuda_stream_capture_unmatched, ///< CUDA: capture was not ended in the same stream as it began
409 cuda_stream_capture_unjoined, ///< CUDA: capturing stream has unjoined work
410 cuda_stream_capture_isolation, ///< CUDA: dependency created on uncaptured work in another stream
411 cuda_stream_capture_implicit, ///< CUDA: operation would make the legacy stream depend on a capturing blocking stream
412 cuda_captured_event, ///< CUDA: operation not permitted on an event last recorded in a capturing stream
413 cuda_stream_capture_wrong_thread, ///< CUDA: attempt to terminate a thread-local capture sequence from another thread
414 cuda_timeout, ///< CUDA: wait operation timed out
415 cuda_graph_exec_update_failure, ///< CUDA: the graph update was not performed because it included changes which violated constraints specific to instantiated graph update
416 cuda_external_device, ///< CUDA: an async error has occured in external entity outside of CUDA
417 cuda_invalid_cluster_size, ///< CUDA: a kernel launch error has occurred due to cluster misconfiguration
418 cuda_function_not_loaded, ///< CUDA: the function handle is not loaded when calling an API that requires a loaded function
419 cuda_invalid_resource_type, ///< CUDA: one or more resources passed in are not valid resource types for the operation
420 cuda_invalid_resource_configuration, ///< CUDA: one or more resources are insufficient or non-applicable for the operation
421 cuda_stream_detached, ///< CUDA: API call not permitted since the green context associated with the stream has been destroyed
422 cuda_graph_recapture_failure, ///< CUDA: recapturing to the source graph failed and had to be terminated
423 cuda_unknown, ///< CUDA: unknown error
424 cuda_api_failure_base, ///< CUDA: api failure base
425 __sentinel ///< do not use
426}; //enum class error_t
427
428/// Convert a \ref error_t code to its name
429/**
430 * \returns the name of the \ref error_t code
431 *
432 * \ingroup error_handling_codes
433 */
434static constexpr const char * errorName( const error_t & errc /**< [in] the error code to convert*/)
435{
436 switch(errc)
437 {
438 case error_t::noerror:
439 return "noerror";
440 case error_t::error:
441 return "error";
443 return "invalidarg";
445 return "invalidconfig";
446 case error_t::notimpl:
447 return "notimpl";
449 return "paramnotset";
451 return "envnotset";
453 return "notfound";
454 case error_t::sizeerr:
455 return "sizeerr";
457 return "allocerr";
458 case error_t::freeerr:
459 return "freeerr";
461 return "parseerr";
463 return "filesystem";
465 return "fileoerr";
467 return "filewerr";
469 return "filererr";
471 return "filecerr";
473 return "filenotfound";
475 return "fileempty";
477 return "dirnotfound";
479 return "dirempty";
480 case error_t::procerr:
481 return "procerr";
482 case error_t::timeout:
483 return "timeout";
484 case error_t::liberr:
485 return "liberr";
487 return "exception";
489 return "std_exception";
491 return "std_bad_alloc";
493 return "std_logic_error";
495 return "std_invalid_argument";
497 return "std_domain_error";
499 return "std_length_error";
501 return "std_out_of_range";
503 return "std_future_error";
505 return "std_bad_optional_access";
507 return "std_filesystem_error";
509 return "std_runtime_error";
511 return "std_range_error";
513 return "std_overflow_error";
515 return "std_underflow_error";
517 return "std_ios_base_failure";
519 return "std_format_error";
521 return "gnuploterr";
523 return "lapackerr";
524 case error_t::e2big:
525 return "e2big";
526 case error_t::eacces:
527 return "eacces";
529 return "eaddrinuse";
531 return "eaddrnotavail";
533 return "eafnosupport";
534 case error_t::eagain:
535 return "eagain";
537 return "ealready";
538 case error_t::ebadf:
539 return "ebadf";
540 case error_t::ebadmsg:
541 return "ebadmsg";
542 case error_t::ebusy:
543 return "ebusy";
545 return "ecanceled";
546 case error_t::echild:
547 return "echild";
549 return "econnaborted";
551 return "econnrefused";
553 return "econnreset";
555 return "edestaddrreq";
556 case error_t::edom:
557 return "edom";
558 case error_t::eexist:
559 return "eexist";
560 case error_t::efault:
561 return "efault";
562 case error_t::efbig:
563 return "efbig";
565 return "ehostunreach";
566 case error_t::eidrm:
567 return "eidrm";
568 case error_t::eilseq:
569 return "eilseq";
571 return "einprogress";
572 case error_t::eintr:
573 return "eintr";
574 case error_t::einval:
575 return "einval";
576 case error_t::eio:
577 return "eio";
578 case error_t::eisconn:
579 return "eisconn";
580 case error_t::eisdir:
581 return "eisdir";
582 case error_t::eloop:
583 return "eloop";
584 case error_t::emfile:
585 return "emfile";
586 case error_t::emlink:
587 return "emlink";
589 return "emsgsize";
591 return "enametoolong";
593 return "enetdown";
595 return "enetreset";
597 return "enetunreach";
598 case error_t::enfile:
599 return "enfile";
600 case error_t::enobufs:
601 return "enobufs";
602 case error_t::enodata:
603 return "enodata";
604 case error_t::enodev:
605 return "enodev";
606 case error_t::enoent:
607 return "enoent";
608 case error_t::enoexec:
609 return "enoexec";
610 case error_t::enolck:
611 return "enolck";
612 case error_t::enolink:
613 return "enolink";
614 case error_t::enomem:
615 return "enomem";
616 case error_t::enomsg:
617 return "enomsg";
619 return "enoprotoopt";
620 case error_t::enospc:
621 return "enospc";
622 case error_t::enosr:
623 return "enosr";
624 case error_t::enostr:
625 return "enostr";
626 case error_t::enosys:
627 return "enosys";
629 return "enotconn";
630 case error_t::enotdir:
631 return "enotdir";
633 return "enotempty";
635 return "enotrecoverable";
637 return "enotsock";
638 case error_t::enotsup:
639 return "enotsup";
640 case error_t::enotty:
641 return "enotty";
642 case error_t::enxio:
643 return "enxio";
645 return "eopnotsupp";
647 return "eoverflow";
649 return "eownerdead";
650 case error_t::eperm:
651 return "eperm";
652 case error_t::epipe:
653 return "epipe";
654 case error_t::eproto:
655 return "eproto";
657 return "eprotonosupport";
659 return "eprototype";
660 case error_t::erange:
661 return "erange";
662 case error_t::erofs:
663 return "erofs";
664 case error_t::espipe:
665 return "espipe";
666 case error_t::esrch:
667 return "esrch";
668 case error_t::etime:
669 return "etime";
671 return "etimedout";
672 case error_t::etxtbsy:
673 return "etxtbsy";
675 return "ewouldblock";
676 case error_t::exdev:
677 return "exdev";
679 return "fits_same_file";
681 return "fits_too_many_files";
683 return "fits_file_not_opened";
685 return "fits_file_not_created";
687 return "fits_write_error";
689 return "fits_end_of_file";
691 return "fits_read_error";
693 return "fits_file_not_closed";
695 return "fits_array_too_big";
697 return "fits_readonly_file";
699 return "fits_memory_allocation";
701 return "fits_bad_fileptr";
703 return "fits_null_input_ptr";
705 return "fits_seek_error";
707 return "fits_bad_nettimeout";
709 return "fits_bad_url_prefix";
711 return "fits_too_many_drivers";
713 return "fits_driver_init_failed";
715 return "fits_no_matching_driver";
717 return "fits_url_parse_error";
719 return "fits_range_parse_error";
721 return "fits_shared_badarg";
723 return "fits_shared_nulptr";
725 return "fits_shared_tabfull";
727 return "fits_shared_notinit";
729 return "fits_shared_ipcerr";
731 return "fits_shared_nomem";
733 return "fits_shared_again";
735 return "fits_shared_nofile";
737 return "fits_shared_noresize";
739 return "fits_header_not_empty";
741 return "fits_key_no_exist";
743 return "fits_key_out_bounds";
745 return "fits_value_undefined";
747 return "fits_no_quote";
749 return "fits_bad_index_key";
751 return "fits_bad_keychar";
753 return "fits_bad_order";
755 return "fits_not_pos_int";
757 return "fits_no_end";
759 return "fits_bad_bitpix";
761 return "fits_bad_naxis";
763 return "fits_bad_naxes";
765 return "fits_bad_pcount";
767 return "fits_bad_gcount";
769 return "fits_bad_tfields";
771 return "fits_neg_width";
773 return "fits_neg_rows";
775 return "fits_col_not_found";
777 return "fits_bad_simple";
779 return "fits_no_simple";
781 return "fits_no_bitpix";
783 return "fits_no_naxis";
785 return "fits_no_naxes";
787 return "fits_no_xtension";
789 return "fits_not_atable";
791 return "fits_not_btable";
793 return "fits_no_pcount";
795 return "fits_no_gcount";
797 return "fits_no_tfields";
799 return "fits_no_tbcol";
801 return "fits_no_tform";
803 return "fits_not_image";
805 return "fits_bad_tbcol";
807 return "fits_not_table";
809 return "fits_col_too_wide";
811 return "fits_col_not_unique";
813 return "fits_bad_row_width";
815 return "fits_unknown_ext";
817 return "fits_unknown_rec";
819 return "fits_end_junk";
821 return "fits_bad_header_fill";
823 return "fits_bad_data_fill";
825 return "fits_bad_tform";
827 return "fits_bad_tform_dtype";
829 return "fits_bad_tdim";
831 return "fits_bad_heap_ptr";
833 return "fits_bad_hdu_num";
835 return "fits_bad_col_num";
837 return "fits_neg_file_pos";
839 return "fits_neg_bytes";
841 return "fits_bad_row_num";
843 return "fits_bad_elem_num";
845 return "fits_not_ascii_col";
847 return "fits_not_logical_col";
849 return "fits_bad_atable_format";
851 return "fits_bad_btable_format";
853 return "fits_no_null";
855 return "fits_not_vari_len";
857 return "fits_bad_dimen";
859 return "fits_bad_pix_num";
861 return "fits_zero_scale";
863 return "fits_neg_axis";
865 return "fits_not_group_table";
867 return "fits_hdu_already_member";
869 return "fits_member_not_found";
871 return "fits_group_not_found";
873 return "fits_bad_group_id";
875 return "fits_too_many_hdus_tracked";
877 return "fits_hdu_already_tracked";
879 return "fits_bad_option";
881 return "fits_identical_pointers";
883 return "fits_bad_group_attach";
885 return "fits_bad_group_detach";
887 return "fits_ngp_no_memory";
889 return "fits_ngp_read_err";
891 return "fits_ngp_nul_ptr";
893 return "fits_ngp_empty_curline";
895 return "fits_ngp_unread_queue_full";
897 return "fits_ngp_inc_nesting";
899 return "fits_ngp_err_fopen";
901 return "fits_ngp_eof";
903 return "fits_ngp_bad_arg";
905 return "fits_ngp_token_not_expect";
907 return "fits_bad_i2c";
909 return "fits_bad_f2c";
911 return "fits_bad_intkey";
913 return "fits_bad_logicalkey";
915 return "fits_bad_floatkey";
917 return "fits_bad_doublekey";
919 return "fits_bad_c2i";
921 return "fits_bad_c2f";
923 return "fits_bad_c2d";
925 return "fits_bad_datatype";
927 return "fits_bad_decim";
929 return "fits_num_overflow";
931 return "fits_data_compression_err";
933 return "fits_data_decompression_err";
935 return "fits_bad_date";
937 return "fits_parse_syntax_err";
939 return "fits_parse_bad_type";
941 return "fits_parse_lrg_vector";
943 return "fits_parse_no_output";
945 return "fits_parse_bad_col";
947 return "fits_parse_bad_output";
949 return "fits_angle_too_big";
951 return "fits_bad_wcs_val";
953 return "fits_wcs_error";
955 return "fits_bad_wcs_proj";
957 return "fits_no_wcs_key";
959 return "fits_approx_wcs_key";
961 return "cuda_success";
963 return "cuda_invalid_value";
965 return "cuda_memory_allocation";
967 return "cuda_initialization_error";
969 return "cuda_cudart_unloading";
971 return "cuda_profiler_disabled";
973 return "cuda_profiler_not_initialized";
975 return "cuda_profiler_already_started";
977 return "cuda_profiler_already_stopped";
979 return "cuda_invalid_configuration";
981 return "cuda_version_translation";
983 return "cuda_invalid_pitch_value";
985 return "cuda_invalid_symbol";
987 return "cuda_invalid_host_pointer";
989 return "cuda_invalid_device_pointer";
991 return "cuda_invalid_texture";
993 return "cuda_invalid_texture_binding";
995 return "cuda_invalid_channel_descriptor";
997 return "cuda_invalid_memcpy_direction";
999 return "cuda_address_of_constant";
1001 return "cuda_texture_fetch_failed";
1003 return "cuda_texture_not_bound";
1005 return "cuda_synchronization_error";
1007 return "cuda_invalid_filter_setting";
1009 return "cuda_invalid_norm_setting";
1011 return "cuda_mixed_device_execution";
1013 return "cuda_not_yet_implemented";
1015 return "cuda_memory_value_too_large";
1017 return "cuda_stub_library";
1019 return "cuda_insufficient_driver";
1021 return "cuda_call_requires_newer_driver";
1023 return "cuda_invalid_surface";
1025 return "cuda_duplicate_variable_name";
1027 return "cuda_duplicate_texture_name";
1029 return "cuda_duplicate_surface_name";
1031 return "cuda_devices_unavailable";
1033 return "cuda_incompatible_driver_context";
1035 return "cuda_missing_configuration";
1037 return "cuda_prior_launch_failure";
1039 return "cuda_launch_max_depth_exceeded";
1041 return "cuda_launch_file_scoped_tex";
1043 return "cuda_launch_file_scoped_surf";
1045 return "cuda_sync_depth_exceeded";
1047 return "cuda_launch_pending_count_exceeded";
1049 return "cuda_invalid_device_function";
1051 return "cuda_no_device";
1053 return "cuda_invalid_device";
1055 return "cuda_device_not_licensed";
1057 return "cuda_software_validity_not_established";
1059 return "cuda_startup_failure";
1061 return "cuda_invalid_kernel_image";
1063 return "cuda_device_uninitialized";
1065 return "cuda_map_buffer_object_failed";
1067 return "cuda_unmap_buffer_object_failed";
1069 return "cuda_array_is_mapped";
1071 return "cuda_already_mapped";
1073 return "cuda_no_kernel_image_for_device";
1075 return "cuda_already_acquired";
1077 return "cuda_not_mapped";
1079 return "cuda_not_mapped_as_array";
1081 return "cuda_not_mapped_as_pointer";
1083 return "cuda_e_c_c_uncorrectable";
1085 return "cuda_unsupported_limit";
1087 return "cuda_device_already_in_use";
1089 return "cuda_peer_access_unsupported";
1091 return "cuda_invalid_ptx";
1093 return "cuda_invalid_graphics_context";
1095 return "cuda_nvlink_uncorrectable";
1097 return "cuda_jit_compiler_not_found";
1099 return "cuda_unsupported_ptx_version";
1101 return "cuda_jit_compilation_disabled";
1103 return "cuda_unsupported_exec_affinity";
1105 return "cuda_unsupported_dev_side_sync";
1107 return "cuda_contained";
1109 return "cuda_invalid_source";
1111 return "cuda_file_not_found";
1113 return "cuda_shared_object_symbol_not_found";
1115 return "cuda_shared_object_init_failed";
1117 return "cuda_operating_system";
1119 return "cuda_invalid_resource_handle";
1121 return "cuda_illegal_state";
1123 return "cuda_lossy_query";
1125 return "cuda_symbol_not_found";
1127 return "cuda_not_ready";
1129 return "cuda_illegal_address";
1131 return "cuda_launch_out_of_resources";
1133 return "cuda_launch_timeout";
1135 return "cuda_launch_incompatible_texturing";
1137 return "cuda_peer_access_already_enabled";
1139 return "cuda_peer_access_not_enabled";
1141 return "cuda_set_on_active_process";
1143 return "cuda_context_is_destroyed";
1145 return "cuda_assert";
1147 return "cuda_too_many_peers";
1149 return "cuda_host_memory_already_registered";
1151 return "cuda_host_memory_not_registered";
1153 return "cuda_hardware_stack_error";
1155 return "cuda_illegal_instruction";
1157 return "cuda_misaligned_address";
1159 return "cuda_invalid_address_space";
1161 return "cuda_invalid_pc";
1163 return "cuda_launch_failure";
1165 return "cuda_cooperative_launch_too_large";
1167 return "cuda_tensor_memory_leak";
1169 return "cuda_not_permitted";
1171 return "cuda_not_supported";
1173 return "cuda_system_not_ready";
1175 return "cuda_system_driver_mismatch";
1177 return "cuda_compat_not_supported_on_device";
1179 return "cuda_mps_connection_failed";
1181 return "cuda_mps_rpc_failure";
1183 return "cuda_mps_server_not_ready";
1185 return "cuda_mps_max_clients_reached";
1187 return "cuda_mps_max_connections_reached";
1189 return "cuda_mps_client_terminated";
1191 return "cuda_cdp_not_supported";
1193 return "cuda_cdp_version_mismatch";
1195 return "cuda_stream_capture_unsupported";
1197 return "cuda_stream_capture_invalidated";
1199 return "cuda_stream_capture_merge";
1201 return "cuda_stream_capture_unmatched";
1203 return "cuda_stream_capture_unjoined";
1205 return "cuda_stream_capture_isolation";
1207 return "cuda_stream_capture_implicit";
1209 return "cuda_captured_event";
1211 return "cuda_stream_capture_wrong_thread";
1213 return "cuda_timeout";
1215 return "cuda_graph_exec_update_failure";
1217 return "cuda_external_device";
1219 return "cuda_invalid_cluster_size";
1221 return "cuda_function_not_loaded";
1223 return "cuda_invalid_resource_type";
1225 return "cuda_invalid_resource_configuration";
1227 return "cuda_stream_detached";
1229 return "cuda_graph_recapture_failure";
1231 return "cuda_unknown";
1233 return "cuda_api_failure_base";
1234 default:
1235 return "unknown error_t (bug)";
1236 }
1237} //errorName
1238
1239/// Get the descriptive message for a \ref error_t code.
1240/**
1241 * \returns the descriptive message corresponding to the \ref error_t code
1242 *
1243 * \ingroup error_handling_codes
1244 */
1245static constexpr const char * errorMessage( const error_t & errc /**< [in] the error code for which to get the message*/)
1246{
1247 switch(errc)
1248 {
1249 case error_t::noerror:
1250 return "No error has occurred";
1251 case error_t::error:
1252 return "A general error has occurred";
1254 return "An argument was invalid";
1256 return "A config setting was invalid";
1257 case error_t::notimpl:
1258 return "A component or technique is not implemented";
1260 return "A parameter was not set";
1261 case error_t::envnotset:
1262 return "A environment variable was not set";
1263 case error_t::notfound:
1264 return "An item was not found";
1265 case error_t::sizeerr:
1266 return "A size was invalid or calculated incorrectly";
1267 case error_t::allocerr:
1268 return "An error occurred during memory allocation";
1269 case error_t::freeerr:
1270 return "An error occurred during memory de-allocation";
1271 case error_t::parseerr:
1272 return "A parsing error occurred";
1274 return "A general filesystem error occurred";
1275 case error_t::fileoerr:
1276 return "An error occurred while opening a file";
1277 case error_t::filewerr:
1278 return "An error occurred while writing to a file";
1279 case error_t::filererr:
1280 return "An error occurred while reading from a file";
1281 case error_t::filecerr:
1282 return "An error occurred while closing a file";
1284 return "The file was not found";
1285 case error_t::fileempty:
1286 return "The file is empty";
1288 return "The directory was not found";
1289 case error_t::dirempty:
1290 return "The directory was empty";
1291 case error_t::procerr:
1292 return "An error occurred while starting a process";
1293 case error_t::timeout:
1294 return "A timeout occurred";
1295 case error_t::liberr:
1296 return "An error was returned by a library";
1297 case error_t::exception:
1298 return "An exception was thrown";
1300 return "An exception was thrown";
1302 return "A bad allocation exception was thrown";
1304 return "A logic error exception was thrown";
1306 return "An invalid argument exception was thrown";
1308 return "A domain error exception was thrown";
1310 return "A length error exception was thrown";
1312 return "An out of range exception was thrown";
1314 return "A future error exception was thrown";
1316 return "A bad optional access exception was thrown";
1318 return "A filesystem error exception was thrown";
1320 return "A runtime error exception was thrown";
1322 return "A range error exception was thrown";
1324 return "An overflow exception was thrown";
1326 return "An underflow exception was thrown";
1328 return "An ios::base::failure exception was thrown";
1330 return "A format library exception was thrown";
1332 return "An error was returned by gnuplot";
1333 case error_t::lapackerr:
1334 return "An error was returned by Lapack";
1335 case error_t::e2big:
1336 return "Argument list too long";
1337 case error_t::eacces:
1338 return "Permission denied";
1340 return "Address already in use";
1342 return "Cannot assign requested address";
1344 return "Address family not supported by protocol";
1345 case error_t::eagain:
1346 return "Resource temporarily unavailable";
1347 case error_t::ealready:
1348 return "Operation already in progress";
1349 case error_t::ebadf:
1350 return "Bad file descriptor";
1351 case error_t::ebadmsg:
1352 return "Bad message";
1353 case error_t::ebusy:
1354 return "Device or resource busy";
1355 case error_t::ecanceled:
1356 return "Operation canceled";
1357 case error_t::echild:
1358 return "No child processes";
1360 return "Software caused connection abort";
1362 return "Connection refused";
1364 return "Connection reset by peer";
1366 return "Destination address required";
1367 case error_t::edom:
1368 return "Numerical argument out of domain";
1369 case error_t::eexist:
1370 return "File exists";
1371 case error_t::efault:
1372 return "Bad address";
1373 case error_t::efbig:
1374 return "File too large";
1376 return "No route to host";
1377 case error_t::eidrm:
1378 return "Identifier removed";
1379 case error_t::eilseq:
1380 return "Invalid or incomplete multibyte or wide character";
1382 return "Operation now in progress";
1383 case error_t::eintr:
1384 return "Interrupted system call";
1385 case error_t::einval:
1386 return "Invalid argument";
1387 case error_t::eio:
1388 return "Input/output error";
1389 case error_t::eisconn:
1390 return "Transport endpoint is already connected";
1391 case error_t::eisdir:
1392 return "Is a directory";
1393 case error_t::eloop:
1394 return "Too many levels of symbolic links";
1395 case error_t::emfile:
1396 return "Too many open files";
1397 case error_t::emlink:
1398 return "Too many links";
1399 case error_t::emsgsize:
1400 return "Message too long";
1402 return "File name too long";
1403 case error_t::enetdown:
1404 return "Network is down";
1405 case error_t::enetreset:
1406 return "Network dropped connection on reset";
1408 return "Network is unreachable";
1409 case error_t::enfile:
1410 return "Too many open files in system";
1411 case error_t::enobufs:
1412 return "No buffer space available";
1413 case error_t::enodata:
1414 return "No data available";
1415 case error_t::enodev:
1416 return "No such device";
1417 case error_t::enoent:
1418 return "No such file or directory";
1419 case error_t::enoexec:
1420 return "Exec format error";
1421 case error_t::enolck:
1422 return "No locks available";
1423 case error_t::enolink:
1424 return "Link has been severed";
1425 case error_t::enomem:
1426 return "Cannot allocate memory";
1427 case error_t::enomsg:
1428 return "No message of desired type";
1430 return "Protocol not available";
1431 case error_t::enospc:
1432 return "No space left on device";
1433 case error_t::enosr:
1434 return "Out of streams resources";
1435 case error_t::enostr:
1436 return "Device not a stream";
1437 case error_t::enosys:
1438 return "Function not implemented";
1439 case error_t::enotconn:
1440 return "Transport endpoint is not connected";
1441 case error_t::enotdir:
1442 return "Not a directory";
1443 case error_t::enotempty:
1444 return "Directory not empty";
1446 return "State not recoverable";
1447 case error_t::enotsock:
1448 return "Socket operation on non-socket";
1449 case error_t::enotsup:
1450 return "Operation not supported";
1451 case error_t::enotty:
1452 return "Inappropriate ioctl for device";
1453 case error_t::enxio:
1454 return "No such device or address";
1456 return "Operation not supported";
1457 case error_t::eoverflow:
1458 return "Value too large for defined data type";
1460 return "Owner died";
1461 case error_t::eperm:
1462 return "Operation not permitted";
1463 case error_t::epipe:
1464 return "Broken pipe";
1465 case error_t::eproto:
1466 return "Protocol error";
1468 return "Protocol not supported";
1470 return "Protocol wrong type for socket";
1471 case error_t::erange:
1472 return "Numerical result out of range";
1473 case error_t::erofs:
1474 return "Read-only file system";
1475 case error_t::espipe:
1476 return "Illegal seek";
1477 case error_t::esrch:
1478 return "No such process";
1479 case error_t::etime:
1480 return "Timer expired";
1481 case error_t::etimedout:
1482 return "Connection timed out";
1483 case error_t::etxtbsy:
1484 return "Text file busy";
1486 return "Resource temporarily unavailable";
1487 case error_t::exdev:
1488 return "Invalid cross-device link";
1490 return "FITS: input and output files are the same";
1492 return "FITS: tried to open too many FITS files at once";
1494 return "FITS: could not open the named file";
1496 return "FITS: could not create the named file";
1498 return "FITS: error writing to FITS file";
1500 return "FITS: tried to move past end of file";
1502 return "FITS: error reading from FITS file";
1504 return "FITS: could not close the file";
1506 return "FITS: array dimensions exceed internal limit";
1508 return "FITS: Cannot write to readonly file";
1510 return "FITS: Could not allocate memory";
1512 return "FITS: invalid fitsfile pointer";
1514 return "FITS: NULL input pointer to routine";
1516 return "FITS: error seeking position in file";
1518 return "FITS: bad value for file download timeout setting";
1520 return "FITS: invalid URL prefix on file name";
1522 return "FITS: tried to register too many IO drivers";
1524 return "FITS: driver initialization failed";
1526 return "FITS: matching driver is not registered";
1528 return "FITS: failed to parse input file URL";
1530 return "FITS: parse error in range list";
1532 return "FITS: bad argument in shared memory driver";
1534 return "FITS: null pointer passed as an argument";
1536 return "FITS: no more free shared memory handles";
1538 return "FITS: shared memory driver is not initialized";
1540 return "FITS: IPC error returned by a system call";
1542 return "FITS: no memory in shared memory driver";
1544 return "FITS: resource deadlock would occur";
1546 return "FITS: attempt to open/create lock file failed";
1548 return "FITS: shared memory block cannot be resized at the moment";
1550 return "FITS: header already contains keywords";
1552 return "FITS: keyword not found in header";
1554 return "FITS: keyword record number is out of bounds";
1556 return "FITS: keyword value field is blank";
1558 return "FITS: string is missing the closing quote";
1560 return "FITS: illegal indexed keyword name (e.g. 'TFORM1000')";
1562 return "FITS: illegal character in keyword name or card";
1564 return "FITS: required keywords out of order";
1566 return "FITS: keyword value is not a positive integer";
1568 return "FITS: couldn't find END keyword";
1570 return "FITS: illegal BITPIX keyword value";
1572 return "FITS: illegal NAXIS keyword value";
1574 return "FITS: illegal NAXISn keyword value";
1576 return "FITS: illegal PCOUNT keyword value";
1578 return "FITS: illegal GCOUNT keyword value";
1580 return "FITS: illegal TFIELDS keyword value";
1582 return "FITS: negative table row size";
1584 return "FITS: negative number of rows in table";
1586 return "FITS: column with this name not found in table";
1588 return "FITS: illegal value of SIMPLE keyword";
1590 return "FITS: Primary array doesn't start with SIMPLE";
1592 return "FITS: Second keyword not BITPIX";
1594 return "FITS: Third keyword not NAXIS";
1596 return "FITS: Couldn't find all the NAXISn keywords";
1598 return "FITS: HDU doesn't start with XTENSION keyword";
1600 return "FITS: the CHDU is not an ASCII table extension";
1602 return "FITS: the CHDU is not a binary table extension";
1604 return "FITS: couldn't find PCOUNT keyword";
1606 return "FITS: couldn't find GCOUNT keyword";
1608 return "FITS: couldn't find TFIELDS keyword";
1610 return "FITS: couldn't find TBCOLn keyword";
1612 return "FITS: couldn't find TFORMn keyword";
1614 return "FITS: the CHDU is not an IMAGE extension";
1616 return "FITS: TBCOLn keyword value < 0 or > rowlength";
1618 return "FITS: the CHDU is not a table";
1620 return "FITS: column is too wide to fit in table";
1622 return "FITS: more than 1 column name matches template";
1624 return "FITS: sum of column widths not = NAXIS1";
1626 return "FITS: unrecognizable FITS extension type";
1628 return "FITS: unknown record; 1st keyword not SIMPLE or XTENSION";
1630 return "FITS: END keyword is not blank";
1632 return "FITS: Header fill area contains non-blank chars";
1634 return "FITS: Illegal data fill bytes (not zero or blank)";
1636 return "FITS: illegal TFORM format code";
1638 return "FITS: unrecognizable TFORM data type code";
1640 return "FITS: illegal TDIMn keyword value";
1642 return "FITS: invalid BINTABLE heap pointer is out of range";
1644 return "FITS: HDU number < 1";
1646 return "FITS: column number < 1 or > tfields";
1648 return "FITS: tried to move to negative byte location in file";
1650 return "FITS: tried to read or write negative number of bytes";
1652 return "FITS: illegal starting row number in table";
1654 return "FITS: illegal starting element number in vector";
1656 return "FITS: this is not an ASCII string column";
1658 return "FITS: this is not a logical data type column";
1660 return "FITS: ASCII table column has wrong format";
1662 return "FITS: Binary table column has wrong format";
1664 return "FITS: null value has not been defined";
1666 return "FITS: this is not a variable length column";
1668 return "FITS: illegal number of dimensions in array";
1670 return "FITS: first pixel number greater than last pixel";
1672 return "FITS: illegal BSCALE or TSCALn keyword = 0";
1674 return "FITS: illegal axis length < 1";
1676 return "FITS: Grouping function error";
1678 return "FITS: hdu already member";
1680 return "FITS: member not found";
1682 return "FITS: group not found";
1684 return "FITS: bad group id";
1686 return "FITS: too many hdus tracked";
1688 return "FITS: hdu already tracked";
1690 return "FITS: bad option";
1692 return "FITS: identical pointers";
1694 return "FITS: bad group attach";
1696 return "FITS: bad group detach";
1698 return "FITS: malloc failed";
1700 return "FITS: read error from file";
1702 return "FITS: null pointer passed as an argument.";
1704 return "FITS: line read seems to be empty (used";
1706 return "FITS: cannot unread more then 1 line";
1708 return "FITS: too deep include file nesting ";
1710 return "FITS: fopen() failed, cannot open template file";
1712 return "FITS: end of file encountered and not expected";
1714 return "FITS: bad arguments passed.";
1716 return "FITS: token not expected here";
1718 return "FITS: bad int to formatted string conversion";
1720 return "FITS: bad float to formatted string conversion";
1722 return "FITS: can't interpret keyword value as integer";
1724 return "FITS: can't interpret keyword value as logical";
1726 return "FITS: can't interpret keyword value as float";
1728 return "FITS: can't interpret keyword value as double";
1730 return "FITS: bad formatted string to int conversion";
1732 return "FITS: bad formatted string to float conversion";
1734 return "FITS: bad formatted string to double conversion";
1736 return "FITS: illegal datatype code value";
1738 return "FITS: bad number of decimal places specified";
1740 return "FITS: overflow during data type conversion";
1742 return "FITS: error compressing image";
1744 return "FITS: error uncompressing image";
1746 return "FITS: error in date or time conversion";
1748 return "FITS: syntax error in parser expression";
1750 return "FITS: expression did not evaluate to desired type";
1752 return "FITS: vector result too large to return in array";
1754 return "FITS: data parser failed not sent an out column";
1756 return "FITS: bad data encounter while parsing column";
1758 return "FITS: Output file not of proper type";
1760 return "FITS: celestial angle too large for projection";
1762 return "FITS: bad celestial coordinate or pixel value";
1764 return "FITS: error in celestial coordinate calculation";
1766 return "FITS: unsupported type of celestial projection";
1768 return "FITS: celestial coordinate keywords not found";
1770 return "FITS: approximate wcs keyword values were returned";
1772 return "CUDA: no error";
1774 return "CUDA: invalid argument";
1776 return "CUDA: out of memory";
1778 return "CUDA: initialization error";
1780 return "CUDA: driver shutting down";
1782 return "CUDA: profiler disabled while using external profiling tool";
1784 return "CUDA: profiler not initialized: call cudaProfilerInitialize()";
1786 return "CUDA: profiler already started";
1788 return "CUDA: profiler already stopped";
1790 return "CUDA: invalid configuration argument";
1792 return "CUDA: Driver is newer than runtime and returned parameters the runtime cannot process";
1794 return "CUDA: invalid pitch argument";
1796 return "CUDA: invalid device symbol";
1798 return "CUDA: invalid host pointer";
1800 return "CUDA: invalid device pointer";
1802 return "CUDA: invalid texture reference";
1804 return "CUDA: texture is not bound to a pointer";
1806 return "CUDA: invalid channel descriptor";
1808 return "CUDA: invalid copy direction for memcpy";
1810 return "CUDA: invalid address of constant";
1812 return "CUDA: fetch from texture failed";
1814 return "CUDA: cannot fetch from a texture that is not bound";
1816 return "CUDA: incorrect use of __syncthreads()";
1818 return "CUDA: linear filtering not supported for non-float type";
1820 return "CUDA: read as normalized float not supported for data type";
1822 return "CUDA: device emulation mode and device execution mode cannot be mixed";
1824 return "CUDA: feature not yet implemented";
1826 return "CUDA: memory size or pointer value too large to fit in 32 bit";
1828 return "CUDA: CUDA driver is a stub library";
1830 return "CUDA: CUDA driver version is insufficient for CUDA runtime version";
1832 return "CUDA: API call is not supported in the installed CUDA driver";
1834 return "CUDA: invalid surface reference";
1836 return "CUDA: duplicate global variable looked up by string name";
1838 return "CUDA: duplicate texture looked up by string name";
1840 return "CUDA: duplicate surface looked up by string name";
1842 return "CUDA: CUDA-capable device(s) is/are busy or unavailable";
1844 return "CUDA: incompatible driver context";
1846 return "CUDA: __global__ function call is not configured";
1848 return "CUDA: unspecified launch failure in prior launch";
1850 return "CUDA: launch would exceed maximum depth of nested launches";
1852 return "CUDA: launch failed because kernel uses unsupported, file-scoped textures (texture objects are supported)";
1854 return "CUDA: launch failed because kernel uses unsupported, file-scoped surfaces (surface objects are supported)";
1856 return "CUDA: cudaDeviceSynchronize failed because caller's grid depth exceeds cudaLimitDevRuntimeSyncDepth";
1858 return "CUDA: launch failed because launch would exceed cudaLimitDevRuntimePendingLaunchCount";
1860 return "CUDA: invalid device function";
1862 return "CUDA: no CUDA-capable device is detected";
1864 return "CUDA: invalid device ordinal";
1866 return "CUDA: device doesn't have valid Grid license";
1868 return "CUDA: integrity checks failed";
1870 return "CUDA: startup failure in cuda runtime";
1872 return "CUDA: device kernel image is invalid";
1874 return "CUDA: invalid device context";
1876 return "CUDA: mapping of buffer object failed";
1878 return "CUDA: unmapping of buffer object failed";
1880 return "CUDA: array is mapped";
1882 return "CUDA: resource already mapped";
1884 return "CUDA: no kernel image is available for execution on the device";
1886 return "CUDA: resource already acquired";
1888 return "CUDA: resource not mapped";
1890 return "CUDA: resource not mapped as array";
1892 return "CUDA: resource not mapped as pointer";
1894 return "CUDA: uncorrectable ECC error encountered";
1896 return "CUDA: limit is not supported on this architecture";
1898 return "CUDA: exclusive-thread device already in use by a different thread";
1900 return "CUDA: peer access is not supported between these two devices";
1902 return "CUDA: a PTX JIT compilation failed";
1904 return "CUDA: invalid OpenGL or DirectX context";
1906 return "CUDA: uncorrectable NVLink error detected during the execution";
1908 return "CUDA: PTX JIT compiler library not found";
1910 return "CUDA: the provided PTX was compiled with an unsupported toolchain.";
1912 return "CUDA: PTX JIT compilation was disabled";
1914 return "CUDA: the provided execution affinity is not supported";
1916 return "CUDA: the provided PTX contains unsupported call to cudaDeviceSynchronize";
1918 return "CUDA: Invalid access of peer GPU memory over nvlink or a hardware error";
1920 return "CUDA: device kernel image is invalid";
1922 return "CUDA: file not found";
1924 return "CUDA: shared object symbol not found";
1926 return "CUDA: shared object initialization failed";
1928 return "CUDA: OS call failed or operation not supported on this OS";
1930 return "CUDA: invalid resource handle";
1932 return "CUDA: the operation cannot be performed in the present state";
1934 return "CUDA: attempted introspection would be semantically lossy";
1936 return "CUDA: named symbol not found";
1938 return "CUDA: device not ready";
1940 return "CUDA: an illegal memory access was encountered";
1942 return "CUDA: too many resources requested for launch";
1944 return "CUDA: the launch timed out and was terminated";
1946 return "CUDA: launch uses incompatible texturing mode";
1948 return "CUDA: peer access is already enabled";
1950 return "CUDA: peer access has not been enabled";
1952 return "CUDA: cannot set while device is active in this process";
1954 return "CUDA: context is destroyed";
1956 return "CUDA: device-side assert triggered";
1958 return "CUDA: peer mapping resources exhausted";
1960 return "CUDA: part or all of the requested memory range is already mapped";
1962 return "CUDA: pointer does not correspond to a registered memory region";
1964 return "CUDA: hardware stack error";
1966 return "CUDA: an illegal instruction was encountered";
1968 return "CUDA: misaligned address";
1970 return "CUDA: operation not supported on global/shared address space";
1972 return "CUDA: invalid program counter";
1974 return "CUDA: unspecified launch failure";
1976 return "CUDA: too many blocks in cooperative launch";
1978 return "CUDA: tensor memory not completely freed";
1980 return "CUDA: operation not permitted";
1982 return "CUDA: operation not supported";
1984 return "CUDA: system not yet initialized";
1986 return "CUDA: system has unsupported display driver / cuda driver combination";
1988 return "CUDA: forward compatibility was attempted on non supported HW";
1990 return "CUDA: MPS client failed to connect to the MPS control daemon or the MPS server";
1992 return "CUDA: the remote procedural call between the MPS server and the MPS client failed";
1994 return "CUDA: MPS server is not ready to accept new MPS client requests";
1996 return "CUDA: the hardware resources required to create MPS client have been exhausted";
1998 return "CUDA: the hardware resources required to support device connections have been exhausted";
2000 return "CUDA: the MPS client has been terminated by the server";
2002 return "CUDA: is using CUDA Dynamic Parallelism, but the current configuration, like MPS, does not support it";
2004 return "CUDA: unsupported interaction between different versions of CUDA Dynamic Parallelism";
2006 return "CUDA: operation not permitted when stream is capturing";
2008 return "CUDA: operation failed due to a previous error during capture";
2010 return "CUDA: operation would result in a merge of separate capture sequences";
2012 return "CUDA: capture was not ended in the same stream as it began";
2014 return "CUDA: capturing stream has unjoined work";
2016 return "CUDA: dependency created on uncaptured work in another stream";
2018 return "CUDA: operation would make the legacy stream depend on a capturing blocking stream";
2020 return "CUDA: operation not permitted on an event last recorded in a capturing stream";
2022 return "CUDA: attempt to terminate a thread-local capture sequence from another thread";
2024 return "CUDA: wait operation timed out";
2026 return "CUDA: the graph update was not performed because it included changes which violated constraints specific to instantiated graph update";
2028 return "CUDA: an async error has occured in external entity outside of CUDA";
2030 return "CUDA: a kernel launch error has occurred due to cluster misconfiguration";
2032 return "CUDA: the function handle is not loaded when calling an API that requires a loaded function";
2034 return "CUDA: one or more resources passed in are not valid resource types for the operation";
2036 return "CUDA: one or more resources are insufficient or non-applicable for the operation";
2038 return "CUDA: API call not permitted since the green context associated with the stream has been destroyed";
2040 return "CUDA: recapturing to the source graph failed and had to be terminated";
2042 return "CUDA: unknown error";
2044 return "CUDA: api failure base";
2045 default:
2046 return "unknown error_t (bug)";
2047 }
2048} //errorMessage
2049
2050/// Convert an errno code to \ref error_t
2051/**
2052 * \returns the \ref error_t code corresponding to the errno code
2053 *
2054 * \ingroup error_handling_codes
2055 */
2056static constexpr error_t errno2error_t( const int & err/**< [in] the errno code to convert*/)
2057{
2058 switch(err)
2059 {
2060 case EACCES:
2061 return error_t::eacces;
2062 case EADDRINUSE:
2063 return error_t::eaddrinuse;
2064 case EADDRNOTAVAIL:
2066 case EAFNOSUPPORT:
2067 return error_t::eafnosupport;
2068 case EAGAIN:
2069 return error_t::eagain;
2070 case EALREADY:
2071 return error_t::ealready;
2072 case EBADF:
2073 return error_t::ebadf;
2074 case EBADMSG:
2075 return error_t::ebadmsg;
2076 case EBUSY:
2077 return error_t::ebusy;
2078 case ECANCELED:
2079 return error_t::ecanceled;
2080 case ECHILD:
2081 return error_t::echild;
2082 case ECONNABORTED:
2083 return error_t::econnaborted;
2084 case ECONNREFUSED:
2085 return error_t::econnrefused;
2086 case ECONNRESET:
2087 return error_t::econnreset;
2088 case EDESTADDRREQ:
2089 return error_t::edestaddrreq;
2090 case EDOM:
2091 return error_t::edom;
2092 case EEXIST:
2093 return error_t::eexist;
2094 case EFAULT:
2095 return error_t::efault;
2096 case EFBIG:
2097 return error_t::efbig;
2098 case EHOSTUNREACH:
2099 return error_t::ehostunreach;
2100 case EIDRM:
2101 return error_t::eidrm;
2102 case EILSEQ:
2103 return error_t::eilseq;
2104 case EINPROGRESS:
2105 return error_t::einprogress;
2106 case EINTR:
2107 return error_t::eintr;
2108 case EINVAL:
2109 return error_t::einval;
2110 case EIO:
2111 return error_t::eio;
2112 case EISCONN:
2113 return error_t::eisconn;
2114 case EISDIR:
2115 return error_t::eisdir;
2116 case ELOOP:
2117 return error_t::eloop;
2118 case EMFILE:
2119 return error_t::emfile;
2120 case EMLINK:
2121 return error_t::emlink;
2122 case EMSGSIZE:
2123 return error_t::emsgsize;
2124 case ENAMETOOLONG:
2125 return error_t::enametoolong;
2126 case ENETDOWN:
2127 return error_t::enetdown;
2128 case ENETRESET:
2129 return error_t::enetreset;
2130 case ENETUNREACH:
2131 return error_t::enetunreach;
2132 case ENFILE:
2133 return error_t::enfile;
2134 case ENOBUFS:
2135 return error_t::enobufs;
2136 case ENODATA:
2137 return error_t::enodata;
2138 case ENODEV:
2139 return error_t::enodev;
2140 case ENOENT:
2141 return error_t::enoent;
2142 case ENOEXEC:
2143 return error_t::enoexec;
2144 case ENOLCK:
2145 return error_t::enolck;
2146 case ENOLINK:
2147 return error_t::enolink;
2148 case ENOMEM:
2149 return error_t::enomem;
2150 case ENOMSG:
2151 return error_t::enomsg;
2152 case ENOPROTOOPT:
2153 return error_t::enoprotoopt;
2154 case ENOSPC:
2155 return error_t::enospc;
2156 case ENOSR:
2157 return error_t::enosr;
2158 case ENOSTR:
2159 return error_t::enostr;
2160 case ENOSYS:
2161 return error_t::enosys;
2162 case ENOTCONN:
2163 return error_t::enotconn;
2164 case ENOTDIR:
2165 return error_t::enotdir;
2166 case ENOTEMPTY:
2167 return error_t::enotempty;
2168 case ENOTRECOVERABLE:
2170 case ENOTSOCK:
2171 return error_t::enotsock;
2172 case ENOTSUP:
2173 return error_t::enotsup;
2174 case ENOTTY:
2175 return error_t::enotty;
2176 case ENXIO:
2177 return error_t::enxio;
2178 case EOVERFLOW:
2179 return error_t::eoverflow;
2180 case EOWNERDEAD:
2181 return error_t::eownerdead;
2182 case EPERM:
2183 return error_t::eperm;
2184 case EPIPE:
2185 return error_t::epipe;
2186 case EPROTO:
2187 return error_t::eproto;
2188 case EPROTONOSUPPORT:
2190 case EPROTOTYPE:
2191 return error_t::eprototype;
2192 case ERANGE:
2193 return error_t::erange;
2194 case EROFS:
2195 return error_t::erofs;
2196 case ESPIPE:
2197 return error_t::espipe;
2198 case ESRCH:
2199 return error_t::esrch;
2200 case ETIME:
2201 return error_t::etime;
2202 case ETIMEDOUT:
2203 return error_t::etimedout;
2204 case ETXTBSY:
2205 return error_t::etxtbsy;
2206 case EXDEV:
2207 return error_t::exdev;
2208 default:
2209 return error_t::error;
2210 }
2211} //errno2error_t
2212
2213/// Convert a FITS status code to \ref error_t
2214/**
2215 * \returns the \ref error_t code corresponding to the FITS status code
2216 *
2217 * \ingroup fits_utils
2218 */
2219static constexpr error_t fits_status2error_t( const int & err/**< [in] the fits status code to convert*/)
2220{
2221 switch(err)
2222 {
2223 case 0:
2224 return error_t::noerror;
2225 case SAME_FILE:
2227 case TOO_MANY_FILES:
2229 case FILE_NOT_OPENED:
2231 case FILE_NOT_CREATED:
2233 case WRITE_ERROR:
2235 case END_OF_FILE:
2237 case READ_ERROR:
2239 case FILE_NOT_CLOSED:
2241 case ARRAY_TOO_BIG:
2243 case READONLY_FILE:
2245 case MEMORY_ALLOCATION:
2247 case BAD_FILEPTR:
2249 case NULL_INPUT_PTR:
2251 case SEEK_ERROR:
2253 case BAD_NETTIMEOUT:
2255 case BAD_URL_PREFIX:
2257 case TOO_MANY_DRIVERS:
2259 case DRIVER_INIT_FAILED:
2261 case NO_MATCHING_DRIVER:
2263 case URL_PARSE_ERROR:
2265 case RANGE_PARSE_ERROR:
2267 case SHARED_BADARG:
2269 case SHARED_NULPTR:
2271 case SHARED_TABFULL:
2273 case SHARED_NOTINIT:
2275 case SHARED_IPCERR:
2277 case SHARED_NOMEM:
2279 case SHARED_AGAIN:
2281 case SHARED_NOFILE:
2283 case SHARED_NORESIZE:
2285 case HEADER_NOT_EMPTY:
2287 case KEY_NO_EXIST:
2289 case KEY_OUT_BOUNDS:
2291 case VALUE_UNDEFINED:
2293 case NO_QUOTE:
2295 case BAD_INDEX_KEY:
2297 case BAD_KEYCHAR:
2299 case BAD_ORDER:
2301 case NOT_POS_INT:
2303 case NO_END:
2304 return error_t::fits_no_end;
2305 case BAD_BITPIX:
2307 case BAD_NAXIS:
2309 case BAD_NAXES:
2311 case BAD_PCOUNT:
2313 case BAD_GCOUNT:
2315 case BAD_TFIELDS:
2317 case NEG_WIDTH:
2319 case NEG_ROWS:
2321 case COL_NOT_FOUND:
2323 case BAD_SIMPLE:
2325 case NO_SIMPLE:
2327 case NO_BITPIX:
2329 case NO_NAXIS:
2331 case NO_NAXES:
2333 case NO_XTENSION:
2335 case NOT_ATABLE:
2337 case NOT_BTABLE:
2339 case NO_PCOUNT:
2341 case NO_GCOUNT:
2343 case NO_TFIELDS:
2345 case NO_TBCOL:
2347 case NO_TFORM:
2349 case NOT_IMAGE:
2351 case BAD_TBCOL:
2353 case NOT_TABLE:
2355 case COL_TOO_WIDE:
2357 case COL_NOT_UNIQUE:
2359 case BAD_ROW_WIDTH:
2361 case UNKNOWN_EXT:
2363 case UNKNOWN_REC:
2365 case END_JUNK:
2367 case BAD_HEADER_FILL:
2369 case BAD_DATA_FILL:
2371 case BAD_TFORM:
2373 case BAD_TFORM_DTYPE:
2375 case BAD_TDIM:
2377 case BAD_HEAP_PTR:
2379 case BAD_HDU_NUM:
2381 case BAD_COL_NUM:
2383 case NEG_FILE_POS:
2385 case NEG_BYTES:
2387 case BAD_ROW_NUM:
2389 case BAD_ELEM_NUM:
2391 case NOT_ASCII_COL:
2393 case NOT_LOGICAL_COL:
2395 case BAD_ATABLE_FORMAT:
2397 case BAD_BTABLE_FORMAT:
2399 case NO_NULL:
2400 return error_t::fits_no_null;
2401 case NOT_VARI_LEN:
2403 case BAD_DIMEN:
2405 case BAD_PIX_NUM:
2407 case ZERO_SCALE:
2409 case NEG_AXIS:
2411 case NOT_GROUP_TABLE:
2413 case HDU_ALREADY_MEMBER:
2415 case MEMBER_NOT_FOUND:
2417 case GROUP_NOT_FOUND:
2419 case BAD_GROUP_ID:
2421 case TOO_MANY_HDUS_TRACKED:
2423 case HDU_ALREADY_TRACKED:
2425 case BAD_OPTION:
2427 case IDENTICAL_POINTERS:
2429 case BAD_GROUP_ATTACH:
2431 case BAD_GROUP_DETACH:
2433 case NGP_NO_MEMORY:
2435 case NGP_READ_ERR:
2437 case NGP_NUL_PTR:
2439 case NGP_EMPTY_CURLINE:
2441 case NGP_UNREAD_QUEUE_FULL:
2443 case NGP_INC_NESTING:
2445 case NGP_ERR_FOPEN:
2447 case NGP_EOF:
2448 return error_t::fits_ngp_eof;
2449 case NGP_BAD_ARG:
2451 case NGP_TOKEN_NOT_EXPECT:
2453 case BAD_I2C:
2454 return error_t::fits_bad_i2c;
2455 case BAD_F2C:
2456 return error_t::fits_bad_f2c;
2457 case BAD_INTKEY:
2459 case BAD_LOGICALKEY:
2461 case BAD_FLOATKEY:
2463 case BAD_DOUBLEKEY:
2465 case BAD_C2I:
2466 return error_t::fits_bad_c2i;
2467 case BAD_C2F:
2468 return error_t::fits_bad_c2f;
2469 case BAD_C2D:
2470 return error_t::fits_bad_c2d;
2471 case BAD_DATATYPE:
2473 case BAD_DECIM:
2475 case NUM_OVERFLOW:
2477 case DATA_COMPRESSION_ERR:
2479 case DATA_DECOMPRESSION_ERR:
2481 case BAD_DATE:
2483 case PARSE_SYNTAX_ERR:
2485 case PARSE_BAD_TYPE:
2487 case PARSE_LRG_VECTOR:
2489 case PARSE_NO_OUTPUT:
2491 case PARSE_BAD_COL:
2493 case PARSE_BAD_OUTPUT:
2495 case ANGLE_TOO_BIG:
2497 case BAD_WCS_VAL:
2499 case WCS_ERROR:
2501 case BAD_WCS_PROJ:
2503 case NO_WCS_KEY:
2505 case APPROX_WCS_KEY:
2507 default:
2508 return error_t::error;
2509 }
2510} //fits_status2error_t
2511
2512#ifdef MXLIB_CUDA
2513/// Convert a cudaError code to \ref error_t
2514/**
2515 * \returns the \ref error_t code corresponding to the cudaError code
2516 *
2517 * \ingroup cuda_utils
2518 */
2519static constexpr error_t cudaError2error_t( const cudaError_t & err/**< [in] the cudaError code to convert*/)
2520{
2521 switch(err)
2522 {
2523 case cudaSuccess:
2524 return error_t::cuda_success;
2525 case cudaErrorInvalidValue:
2527 case cudaErrorMemoryAllocation:
2529 case cudaErrorInitializationError:
2531 case cudaErrorCudartUnloading:
2533 case cudaErrorProfilerDisabled:
2535 case cudaErrorProfilerNotInitialized:
2537 case cudaErrorProfilerAlreadyStarted:
2539 case cudaErrorProfilerAlreadyStopped:
2541 case cudaErrorInvalidConfiguration:
2543 case cudaErrorVersionTranslation:
2545 case cudaErrorInvalidPitchValue:
2547 case cudaErrorInvalidSymbol:
2549 case cudaErrorInvalidHostPointer:
2551 case cudaErrorInvalidDevicePointer:
2553 case cudaErrorInvalidTexture:
2555 case cudaErrorInvalidTextureBinding:
2557 case cudaErrorInvalidChannelDescriptor:
2559 case cudaErrorInvalidMemcpyDirection:
2561 case cudaErrorAddressOfConstant:
2563 case cudaErrorTextureFetchFailed:
2565 case cudaErrorTextureNotBound:
2567 case cudaErrorSynchronizationError:
2569 case cudaErrorInvalidFilterSetting:
2571 case cudaErrorInvalidNormSetting:
2573 case cudaErrorMixedDeviceExecution:
2575 case cudaErrorNotYetImplemented:
2577 case cudaErrorMemoryValueTooLarge:
2579 case cudaErrorStubLibrary:
2581 case cudaErrorInsufficientDriver:
2583 case cudaErrorCallRequiresNewerDriver:
2585 case cudaErrorInvalidSurface:
2587 case cudaErrorDuplicateVariableName:
2589 case cudaErrorDuplicateTextureName:
2591 case cudaErrorDuplicateSurfaceName:
2593 case cudaErrorDevicesUnavailable:
2595 case cudaErrorIncompatibleDriverContext:
2597 case cudaErrorMissingConfiguration:
2599 case cudaErrorPriorLaunchFailure:
2601 case cudaErrorLaunchMaxDepthExceeded:
2603 case cudaErrorLaunchFileScopedTex:
2605 case cudaErrorLaunchFileScopedSurf:
2607 case cudaErrorSyncDepthExceeded:
2609 case cudaErrorLaunchPendingCountExceeded:
2611 case cudaErrorInvalidDeviceFunction:
2613 case cudaErrorNoDevice:
2615 case cudaErrorInvalidDevice:
2617 case cudaErrorDeviceNotLicensed:
2619 case cudaErrorSoftwareValidityNotEstablished:
2621 case cudaErrorStartupFailure:
2623 case cudaErrorInvalidKernelImage:
2625 case cudaErrorDeviceUninitialized:
2627 case cudaErrorMapBufferObjectFailed:
2629 case cudaErrorUnmapBufferObjectFailed:
2631 case cudaErrorArrayIsMapped:
2633 case cudaErrorAlreadyMapped:
2635 case cudaErrorNoKernelImageForDevice:
2637 case cudaErrorAlreadyAcquired:
2639 case cudaErrorNotMapped:
2641 case cudaErrorNotMappedAsArray:
2643 case cudaErrorNotMappedAsPointer:
2645 case cudaErrorECCUncorrectable:
2647 case cudaErrorUnsupportedLimit:
2649 case cudaErrorDeviceAlreadyInUse:
2651 case cudaErrorPeerAccessUnsupported:
2653 case cudaErrorInvalidPtx:
2655 case cudaErrorInvalidGraphicsContext:
2657 case cudaErrorNvlinkUncorrectable:
2659 case cudaErrorJitCompilerNotFound:
2661 case cudaErrorUnsupportedPtxVersion:
2663 case cudaErrorJitCompilationDisabled:
2665 case cudaErrorUnsupportedExecAffinity:
2667 case cudaErrorUnsupportedDevSideSync:
2669 case cudaErrorContained:
2671 case cudaErrorInvalidSource:
2673 case cudaErrorFileNotFound:
2675 case cudaErrorSharedObjectSymbolNotFound:
2677 case cudaErrorSharedObjectInitFailed:
2679 case cudaErrorOperatingSystem:
2681 case cudaErrorInvalidResourceHandle:
2683 case cudaErrorIllegalState:
2685 case cudaErrorLossyQuery:
2687 case cudaErrorSymbolNotFound:
2689 case cudaErrorNotReady:
2691 case cudaErrorIllegalAddress:
2693 case cudaErrorLaunchOutOfResources:
2695 case cudaErrorLaunchTimeout:
2697 case cudaErrorLaunchIncompatibleTexturing:
2699 case cudaErrorPeerAccessAlreadyEnabled:
2701 case cudaErrorPeerAccessNotEnabled:
2703 case cudaErrorSetOnActiveProcess:
2705 case cudaErrorContextIsDestroyed:
2707 case cudaErrorAssert:
2708 return error_t::cuda_assert;
2709 case cudaErrorTooManyPeers:
2711 case cudaErrorHostMemoryAlreadyRegistered:
2713 case cudaErrorHostMemoryNotRegistered:
2715 case cudaErrorHardwareStackError:
2717 case cudaErrorIllegalInstruction:
2719 case cudaErrorMisalignedAddress:
2721 case cudaErrorInvalidAddressSpace:
2723 case cudaErrorInvalidPc:
2725 case cudaErrorLaunchFailure:
2727 case cudaErrorCooperativeLaunchTooLarge:
2729 case cudaErrorTensorMemoryLeak:
2731 case cudaErrorNotPermitted:
2733 case cudaErrorNotSupported:
2735 case cudaErrorSystemNotReady:
2737 case cudaErrorSystemDriverMismatch:
2739 case cudaErrorCompatNotSupportedOnDevice:
2741 case cudaErrorMpsConnectionFailed:
2743 case cudaErrorMpsRpcFailure:
2745 case cudaErrorMpsServerNotReady:
2747 case cudaErrorMpsMaxClientsReached:
2749 case cudaErrorMpsMaxConnectionsReached:
2751 case cudaErrorMpsClientTerminated:
2753 case cudaErrorCdpNotSupported:
2755 case cudaErrorCdpVersionMismatch:
2757 case cudaErrorStreamCaptureUnsupported:
2759 case cudaErrorStreamCaptureInvalidated:
2761 case cudaErrorStreamCaptureMerge:
2763 case cudaErrorStreamCaptureUnmatched:
2765 case cudaErrorStreamCaptureUnjoined:
2767 case cudaErrorStreamCaptureIsolation:
2769 case cudaErrorStreamCaptureImplicit:
2771 case cudaErrorCapturedEvent:
2773 case cudaErrorStreamCaptureWrongThread:
2775 case cudaErrorTimeout:
2776 return error_t::cuda_timeout;
2777 case cudaErrorGraphExecUpdateFailure:
2779 case cudaErrorExternalDevice:
2781 case cudaErrorInvalidClusterSize:
2783 case cudaErrorFunctionNotLoaded:
2785 case cudaErrorInvalidResourceType:
2787 case cudaErrorInvalidResourceConfiguration:
2789 case cudaErrorStreamDetached:
2791 case cudaErrorGraphRecaptureFailure:
2793 case cudaErrorUnknown:
2794 return error_t::cuda_unknown;
2795 case cudaErrorApiFailureBase:
2797 default:
2798 return error_t::error;
2799 }
2800} //cudaError2error_t
2801#endif //MXLIB_CUDA
2802
2803} //namespace mx
2804#endif //mx_error_t_hpp
2805
2806
2807#ifdef MXLIBTEST_ERROR_T_TESTS
2808#ifndef MXLIBTEST_ERROR_T_TESTS_INC
2809#define MXLIBTEST_ERROR_T_TESTS_INC
2810
2811namespace mx
2812{
2813
2814void error_t_vector( std::vector<error_t> & errcs )
2815{
2816 errcs = { error_t::noerror,
3214
3215} //error_t_vector
3216
3217void errno_vector( std::vector<int> & errnos )
3218{
3219 errnos = { EACCES,
3220 EADDRINUSE,
3221 EADDRNOTAVAIL,
3222 EAFNOSUPPORT,
3223 EAGAIN,
3224 EALREADY,
3225 EBADF,
3226 EBADMSG,
3227 EBUSY,
3228 ECANCELED,
3229 ECHILD,
3230 ECONNABORTED,
3231 ECONNREFUSED,
3232 ECONNRESET,
3233 EDESTADDRREQ,
3234 EDOM,
3235 EEXIST,
3236 EFAULT,
3237 EFBIG,
3238 EHOSTUNREACH,
3239 EIDRM,
3240 EILSEQ,
3241 EINPROGRESS,
3242 EINTR,
3243 EINVAL,
3244 EIO,
3245 EISCONN,
3246 EISDIR,
3247 ELOOP,
3248 EMFILE,
3249 EMLINK,
3250 EMSGSIZE,
3251 ENAMETOOLONG,
3252 ENETDOWN,
3253 ENETRESET,
3254 ENETUNREACH,
3255 ENFILE,
3256 ENOBUFS,
3257 ENODATA,
3258 ENODEV,
3259 ENOENT,
3260 ENOEXEC,
3261 ENOLCK,
3262 ENOLINK,
3263 ENOMEM,
3264 ENOMSG,
3265 ENOPROTOOPT,
3266 ENOSPC,
3267 ENOSR,
3268 ENOSTR,
3269 ENOSYS,
3270 ENOTCONN,
3271 ENOTDIR,
3272 ENOTEMPTY,
3273 ENOTRECOVERABLE,
3274 ENOTSOCK,
3275 ENOTSUP,
3276 ENOTTY,
3277 ENXIO,
3278 EOVERFLOW,
3279 EOWNERDEAD,
3280 EPERM,
3281 EPIPE,
3282 EPROTO,
3283 EPROTONOSUPPORT,
3284 EPROTOTYPE,
3285 ERANGE,
3286 EROFS,
3287 ESPIPE,
3288 ESRCH,
3289 ETIME,
3290 ETIMEDOUT,
3291 ETXTBSY,
3292 EXDEV};
3293
3294} //errno_vector
3295void fitserr_vector( std::vector<int> & fitserrs )
3296{
3297 fitserrs= { SAME_FILE,
3298 TOO_MANY_FILES,
3299 FILE_NOT_OPENED,
3300 FILE_NOT_CREATED,
3301 WRITE_ERROR,
3302 END_OF_FILE,
3303 READ_ERROR,
3304 FILE_NOT_CLOSED,
3305 ARRAY_TOO_BIG,
3306 READONLY_FILE,
3307 MEMORY_ALLOCATION,
3308 BAD_FILEPTR,
3309 NULL_INPUT_PTR,
3310 SEEK_ERROR,
3311 BAD_NETTIMEOUT,
3312 BAD_URL_PREFIX,
3313 TOO_MANY_DRIVERS,
3314 DRIVER_INIT_FAILED,
3315 NO_MATCHING_DRIVER,
3316 URL_PARSE_ERROR,
3317 RANGE_PARSE_ERROR,
3318 SHARED_BADARG,
3319 SHARED_NULPTR,
3320 SHARED_TABFULL,
3321 SHARED_NOTINIT,
3322 SHARED_IPCERR,
3323 SHARED_NOMEM,
3324 SHARED_AGAIN,
3325 SHARED_NOFILE,
3326 SHARED_NORESIZE,
3327 HEADER_NOT_EMPTY,
3328 KEY_NO_EXIST,
3329 KEY_OUT_BOUNDS,
3330 VALUE_UNDEFINED,
3331 NO_QUOTE,
3332 BAD_INDEX_KEY,
3333 BAD_KEYCHAR,
3334 BAD_ORDER,
3335 NOT_POS_INT,
3336 NO_END,
3337 BAD_BITPIX,
3338 BAD_NAXIS,
3339 BAD_NAXES,
3340 BAD_PCOUNT,
3341 BAD_GCOUNT,
3342 BAD_TFIELDS,
3343 NEG_WIDTH,
3344 NEG_ROWS,
3345 COL_NOT_FOUND,
3346 BAD_SIMPLE,
3347 NO_SIMPLE,
3348 NO_BITPIX,
3349 NO_NAXIS,
3350 NO_NAXES,
3351 NO_XTENSION,
3352 NOT_ATABLE,
3353 NOT_BTABLE,
3354 NO_PCOUNT,
3355 NO_GCOUNT,
3356 NO_TFIELDS,
3357 NO_TBCOL,
3358 NO_TFORM,
3359 NOT_IMAGE,
3360 BAD_TBCOL,
3361 NOT_TABLE,
3362 COL_TOO_WIDE,
3363 COL_NOT_UNIQUE,
3364 BAD_ROW_WIDTH,
3365 UNKNOWN_EXT,
3366 UNKNOWN_REC,
3367 END_JUNK,
3368 BAD_HEADER_FILL,
3369 BAD_DATA_FILL,
3370 BAD_TFORM,
3371 BAD_TFORM_DTYPE,
3372 BAD_TDIM,
3373 BAD_HEAP_PTR,
3374 BAD_HDU_NUM,
3375 BAD_COL_NUM,
3376 NEG_FILE_POS,
3377 NEG_BYTES,
3378 BAD_ROW_NUM,
3379 BAD_ELEM_NUM,
3380 NOT_ASCII_COL,
3381 NOT_LOGICAL_COL,
3382 BAD_ATABLE_FORMAT,
3383 BAD_BTABLE_FORMAT,
3384 NO_NULL,
3385 NOT_VARI_LEN,
3386 BAD_DIMEN,
3387 BAD_PIX_NUM,
3388 ZERO_SCALE,
3389 NEG_AXIS,
3390 NOT_GROUP_TABLE,
3391 HDU_ALREADY_MEMBER,
3392 MEMBER_NOT_FOUND,
3393 GROUP_NOT_FOUND,
3394 BAD_GROUP_ID,
3395 TOO_MANY_HDUS_TRACKED,
3396 HDU_ALREADY_TRACKED,
3397 BAD_OPTION,
3398 IDENTICAL_POINTERS,
3399 BAD_GROUP_ATTACH,
3400 BAD_GROUP_DETACH,
3401 NGP_NO_MEMORY,
3402 NGP_READ_ERR,
3403 NGP_NUL_PTR,
3404 NGP_EMPTY_CURLINE,
3405 NGP_UNREAD_QUEUE_FULL,
3406 NGP_INC_NESTING,
3407 NGP_ERR_FOPEN,
3408 NGP_EOF,
3409 NGP_BAD_ARG,
3410 NGP_TOKEN_NOT_EXPECT,
3411 BAD_I2C,
3412 BAD_F2C,
3413 BAD_INTKEY,
3414 BAD_LOGICALKEY,
3415 BAD_FLOATKEY,
3416 BAD_DOUBLEKEY,
3417 BAD_C2I,
3418 BAD_C2F,
3419 BAD_C2D,
3420 BAD_DATATYPE,
3421 BAD_DECIM,
3422 NUM_OVERFLOW,
3423 DATA_COMPRESSION_ERR,
3424 DATA_DECOMPRESSION_ERR,
3425 BAD_DATE,
3426 PARSE_SYNTAX_ERR,
3427 PARSE_BAD_TYPE,
3428 PARSE_LRG_VECTOR,
3429 PARSE_NO_OUTPUT,
3430 PARSE_BAD_COL,
3431 PARSE_BAD_OUTPUT,
3432 ANGLE_TOO_BIG,
3433 BAD_WCS_VAL,
3434 WCS_ERROR,
3435 BAD_WCS_PROJ,
3436 NO_WCS_KEY,
3437 APPROX_WCS_KEY};
3438
3439} //fitserr_vector
3440
3441} //namespace mx
3442
3443#endif //MXLIBTEST_ERROR_T_TESTS_INC
3444#endif //MXLIBTEST_ERROR_T_TESTS
Augments an exception with the source file and line.
Definition exception.hpp:42
error_t
The mxlib error codes.
Definition error_t.hpp:26
static constexpr const char * errorName(const error_t &errc)
Convert a error_t code to its name.
Definition error_t.hpp:434
static constexpr error_t errno2error_t(const int &err)
Convert an errno code to error_t.
Definition error_t.hpp:2056
static constexpr const char * errorMessage(const error_t &errc)
Get the descriptive message for a error_t code.
Definition error_t.hpp:1245
@ cuda_cdp_version_mismatch
CUDA: unsupported interaction between different versions of CUDA Dynamic Parallelism.
Definition error_t.hpp:404
@ fits_parse_syntax_err
FITS: syntax error in parser expression.
Definition error_t.hpp:276
@ cuda_profiler_already_stopped
CUDA: profiler already stopped.
Definition error_t.hpp:296
@ cuda_peer_access_unsupported
CUDA: peer access is not supported between these two devices.
Definition error_t.hpp:352
@ eopnotsupp
Operation not supported (EOPNOTSUPP).
Definition error_t.hpp:130
@ e2big
Argument list too long (E2BIG).
Definition error_t.hpp:70
@ fits_bad_simple
FITS: illegal value of SIMPLE keyword.
Definition error_t.hpp:196
@ filenotfound
The file was not found.
Definition error_t.hpp:44
@ eilseq
Invalid or incomplete multibyte or wide character (EILSEQ).
Definition error_t.hpp:92
@ notimpl
A component or technique is not implemented.
Definition error_t.hpp:31
@ enotsup
Operation not supported (ENOTSUP).
Definition error_t.hpp:127
@ fits_end_of_file
FITS: tried to move past end of file.
Definition error_t.hpp:152
@ eprotonosupport
Protocol not supported (EPROTONOSUPPORT).
Definition error_t.hpp:136
@ fits_value_undefined
FITS: keyword value field is blank.
Definition error_t.hpp:180
@ cuda_illegal_state
CUDA: the operation cannot be performed in the present state.
Definition error_t.hpp:368
@ cuda_cudart_unloading
CUDA: driver shutting down.
Definition error_t.hpp:292
@ noerror
No error has occurred.
Definition error_t.hpp:27
@ fits_ngp_unread_queue_full
FITS: cannot unread more then 1 line.
Definition error_t.hpp:255
@ cuda_duplicate_variable_name
CUDA: duplicate global variable looked up by string name.
Definition error_t.hpp:320
@ fits_no_naxes
FITS: Couldn't find all the NAXISn keywords.
Definition error_t.hpp:200
@ cuda_not_ready
CUDA: device not ready.
Definition error_t.hpp:371
@ enosr
Out of streams resources (ENOSR).
Definition error_t.hpp:119
@ fits_bad_atable_format
FITS: ASCII table column has wrong format.
Definition error_t.hpp:232
@ fits_key_no_exist
FITS: keyword not found in header.
Definition error_t.hpp:178
@ fits_end_junk
FITS: END keyword is not blank.
Definition error_t.hpp:217
@ cuda_illegal_instruction
CUDA: an illegal instruction was encountered.
Definition error_t.hpp:385
@ etxtbsy
Text file busy (ETXTBSY).
Definition error_t.hpp:144
@ fits_array_too_big
FITS: array dimensions exceed internal limit.
Definition error_t.hpp:155
@ eperm
Operation not permitted (EPERM).
Definition error_t.hpp:133
@ cuda_mps_connection_failed
CUDA: MPS client failed to connect to the MPS control daemon or the MPS server.
Definition error_t.hpp:397
@ enotconn
Transport endpoint is not connected (ENOTCONN).
Definition error_t.hpp:122
@ std_exception
An exception was thrown.
Definition error_t.hpp:52
@ cuda_illegal_address
CUDA: an illegal memory access was encountered.
Definition error_t.hpp:372
@ enetunreach
Network is unreachable (ENETUNREACH).
Definition error_t.hpp:106
@ fits_bad_gcount
FITS: illegal GCOUNT keyword value.
Definition error_t.hpp:191
@ fits_data_decompression_err
FITS: error uncompressing image.
Definition error_t.hpp:274
@ fits_col_not_unique
FITS: more than 1 column name matches template.
Definition error_t.hpp:213
@ cuda_system_driver_mismatch
CUDA: system has unsupported display driver / cuda driver combination.
Definition error_t.hpp:395
@ cuda_mixed_device_execution
CUDA: device emulation mode and device execution mode cannot be mixed.
Definition error_t.hpp:313
@ cuda_stream_capture_implicit
CUDA: operation would make the legacy stream depend on a capturing blocking stream.
Definition error_t.hpp:411
@ fits_bad_group_detach
FITS: bad group detach.
Definition error_t.hpp:250
@ cuda_cdp_not_supported
CUDA: is using CUDA Dynamic Parallelism, but the current configuration, like MPS, does not support it...
Definition error_t.hpp:403
@ enosys
Function not implemented (ENOSYS).
Definition error_t.hpp:121
@ fits_identical_pointers
FITS: identical pointers.
Definition error_t.hpp:248
@ fits_approx_wcs_key
FITS: approximate wcs keyword values were returned.
Definition error_t.hpp:287
@ cuda_unsupported_ptx_version
CUDA: the provided PTX was compiled with an unsupported toolchain.
Definition error_t.hpp:357
@ enametoolong
File name too long (ENAMETOOLONG).
Definition error_t.hpp:103
@ fits_bad_bitpix
FITS: illegal BITPIX keyword value.
Definition error_t.hpp:187
@ cuda_stub_library
CUDA: CUDA driver is a stub library.
Definition error_t.hpp:316
@ filererr
An error occurred while reading from a file.
Definition error_t.hpp:42
@ fits_bad_pcount
FITS: illegal PCOUNT keyword value.
Definition error_t.hpp:190
@ edom
Numerical argument out of domain (EDOM).
Definition error_t.hpp:86
@ emfile
Too many open files (EMFILE).
Definition error_t.hpp:100
@ cuda_initialization_error
CUDA: initialization error.
Definition error_t.hpp:291
@ fits_bad_tform_dtype
FITS: unrecognizable TFORM data type code.
Definition error_t.hpp:221
@ cuda_graph_exec_update_failure
CUDA: the graph update was not performed because it included changes which violated constraints speci...
Definition error_t.hpp:415
@ cuda_invalid_surface
CUDA: invalid surface reference.
Definition error_t.hpp:319
@ cuda_file_not_found
CUDA: file not found.
Definition error_t.hpp:363
@ fits_shared_tabfull
FITS: no more free shared memory handles.
Definition error_t.hpp:170
@ cuda_invalid_device
CUDA: invalid device ordinal.
Definition error_t.hpp:334
@ fits_no_tfields
FITS: couldn't find TFIELDS keyword.
Definition error_t.hpp:206
@ fits_not_vari_len
FITS: this is not a variable length column.
Definition error_t.hpp:235
@ fits_no_gcount
FITS: couldn't find GCOUNT keyword.
Definition error_t.hpp:205
@ cuda_symbol_not_found
CUDA: named symbol not found.
Definition error_t.hpp:370
@ eexist
File exists (EEXIST).
Definition error_t.hpp:87
@ dirnotfound
The directory was not found.
Definition error_t.hpp:46
@ fits_bad_naxis
FITS: illegal NAXIS keyword value.
Definition error_t.hpp:188
@ fits_header_not_empty
FITS: header already contains keywords.
Definition error_t.hpp:177
@ cuda_timeout
CUDA: wait operation timed out.
Definition error_t.hpp:414
@ fits_too_many_drivers
FITS: tried to register too many IO drivers.
Definition error_t.hpp:163
@ exdev
Invalid cross-device link (EXDEV).
Definition error_t.hpp:146
@ cuda_mps_max_clients_reached
CUDA: the hardware resources required to create MPS client have been exhausted.
Definition error_t.hpp:400
@ fits_bad_wcs_val
FITS: bad celestial coordinate or pixel value.
Definition error_t.hpp:283
@ cuda_external_device
CUDA: an async error has occured in external entity outside of CUDA.
Definition error_t.hpp:416
@ cuda_software_validity_not_established
CUDA: integrity checks failed.
Definition error_t.hpp:336
@ std_ios_base_failure
An ios::base::failure exception was thrown.
Definition error_t.hpp:66
@ enodata
No data available (ENODATA).
Definition error_t.hpp:109
@ emsgsize
Message too long (EMSGSIZE).
Definition error_t.hpp:102
@ cuda_context_is_destroyed
CUDA: context is destroyed.
Definition error_t.hpp:379
@ cuda_no_device
CUDA: no CUDA-capable device is detected.
Definition error_t.hpp:333
@ cuda_stream_capture_wrong_thread
CUDA: attempt to terminate a thread-local capture sequence from another thread.
Definition error_t.hpp:413
@ fits_parse_bad_col
FITS: bad data encounter while parsing column.
Definition error_t.hpp:280
@ fits_ngp_empty_curline
FITS: line read seems to be empty (used.
Definition error_t.hpp:254
@ fits_no_xtension
FITS: HDU doesn't start with XTENSION keyword.
Definition error_t.hpp:201
@ fits_not_pos_int
FITS: keyword value is not a positive integer.
Definition error_t.hpp:185
@ fits_neg_file_pos
FITS: tried to move to negative byte location in file.
Definition error_t.hpp:226
@ eisdir
Is a directory (EISDIR).
Definition error_t.hpp:98
@ cuda_stream_detached
CUDA: API call not permitted since the green context associated with the stream has been destroyed.
Definition error_t.hpp:421
@ cuda_invalid_texture
CUDA: invalid texture reference.
Definition error_t.hpp:303
@ procerr
An error occurred while starting a process.
Definition error_t.hpp:48
@ fits_parse_no_output
FITS: data parser failed not sent an out column.
Definition error_t.hpp:279
@ fits_bad_col_num
FITS: column number < 1 or > tfields.
Definition error_t.hpp:225
@ cuda_missing_configuration
CUDA: global function call is not configured.
Definition error_t.hpp:325
@ fits_bad_row_num
FITS: illegal starting row number in table.
Definition error_t.hpp:228
@ fileempty
The file is empty.
Definition error_t.hpp:45
@ fits_shared_noresize
FITS: shared memory block cannot be resized at the moment.
Definition error_t.hpp:176
@ eoverflow
Value too large for defined data type (EOVERFLOW).
Definition error_t.hpp:131
@ cuda_invalid_kernel_image
CUDA: device kernel image is invalid.
Definition error_t.hpp:338
@ enotsock
Socket operation on non-socket (ENOTSOCK).
Definition error_t.hpp:126
@ eafnosupport
Address family not supported by protocol (EAFNOSUPPORT).
Definition error_t.hpp:74
@ cuda_e_c_c_uncorrectable
CUDA: uncorrectable ECC error encountered.
Definition error_t.hpp:349
@ fits_shared_notinit
FITS: shared memory driver is not initialized.
Definition error_t.hpp:171
@ fits_unknown_ext
FITS: unrecognizable FITS extension type.
Definition error_t.hpp:215
@ cuda_lossy_query
CUDA: attempted introspection would be semantically lossy.
Definition error_t.hpp:369
@ std_logic_error
A logic error exception was thrown.
Definition error_t.hpp:54
@ cuda_invalid_channel_descriptor
CUDA: invalid channel descriptor.
Definition error_t.hpp:305
@ fits_file_not_created
FITS: could not create the named file.
Definition error_t.hpp:150
@ cuda_already_mapped
CUDA: resource already mapped.
Definition error_t.hpp:343
@ sizeerr
A size was invalid or calculated incorrectly.
Definition error_t.hpp:35
@ dirempty
The directory was empty.
Definition error_t.hpp:47
@ fits_col_too_wide
FITS: column is too wide to fit in table.
Definition error_t.hpp:212
@ enotempty
Directory not empty (ENOTEMPTY).
Definition error_t.hpp:124
@ fits_bad_elem_num
FITS: illegal starting element number in vector.
Definition error_t.hpp:229
@ std_domain_error
A domain error exception was thrown.
Definition error_t.hpp:56
@ exception
An exception was thrown.
Definition error_t.hpp:51
@ cuda_incompatible_driver_context
CUDA: incompatible driver context.
Definition error_t.hpp:324
@ fits_bad_group_id
FITS: bad group id.
Definition error_t.hpp:244
@ cuda_invalid_memcpy_direction
CUDA: invalid copy direction for memcpy.
Definition error_t.hpp:306
@ eownerdead
Owner died (EOWNERDEAD).
Definition error_t.hpp:132
@ eintr
Interrupted system call (EINTR).
Definition error_t.hpp:94
@ fits_zero_scale
FITS: illegal BSCALE or TSCALn keyword = 0.
Definition error_t.hpp:238
@ cuda_stream_capture_unmatched
CUDA: capture was not ended in the same stream as it began.
Definition error_t.hpp:408
@ fits_not_image
FITS: the CHDU is not an IMAGE extension.
Definition error_t.hpp:209
@ cuda_launch_timeout
CUDA: the launch timed out and was terminated.
Definition error_t.hpp:374
@ enodev
No such device (ENODEV).
Definition error_t.hpp:110
@ fits_bad_btable_format
FITS: Binary table column has wrong format.
Definition error_t.hpp:233
@ fits_not_table
FITS: the CHDU is not a table.
Definition error_t.hpp:211
@ fits_null_input_ptr
FITS: NULL input pointer to routine.
Definition error_t.hpp:159
@ cuda_invalid_cluster_size
CUDA: a kernel launch error has occurred due to cluster misconfiguration.
Definition error_t.hpp:417
@ esrch
No such process (ESRCH).
Definition error_t.hpp:141
@ cuda_host_memory_already_registered
CUDA: part or all of the requested memory range is already mapped.
Definition error_t.hpp:382
@ std_runtime_error
A runtime error exception was thrown.
Definition error_t.hpp:62
@ einval
Invalid argument (EINVAL).
Definition error_t.hpp:95
@ econnrefused
Connection refused (ECONNREFUSED).
Definition error_t.hpp:83
@ lapackerr
An error was returned by Lapack.
Definition error_t.hpp:69
@ std_bad_alloc
A bad allocation exception was thrown.
Definition error_t.hpp:53
@ eacces
Permission denied (EACCES).
Definition error_t.hpp:71
@ fits_angle_too_big
FITS: celestial angle too large for projection.
Definition error_t.hpp:282
@ etime
Timer expired (ETIME).
Definition error_t.hpp:142
@ erange
Numerical result out of range (ERANGE).
Definition error_t.hpp:138
@ fits_bad_keychar
FITS: illegal character in keyword name or card.
Definition error_t.hpp:183
@ erofs
Read-only file system (EROFS).
Definition error_t.hpp:139
@ fits_neg_axis
FITS: illegal axis length < 1.
Definition error_t.hpp:239
@ fits_range_parse_error
FITS: parse error in range list.
Definition error_t.hpp:167
@ cuda_stream_capture_invalidated
CUDA: operation failed due to a previous error during capture.
Definition error_t.hpp:406
@ fits_no_quote
FITS: string is missing the closing quote.
Definition error_t.hpp:181
@ fits_key_out_bounds
FITS: keyword record number is out of bounds.
Definition error_t.hpp:179
@ cuda_synchronization_error
CUDA: incorrect use of __syncthreads().
Definition error_t.hpp:310
@ cuda_no_kernel_image_for_device
CUDA: no kernel image is available for execution on the device.
Definition error_t.hpp:344
@ fits_no_wcs_key
FITS: celestial coordinate keywords not found.
Definition error_t.hpp:286
@ fits_ngp_token_not_expect
FITS: token not expected here.
Definition error_t.hpp:260
@ fits_driver_init_failed
FITS: driver initialization failed.
Definition error_t.hpp:164
@ std_bad_optional_access
A bad optional access exception was thrown.
Definition error_t.hpp:60
@ fits_bad_decim
FITS: bad number of decimal places specified.
Definition error_t.hpp:271
@ cuda_stream_capture_unsupported
CUDA: operation not permitted when stream is capturing.
Definition error_t.hpp:405
@ cuda_peer_access_already_enabled
CUDA: peer access is already enabled.
Definition error_t.hpp:376
@ cuda_launch_incompatible_texturing
CUDA: launch uses incompatible texturing mode.
Definition error_t.hpp:375
@ fits_read_error
FITS: error reading from FITS file.
Definition error_t.hpp:153
@ cuda_invalid_device_pointer
CUDA: invalid device pointer.
Definition error_t.hpp:302
@ cuda_invalid_value
CUDA: invalid argument.
Definition error_t.hpp:289
@ parseerr
A parsing error occurred.
Definition error_t.hpp:38
@ std_range_error
A range error exception was thrown.
Definition error_t.hpp:63
@ eaddrnotavail
Cannot assign requested address (EADDRNOTAVAIL).
Definition error_t.hpp:73
@ cuda_graph_recapture_failure
CUDA: recapturing to the source graph failed and had to be terminated.
Definition error_t.hpp:422
@ cuda_launch_file_scoped_tex
CUDA: launch failed because kernel uses unsupported, file-scoped textures (texture objects are suppor...
Definition error_t.hpp:328
@ cuda_launch_file_scoped_surf
CUDA: launch failed because kernel uses unsupported, file-scoped surfaces (surface objects are suppor...
Definition error_t.hpp:329
@ fits_neg_bytes
FITS: tried to read or write negative number of bytes.
Definition error_t.hpp:227
@ cuda_not_mapped_as_pointer
CUDA: resource not mapped as pointer.
Definition error_t.hpp:348
@ cuda_sync_depth_exceeded
CUDA: cudaDeviceSynchronize failed because caller's grid depth exceeds cudaLimitDevRuntimeSyncDepth.
Definition error_t.hpp:330
@ ecanceled
Operation canceled (ECANCELED).
Definition error_t.hpp:80
@ fits_bad_dimen
FITS: illegal number of dimensions in array.
Definition error_t.hpp:236
@ cuda_too_many_peers
CUDA: peer mapping resources exhausted.
Definition error_t.hpp:381
@ ehostunreach
No route to host (EHOSTUNREACH).
Definition error_t.hpp:90
@ fits_bad_tfields
FITS: illegal TFIELDS keyword value.
Definition error_t.hpp:192
@ eprototype
Protocol wrong type for socket (EPROTOTYPE).
Definition error_t.hpp:137
@ fits_data_compression_err
FITS: error compressing image.
Definition error_t.hpp:273
@ cuda_startup_failure
CUDA: startup failure in cuda runtime.
Definition error_t.hpp:337
@ cuda_nvlink_uncorrectable
CUDA: uncorrectable NVLink error detected during the execution.
Definition error_t.hpp:355
@ enoent
No such file or directory (ENOENT).
Definition error_t.hpp:111
@ fits_ngp_bad_arg
FITS: bad arguments passed.
Definition error_t.hpp:259
@ cuda_tensor_memory_leak
CUDA: tensor memory not completely freed.
Definition error_t.hpp:391
@ ealready
Operation already in progress (EALREADY).
Definition error_t.hpp:76
@ enotdir
Not a directory (ENOTDIR).
Definition error_t.hpp:123
@ cuda_call_requires_newer_driver
CUDA: API call is not supported in the installed CUDA driver.
Definition error_t.hpp:318
@ cuda_launch_failure
CUDA: unspecified launch failure.
Definition error_t.hpp:389
@ enoprotoopt
Protocol not available (ENOPROTOOPT).
Definition error_t.hpp:117
@ cuda_invalid_device_function
CUDA: invalid device function.
Definition error_t.hpp:332
@ enolink
Link has been severed (ENOLINK).
Definition error_t.hpp:114
@ fits_bad_tdim
FITS: illegal TDIMn keyword value.
Definition error_t.hpp:222
@ cuda_api_failure_base
CUDA: api failure base.
Definition error_t.hpp:424
@ __sentinel
do not use
Definition error_t.hpp:425
@ filecerr
An error occurred while closing a file.
Definition error_t.hpp:43
@ eio
Input/output error (EIO).
Definition error_t.hpp:96
@ cuda_contained
CUDA: Invalid access of peer GPU memory over nvlink or a hardware error.
Definition error_t.hpp:361
@ cuda_stream_capture_isolation
CUDA: dependency created on uncaptured work in another stream.
Definition error_t.hpp:410
@ cuda_stream_capture_merge
CUDA: operation would result in a merge of separate capture sequences.
Definition error_t.hpp:407
@ cuda_memory_allocation
CUDA: out of memory.
Definition error_t.hpp:290
@ cuda_invalid_pc
CUDA: invalid program counter.
Definition error_t.hpp:388
@ fits_shared_ipcerr
FITS: IPC error returned by a system call.
Definition error_t.hpp:172
@ econnreset
Connection reset by peer (ECONNRESET).
Definition error_t.hpp:84
@ ebadmsg
Bad message (EBADMSG).
Definition error_t.hpp:78
@ fits_parse_bad_type
FITS: expression did not evaluate to desired type.
Definition error_t.hpp:277
@ cuda_set_on_active_process
CUDA: cannot set while device is active in this process.
Definition error_t.hpp:378
@ ewouldblock
Resource temporarily unavailable (EWOULDBLOCK).
Definition error_t.hpp:145
@ cuda_invalid_pitch_value
CUDA: invalid pitch argument.
Definition error_t.hpp:299
@ fits_bad_hdu_num
FITS: HDU number < 1.
Definition error_t.hpp:224
@ fits_no_matching_driver
FITS: matching driver is not registered.
Definition error_t.hpp:165
@ allocerr
An error occurred during memory allocation.
Definition error_t.hpp:36
@ fits_too_many_hdus_tracked
FITS: too many hdus tracked.
Definition error_t.hpp:245
@ cuda_device_uninitialized
CUDA: invalid device context.
Definition error_t.hpp:339
@ emlink
Too many links (EMLINK).
Definition error_t.hpp:101
@ enobufs
No buffer space available (ENOBUFS).
Definition error_t.hpp:108
@ fits_bad_c2i
FITS: bad formatted string to int conversion.
Definition error_t.hpp:267
@ fits_shared_nulptr
FITS: null pointer passed as an argument.
Definition error_t.hpp:169
@ fits_bad_c2d
FITS: bad formatted string to double conversion.
Definition error_t.hpp:269
@ cuda_invalid_configuration
CUDA: invalid configuration argument.
Definition error_t.hpp:297
@ cuda_assert
CUDA: device-side assert triggered.
Definition error_t.hpp:380
@ fits_bad_data_fill
FITS: Illegal data fill bytes (not zero or blank).
Definition error_t.hpp:219
@ fits_bad_naxes
FITS: illegal NAXISn keyword value.
Definition error_t.hpp:189
@ cuda_already_acquired
CUDA: resource already acquired.
Definition error_t.hpp:345
@ cuda_compat_not_supported_on_device
CUDA: forward compatibility was attempted on non supported HW.
Definition error_t.hpp:396
@ fits_bad_option
FITS: bad option.
Definition error_t.hpp:247
@ fits_ngp_no_memory
FITS: malloc failed.
Definition error_t.hpp:251
@ fits_too_many_files
FITS: tried to open too many FITS files at once.
Definition error_t.hpp:148
@ fits_bad_tform
FITS: illegal TFORM format code.
Definition error_t.hpp:220
@ enxio
No such device or address (ENXIO).
Definition error_t.hpp:129
@ cuda_unmap_buffer_object_failed
CUDA: unmapping of buffer object failed.
Definition error_t.hpp:341
@ enostr
Device not a stream (ENOSTR).
Definition error_t.hpp:120
@ cuda_invalid_host_pointer
CUDA: invalid host pointer.
Definition error_t.hpp:301
@ fits_member_not_found
FITS: member not found.
Definition error_t.hpp:242
@ fits_no_naxis
FITS: Third keyword not NAXIS.
Definition error_t.hpp:199
@ fits_unknown_rec
FITS: unknown record; 1st keyword not SIMPLE or XTENSION.
Definition error_t.hpp:216
@ enotty
Inappropriate ioctl for device (ENOTTY).
Definition error_t.hpp:128
@ cuda_system_not_ready
CUDA: system not yet initialized.
Definition error_t.hpp:394
@ cuda_unsupported_exec_affinity
CUDA: the provided execution affinity is not supported.
Definition error_t.hpp:359
@ fits_ngp_inc_nesting
FITS: too deep include file nesting.
Definition error_t.hpp:256
@ cuda_shared_object_symbol_not_found
CUDA: shared object symbol not found.
Definition error_t.hpp:364
@ fileoerr
An error occurred while opening a file.
Definition error_t.hpp:40
@ fits_neg_width
FITS: negative table row size.
Definition error_t.hpp:193
@ paramnotset
A parameter was not set.
Definition error_t.hpp:32
@ cuda_not_supported
CUDA: operation not supported.
Definition error_t.hpp:393
@ fits_file_not_closed
FITS: could not close the file.
Definition error_t.hpp:154
@ cuda_map_buffer_object_failed
CUDA: mapping of buffer object failed.
Definition error_t.hpp:340
@ eaddrinuse
Address already in use (EADDRINUSE).
Definition error_t.hpp:72
@ timeout
A timeout occurred.
Definition error_t.hpp:49
@ cuda_unsupported_limit
CUDA: limit is not supported on this architecture.
Definition error_t.hpp:350
@ enotrecoverable
State not recoverable (ENOTRECOVERABLE).
Definition error_t.hpp:125
@ cuda_device_not_licensed
CUDA: device doesn't have valid Grid license.
Definition error_t.hpp:335
@ fits_bad_heap_ptr
FITS: invalid BINTABLE heap pointer is out of range.
Definition error_t.hpp:223
@ fits_no_null
FITS: null value has not been defined.
Definition error_t.hpp:234
@ enoexec
Exec format error (ENOEXEC).
Definition error_t.hpp:112
@ fits_not_atable
FITS: the CHDU is not an ASCII table extension.
Definition error_t.hpp:202
@ cuda_duplicate_surface_name
CUDA: duplicate surface looked up by string name.
Definition error_t.hpp:322
@ fits_num_overflow
FITS: overflow during data type conversion.
Definition error_t.hpp:272
@ cuda_unsupported_dev_side_sync
CUDA: the provided PTX contains unsupported call to cudaDeviceSynchronize.
Definition error_t.hpp:360
@ fits_no_tbcol
FITS: couldn't find TBCOLn keyword.
Definition error_t.hpp:207
@ fits_ngp_nul_ptr
FITS: null pointer passed as an argument.
Definition error_t.hpp:253
@ espipe
Illegal seek (ESPIPE).
Definition error_t.hpp:140
@ cuda_memory_value_too_large
CUDA: memory size or pointer value too large to fit in 32 bit.
Definition error_t.hpp:315
@ fits_hdu_already_member
FITS: hdu already member.
Definition error_t.hpp:241
@ fits_shared_badarg
FITS: bad argument in shared memory driver.
Definition error_t.hpp:168
@ cuda_host_memory_not_registered
CUDA: pointer does not correspond to a registered memory region.
Definition error_t.hpp:383
@ cuda_not_mapped_as_array
CUDA: resource not mapped as array.
Definition error_t.hpp:347
@ fits_same_file
FITS: input and output files are the same.
Definition error_t.hpp:147
@ edestaddrreq
Destination address required (EDESTADDRREQ).
Definition error_t.hpp:85
@ fits_ngp_read_err
FITS: read error from file.
Definition error_t.hpp:252
@ fits_readonly_file
FITS: Cannot write to readonly file.
Definition error_t.hpp:156
@ cuda_mps_rpc_failure
CUDA: the remote procedural call between the MPS server and the MPS client failed.
Definition error_t.hpp:398
@ efault
Bad address (EFAULT).
Definition error_t.hpp:88
@ cuda_not_mapped
CUDA: resource not mapped.
Definition error_t.hpp:346
@ fits_bad_order
FITS: required keywords out of order.
Definition error_t.hpp:184
@ cuda_duplicate_texture_name
CUDA: duplicate texture looked up by string name.
Definition error_t.hpp:321
@ fits_bad_header_fill
FITS: Header fill area contains non-blank chars.
Definition error_t.hpp:218
@ invalidconfig
A config setting was invalid.
Definition error_t.hpp:30
@ cuda_profiler_disabled
CUDA: profiler disabled while using external profiling tool.
Definition error_t.hpp:293
@ fits_col_not_found
FITS: column with this name not found in table.
Definition error_t.hpp:195
@ filewerr
An error occurred while writing to a file.
Definition error_t.hpp:41
@ cuda_operating_system
CUDA: OS call failed or operation not supported on this OS.
Definition error_t.hpp:366
@ fits_not_ascii_col
FITS: this is not an ASCII string column.
Definition error_t.hpp:230
@ cuda_invalid_source
CUDA: device kernel image is invalid.
Definition error_t.hpp:362
@ fits_no_bitpix
FITS: Second keyword not BITPIX.
Definition error_t.hpp:198
@ fits_no_tform
FITS: couldn't find TFORMn keyword.
Definition error_t.hpp:208
@ std_out_of_range
An out of range exception was thrown.
Definition error_t.hpp:58
@ cuda_jit_compilation_disabled
CUDA: PTX JIT compilation was disabled.
Definition error_t.hpp:358
@ fits_memory_allocation
FITS: Could not allocate memory.
Definition error_t.hpp:157
@ cuda_mps_server_not_ready
CUDA: MPS server is not ready to accept new MPS client requests.
Definition error_t.hpp:399
@ eloop
Too many levels of symbolic links (ELOOP).
Definition error_t.hpp:99
@ cuda_invalid_filter_setting
CUDA: linear filtering not supported for non-float type.
Definition error_t.hpp:311
@ filesystem
A general filesystem error occurred.
Definition error_t.hpp:39
@ eagain
Resource temporarily unavailable (EAGAIN).
Definition error_t.hpp:75
@ fits_bad_pix_num
FITS: first pixel number greater than last pixel.
Definition error_t.hpp:237
@ fits_shared_again
FITS: resource deadlock would occur.
Definition error_t.hpp:174
@ echild
No child processes (ECHILD).
Definition error_t.hpp:81
@ cuda_mps_client_terminated
CUDA: the MPS client has been terminated by the server.
Definition error_t.hpp:402
@ invalidarg
An argument was invalid.
Definition error_t.hpp:29
@ enetreset
Network dropped connection on reset (ENETRESET).
Definition error_t.hpp:105
@ std_future_error
A future error exception was thrown.
Definition error_t.hpp:59
@ enfile
Too many open files in system (ENFILE).
Definition error_t.hpp:107
@ eproto
Protocol error (EPROTO).
Definition error_t.hpp:135
@ fits_bad_index_key
FITS: illegal indexed keyword name (e.g. 'TFORM1000').
Definition error_t.hpp:182
@ fits_group_not_found
FITS: group not found.
Definition error_t.hpp:243
@ fits_bad_i2c
FITS: bad int to formatted string conversion.
Definition error_t.hpp:261
@ fits_not_logical_col
FITS: this is not a logical data type column.
Definition error_t.hpp:231
@ fits_bad_group_attach
FITS: bad group attach.
Definition error_t.hpp:249
@ fits_bad_floatkey
FITS: can't interpret keyword value as float.
Definition error_t.hpp:265
@ fits_write_error
FITS: error writing to FITS file.
Definition error_t.hpp:151
@ fits_bad_date
FITS: error in date or time conversion.
Definition error_t.hpp:275
@ etimedout
Connection timed out (ETIMEDOUT).
Definition error_t.hpp:143
@ std_filesystem_error
A filesystem error exception was thrown.
Definition error_t.hpp:61
@ cuda_profiler_not_initialized
CUDA: profiler not initialized: call cudaProfilerInitialize().
Definition error_t.hpp:294
@ fits_bad_fileptr
FITS: invalid fitsfile pointer.
Definition error_t.hpp:158
@ fits_bad_tbcol
FITS: TBCOLn keyword value < 0 or > rowlength.
Definition error_t.hpp:210
@ fits_not_group_table
FITS: Grouping function error.
Definition error_t.hpp:240
@ cuda_mps_max_connections_reached
CUDA: the hardware resources required to support device connections have been exhausted.
Definition error_t.hpp:401
@ std_format_error
A format library exception was thrown.
Definition error_t.hpp:67
@ cuda_invalid_norm_setting
CUDA: read as normalized float not supported for data type.
Definition error_t.hpp:312
@ cuda_devices_unavailable
CUDA: CUDA-capable device(s) is/are busy or unavailable.
Definition error_t.hpp:323
@ cuda_hardware_stack_error
CUDA: hardware stack error.
Definition error_t.hpp:384
@ std_length_error
A length error exception was thrown.
Definition error_t.hpp:57
@ fits_shared_nofile
FITS: attempt to open/create lock file failed.
Definition error_t.hpp:175
@ notfound
An item was not found.
Definition error_t.hpp:34
@ cuda_texture_fetch_failed
CUDA: fetch from texture failed.
Definition error_t.hpp:308
@ cuda_shared_object_init_failed
CUDA: shared object initialization failed.
Definition error_t.hpp:365
@ ebusy
Device or resource busy (EBUSY).
Definition error_t.hpp:79
@ cuda_version_translation
CUDA: Driver is newer than runtime and returned parameters the runtime cannot process.
Definition error_t.hpp:298
@ cuda_invalid_symbol
CUDA: invalid device symbol.
Definition error_t.hpp:300
@ efbig
File too large (EFBIG).
Definition error_t.hpp:89
@ std_overflow_error
An overflow exception was thrown.
Definition error_t.hpp:64
@ enomsg
No message of desired type (ENOMSG).
Definition error_t.hpp:116
@ std_invalid_argument
An invalid argument exception was thrown.
Definition error_t.hpp:55
@ fits_bad_wcs_proj
FITS: unsupported type of celestial projection.
Definition error_t.hpp:285
@ cuda_peer_access_not_enabled
CUDA: peer access has not been enabled.
Definition error_t.hpp:377
@ fits_bad_datatype
FITS: illegal datatype code value.
Definition error_t.hpp:270
@ fits_no_simple
FITS: Primary array doesn't start with SIMPLE.
Definition error_t.hpp:197
@ fits_ngp_eof
FITS: end of file encountered and not expected.
Definition error_t.hpp:258
@ fits_bad_row_width
FITS: sum of column widths not = NAXIS1.
Definition error_t.hpp:214
@ error
A general error has occurred.
Definition error_t.hpp:28
@ fits_bad_doublekey
FITS: can't interpret keyword value as double.
Definition error_t.hpp:266
@ fits_shared_nomem
FITS: no memory in shared memory driver.
Definition error_t.hpp:173
@ cuda_misaligned_address
CUDA: misaligned address.
Definition error_t.hpp:386
@ cuda_invalid_texture_binding
CUDA: texture is not bound to a pointer.
Definition error_t.hpp:304
@ fits_url_parse_error
FITS: failed to parse input file URL.
Definition error_t.hpp:166
@ cuda_launch_pending_count_exceeded
CUDA: launch failed because launch would exceed cudaLimitDevRuntimePendingLaunchCount.
Definition error_t.hpp:331
@ enetdown
Network is down (ENETDOWN).
Definition error_t.hpp:104
@ fits_no_pcount
FITS: couldn't find PCOUNT keyword.
Definition error_t.hpp:204
@ enospc
No space left on device (ENOSPC).
Definition error_t.hpp:118
@ liberr
An error was returned by a library.
Definition error_t.hpp:50
@ fits_bad_intkey
FITS: can't interpret keyword value as integer.
Definition error_t.hpp:263
@ cuda_not_yet_implemented
CUDA: feature not yet implemented.
Definition error_t.hpp:314
@ fits_wcs_error
FITS: error in celestial coordinate calculation.
Definition error_t.hpp:284
@ enolck
No locks available (ENOLCK).
Definition error_t.hpp:113
@ cuda_texture_not_bound
CUDA: cannot fetch from a texture that is not bound.
Definition error_t.hpp:309
@ econnaborted
Software caused connection abort (ECONNABORTED).
Definition error_t.hpp:82
@ cuda_device_already_in_use
CUDA: exclusive-thread device already in use by a different thread.
Definition error_t.hpp:351
@ cuda_success
CUDA: no error.
Definition error_t.hpp:288
@ cuda_not_permitted
CUDA: operation not permitted.
Definition error_t.hpp:392
@ fits_parse_bad_output
FITS: Output file not of proper type.
Definition error_t.hpp:281
@ eidrm
Identifier removed (EIDRM).
Definition error_t.hpp:91
@ fits_hdu_already_tracked
FITS: hdu already tracked.
Definition error_t.hpp:246
@ cuda_function_not_loaded
CUDA: the function handle is not loaded when calling an API that requires a loaded function.
Definition error_t.hpp:418
@ epipe
Broken pipe (EPIPE).
Definition error_t.hpp:134
@ fits_ngp_err_fopen
FITS: fopen() failed, cannot open template file.
Definition error_t.hpp:257
@ cuda_invalid_resource_configuration
CUDA: one or more resources are insufficient or non-applicable for the operation.
Definition error_t.hpp:420
@ cuda_invalid_ptx
CUDA: a PTX JIT compilation failed.
Definition error_t.hpp:353
@ cuda_unknown
CUDA: unknown error.
Definition error_t.hpp:423
@ fits_parse_lrg_vector
FITS: vector result too large to return in array.
Definition error_t.hpp:278
@ cuda_invalid_resource_handle
CUDA: invalid resource handle.
Definition error_t.hpp:367
@ einprogress
Operation now in progress (EINPROGRESS).
Definition error_t.hpp:93
@ cuda_address_of_constant
CUDA: invalid address of constant.
Definition error_t.hpp:307
@ cuda_prior_launch_failure
CUDA: unspecified launch failure in prior launch.
Definition error_t.hpp:326
@ cuda_launch_max_depth_exceeded
CUDA: launch would exceed maximum depth of nested launches.
Definition error_t.hpp:327
@ cuda_cooperative_launch_too_large
CUDA: too many blocks in cooperative launch.
Definition error_t.hpp:390
@ fits_file_not_opened
FITS: could not open the named file.
Definition error_t.hpp:149
@ cuda_insufficient_driver
CUDA: CUDA driver version is insufficient for CUDA runtime version.
Definition error_t.hpp:317
@ fits_bad_nettimeout
FITS: bad value for file download timeout setting.
Definition error_t.hpp:161
@ cuda_launch_out_of_resources
CUDA: too many resources requested for launch.
Definition error_t.hpp:373
@ ebadf
Bad file descriptor (EBADF).
Definition error_t.hpp:77
@ gnuploterr
An error was returned by gnuplot.
Definition error_t.hpp:68
@ enomem
Cannot allocate memory (ENOMEM).
Definition error_t.hpp:115
@ fits_neg_rows
FITS: negative number of rows in table.
Definition error_t.hpp:194
@ fits_bad_c2f
FITS: bad formatted string to float conversion.
Definition error_t.hpp:268
@ cuda_invalid_address_space
CUDA: operation not supported on global/shared address space.
Definition error_t.hpp:387
@ fits_no_end
FITS: couldn't find END keyword.
Definition error_t.hpp:186
@ fits_not_btable
FITS: the CHDU is not a binary table extension.
Definition error_t.hpp:203
@ cuda_profiler_already_started
CUDA: profiler already started.
Definition error_t.hpp:295
@ eisconn
Transport endpoint is already connected (EISCONN).
Definition error_t.hpp:97
@ fits_bad_f2c
FITS: bad float to formatted string conversion.
Definition error_t.hpp:262
@ freeerr
An error occurred during memory de-allocation.
Definition error_t.hpp:37
@ cuda_captured_event
CUDA: operation not permitted on an event last recorded in a capturing stream.
Definition error_t.hpp:412
@ cuda_array_is_mapped
CUDA: array is mapped.
Definition error_t.hpp:342
@ fits_bad_logicalkey
FITS: can't interpret keyword value as logical.
Definition error_t.hpp:264
@ fits_seek_error
FITS: error seeking position in file.
Definition error_t.hpp:160
@ cuda_stream_capture_unjoined
CUDA: capturing stream has unjoined work.
Definition error_t.hpp:409
@ std_underflow_error
An underflow exception was thrown.
Definition error_t.hpp:65
@ cuda_invalid_graphics_context
CUDA: invalid OpenGL or DirectX context.
Definition error_t.hpp:354
@ cuda_jit_compiler_not_found
CUDA: PTX JIT compiler library not found.
Definition error_t.hpp:356
@ envnotset
A environment variable was not set.
Definition error_t.hpp:33
@ fits_bad_url_prefix
FITS: invalid URL prefix on file name.
Definition error_t.hpp:162
@ cuda_invalid_resource_type
CUDA: one or more resources passed in are not valid resource types for the operation.
Definition error_t.hpp:419
static constexpr error_t fits_status2error_t(const int &err)
Convert a FITS status code to error_t.
Definition error_t.hpp:2219
The mxlib c++ namespace.
Definition mxlib.hpp:37