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_invalid_pitch_value, ///< CUDA: invalid pitch argument
299 cuda_invalid_symbol, ///< CUDA: invalid device symbol
300 cuda_invalid_host_pointer, ///< CUDA: invalid host pointer
301 cuda_invalid_device_pointer, ///< CUDA: invalid device pointer
302 cuda_invalid_texture, ///< CUDA: invalid texture reference
303 cuda_invalid_texture_binding, ///< CUDA: texture is not bound to a pointer
304 cuda_invalid_channel_descriptor, ///< CUDA: invalid channel descriptor
305 cuda_invalid_memcpy_direction, ///< CUDA: invalid copy direction for memcpy
306 cuda_address_of_constant, ///< CUDA: invalid address of constant
307 cuda_texture_fetch_failed, ///< CUDA: fetch from texture failed
308 cuda_texture_not_bound, ///< CUDA: cannot fetch from a texture that is not bound
309 cuda_synchronization_error, ///< CUDA: incorrect use of __syncthreads()
310 cuda_invalid_filter_setting, ///< CUDA: linear filtering not supported for non-float type
311 cuda_invalid_norm_setting, ///< CUDA: read as normalized float not supported for 32-bit non float type
312 cuda_mixed_device_execution, ///< CUDA: device emulation mode and device execution mode cannot be mixed
313 cuda_not_yet_implemented, ///< CUDA: feature not yet implemented
314 cuda_memory_value_too_large, ///< CUDA: memory size or pointer value too large to fit in 32 bit
315 cuda_stub_library, ///< CUDA: CUDA driver is a stub library
316 cuda_insufficient_driver, ///< CUDA: CUDA driver version is insufficient for CUDA runtime version
317 cuda_call_requires_newer_driver, ///< CUDA: API call is not supported in the installed CUDA driver
318 cuda_invalid_surface, ///< CUDA: invalid surface reference
319 cuda_duplicate_variable_name, ///< CUDA: duplicate global variable looked up by string name
320 cuda_duplicate_texture_name, ///< CUDA: duplicate texture looked up by string name
321 cuda_duplicate_surface_name, ///< CUDA: duplicate surface looked up by string name
322 cuda_devices_unavailable, ///< CUDA: CUDA-capable device(s) is/are busy or unavailable
323 cuda_incompatible_driver_context, ///< CUDA: incompatible driver context
324 cuda_missing_configuration, ///< CUDA: __global__ function call is not configured
325 cuda_prior_launch_failure, ///< CUDA: unspecified launch failure in prior launch
326 cuda_launch_max_depth_exceeded, ///< CUDA: launch would exceed maximum depth of nested launches
327 cuda_launch_file_scoped_tex, ///< CUDA: launch failed because kernel uses unsupported, file-scoped textures (texture objects are supported)
328 cuda_launch_file_scoped_surf, ///< CUDA: launch failed because kernel uses unsupported, file-scoped surfaces (surface objects are supported)
329 cuda_sync_depth_exceeded, ///< CUDA: cudaDeviceSynchronize failed because caller's grid depth exceeds cudaLimitDevRuntimeSyncDepth
330 cuda_launch_pending_count_exceeded, ///< CUDA: launch failed because launch would exceed cudaLimitDevRuntimePendingLaunchCount
331 cuda_invalid_device_function, ///< CUDA: invalid device function
332 cuda_no_device, ///< CUDA: no CUDA-capable device is detected
333 cuda_invalid_device, ///< CUDA: invalid device ordinal
334 cuda_device_not_licensed, ///< CUDA: device doesn't have valid Grid license
335 cuda_software_validity_not_established, ///< CUDA: integrity checks failed
336 cuda_startup_failure, ///< CUDA: startup failure in cuda runtime
337 cuda_invalid_kernel_image, ///< CUDA: device kernel image is invalid
338 cuda_device_uninitialized, ///< CUDA: invalid device context
339 cuda_map_buffer_object_failed, ///< CUDA: mapping of buffer object failed
340 cuda_unmap_buffer_object_failed, ///< CUDA: unmapping of buffer object failed
341 cuda_array_is_mapped, ///< CUDA: array is mapped
342 cuda_already_mapped, ///< CUDA: resource already mapped
343 cuda_no_kernel_image_for_device, ///< CUDA: no kernel image is available for execution on the device
344 cuda_already_acquired, ///< CUDA: resource already acquired
345 cuda_not_mapped, ///< CUDA: resource not mapped
346 cuda_not_mapped_as_array, ///< CUDA: resource not mapped as array
347 cuda_not_mapped_as_pointer, ///< CUDA: resource not mapped as pointer
348 cuda_e_c_c_uncorrectable, ///< CUDA: uncorrectable ECC error encountered
349 cuda_unsupported_limit, ///< CUDA: limit is not supported on this architecture
350 cuda_device_already_in_use, ///< CUDA: exclusive-thread device already in use by a different thread
351 cuda_peer_access_unsupported, ///< CUDA: peer access is not supported between these two devices
352 cuda_invalid_ptx, ///< CUDA: a PTX JIT compilation failed
353 cuda_invalid_graphics_context, ///< CUDA: invalid OpenGL or DirectX context
354 cuda_nvlink_uncorrectable, ///< CUDA: uncorrectable NVLink error detected during the execution
355 cuda_jit_compiler_not_found, ///< CUDA: PTX JIT compiler library not found
356 cuda_unsupported_ptx_version, ///< CUDA: the provided PTX was compiled with an unsupported toolchain.
357 cuda_jit_compilation_disabled, ///< CUDA: PTX JIT compilation was disabled
358 cuda_unsupported_exec_affinity, ///< CUDA: the provided execution affinity is not supported
359 cuda_invalid_source, ///< CUDA: device kernel image is invalid
360 cuda_file_not_found, ///< CUDA: file not found
361 cuda_shared_object_symbol_not_found, ///< CUDA: shared object symbol not found
362 cuda_shared_object_init_failed, ///< CUDA: shared object initialization failed
363 cuda_operating_system, ///< CUDA: OS call failed or operation not supported on this OS
364 cuda_invalid_resource_handle, ///< CUDA: invalid resource handle
365 cuda_illegal_state, ///< CUDA: the operation cannot be performed in the present state
366 cuda_symbol_not_found, ///< CUDA: named symbol not found
367 cuda_not_ready, ///< CUDA: device not ready
368 cuda_illegal_address, ///< CUDA: an illegal memory access was encountered
369 cuda_launch_out_of_resources, ///< CUDA: too many resources requested for launch
370 cuda_launch_timeout, ///< CUDA: the launch timed out and was terminated
371 cuda_launch_incompatible_texturing, ///< CUDA: launch uses incompatible texturing mode
372 cuda_peer_access_already_enabled, ///< CUDA: peer access is already enabled
373 cuda_peer_access_not_enabled, ///< CUDA: peer access has not been enabled
374 cuda_set_on_active_process, ///< CUDA: cannot set while device is active in this process
375 cuda_context_is_destroyed, ///< CUDA: context is destroyed
376 cuda_assert, ///< CUDA: device-side assert triggered
377 cuda_too_many_peers, ///< CUDA: peer mapping resources exhausted
378 cuda_host_memory_already_registered, ///< CUDA: part or all of the requested memory range is already mapped
379 cuda_host_memory_not_registered, ///< CUDA: pointer does not correspond to a registered memory region
380 cuda_hardware_stack_error, ///< CUDA: hardware stack error
381 cuda_illegal_instruction, ///< CUDA: an illegal instruction was encountered
382 cuda_misaligned_address, ///< CUDA: misaligned address
383 cuda_invalid_address_space, ///< CUDA: operation not supported on global/shared address space
384 cuda_invalid_pc, ///< CUDA: invalid program counter
385 cuda_launch_failure, ///< CUDA: unspecified launch failure
386 cuda_cooperative_launch_too_large, ///< CUDA: too many blocks in cooperative launch
387 cuda_not_permitted, ///< CUDA: operation not permitted
388 cuda_not_supported, ///< CUDA: operation not supported
389 cuda_system_not_ready, ///< CUDA: system not yet initialized
390 cuda_system_driver_mismatch, ///< CUDA: system has unsupported display driver / cuda driver combination
391 cuda_compat_not_supported_on_device, ///< CUDA: forward compatibility was attempted on non supported HW
392 cuda_mps_connection_failed, ///< CUDA: MPS client failed to connect to the MPS control daemon or the MPS server
393 cuda_mps_rpc_failure, ///< CUDA: the remote procedural call between the MPS server and the MPS client failed
394 cuda_mps_server_not_ready, ///< CUDA: MPS server is not ready to accept new MPS client requests
395 cuda_mps_max_clients_reached, ///< CUDA: the hardware resources required to create MPS client have been exhausted
396 cuda_mps_max_connections_reached, ///< CUDA: the hardware resources required to support device connections have been exhausted
397 cuda_mps_client_terminated, ///< CUDA: the MPS client has been terminated by the server
398 cuda_cdp_not_supported, ///< CUDA: is using CUDA Dynamic Parallelism, but the current configuration, like MPS, does not support it
399 cuda_cdp_version_mismatch, ///< CUDA: unsupported interaction between different versions of CUDA Dynamic Parallelism
400 cuda_stream_capture_unsupported, ///< CUDA: operation not permitted when stream is capturing
401 cuda_stream_capture_invalidated, ///< CUDA: operation failed due to a previous error during capture
402 cuda_stream_capture_merge, ///< CUDA: operation would result in a merge of separate capture sequences
403 cuda_stream_capture_unmatched, ///< CUDA: capture was not ended in the same stream as it began
404 cuda_stream_capture_unjoined, ///< CUDA: capturing stream has unjoined work
405 cuda_stream_capture_isolation, ///< CUDA: dependency created on uncaptured work in another stream
406 cuda_stream_capture_implicit, ///< CUDA: operation would make the legacy stream depend on a capturing blocking stream
407 cuda_captured_event, ///< CUDA: operation not permitted on an event last recorded in a capturing stream
408 cuda_stream_capture_wrong_thread, ///< CUDA: attempt to terminate a thread-local capture sequence from another thread
409 cuda_timeout, ///< CUDA: wait operation timed out
410 cuda_graph_exec_update_failure, ///< CUDA: the graph update was not performed because it included changes which violated constraints specific to instantiated graph update
411 cuda_external_device, ///< CUDA: an async error has occured in external entity outside of CUDA
412 cuda_invalid_cluster_size, ///< CUDA: a kernel launch error has occurred due to cluster misconfiguration
413 cuda_unknown, ///< CUDA: unknown error
414 cuda_api_failure_base, ///< CUDA: api failure base
415 __sentinel ///< do not use
416}; //enum class error_t
417
418/// Convert a \ref error_t code to its name
419/**
420 * \returns the name of the \ref error_t code
421 *
422 * \ingroup error_handling_codes
423 */
424static constexpr const char * errorName( const error_t & errc /**< [in] the error code to convert*/)
425{
426 switch(errc)
427 {
428 case error_t::noerror:
429 return "noerror";
430 case error_t::error:
431 return "error";
433 return "invalidarg";
435 return "invalidconfig";
436 case error_t::notimpl:
437 return "notimpl";
439 return "paramnotset";
441 return "envnotset";
443 return "notfound";
444 case error_t::sizeerr:
445 return "sizeerr";
447 return "allocerr";
448 case error_t::freeerr:
449 return "freeerr";
451 return "parseerr";
453 return "filesystem";
455 return "fileoerr";
457 return "filewerr";
459 return "filererr";
461 return "filecerr";
463 return "filenotfound";
465 return "fileempty";
467 return "dirnotfound";
469 return "dirempty";
470 case error_t::procerr:
471 return "procerr";
472 case error_t::timeout:
473 return "timeout";
474 case error_t::liberr:
475 return "liberr";
477 return "exception";
479 return "std_exception";
481 return "std_bad_alloc";
483 return "std_logic_error";
485 return "std_invalid_argument";
487 return "std_domain_error";
489 return "std_length_error";
491 return "std_out_of_range";
493 return "std_future_error";
495 return "std_bad_optional_access";
497 return "std_filesystem_error";
499 return "std_runtime_error";
501 return "std_range_error";
503 return "std_overflow_error";
505 return "std_underflow_error";
507 return "std_ios_base_failure";
509 return "std_format_error";
511 return "gnuploterr";
513 return "lapackerr";
514 case error_t::e2big:
515 return "e2big";
516 case error_t::eacces:
517 return "eacces";
519 return "eaddrinuse";
521 return "eaddrnotavail";
523 return "eafnosupport";
524 case error_t::eagain:
525 return "eagain";
527 return "ealready";
528 case error_t::ebadf:
529 return "ebadf";
530 case error_t::ebadmsg:
531 return "ebadmsg";
532 case error_t::ebusy:
533 return "ebusy";
535 return "ecanceled";
536 case error_t::echild:
537 return "echild";
539 return "econnaborted";
541 return "econnrefused";
543 return "econnreset";
545 return "edestaddrreq";
546 case error_t::edom:
547 return "edom";
548 case error_t::eexist:
549 return "eexist";
550 case error_t::efault:
551 return "efault";
552 case error_t::efbig:
553 return "efbig";
555 return "ehostunreach";
556 case error_t::eidrm:
557 return "eidrm";
558 case error_t::eilseq:
559 return "eilseq";
561 return "einprogress";
562 case error_t::eintr:
563 return "eintr";
564 case error_t::einval:
565 return "einval";
566 case error_t::eio:
567 return "eio";
568 case error_t::eisconn:
569 return "eisconn";
570 case error_t::eisdir:
571 return "eisdir";
572 case error_t::eloop:
573 return "eloop";
574 case error_t::emfile:
575 return "emfile";
576 case error_t::emlink:
577 return "emlink";
579 return "emsgsize";
581 return "enametoolong";
583 return "enetdown";
585 return "enetreset";
587 return "enetunreach";
588 case error_t::enfile:
589 return "enfile";
590 case error_t::enobufs:
591 return "enobufs";
592 case error_t::enodata:
593 return "enodata";
594 case error_t::enodev:
595 return "enodev";
596 case error_t::enoent:
597 return "enoent";
598 case error_t::enoexec:
599 return "enoexec";
600 case error_t::enolck:
601 return "enolck";
602 case error_t::enolink:
603 return "enolink";
604 case error_t::enomem:
605 return "enomem";
606 case error_t::enomsg:
607 return "enomsg";
609 return "enoprotoopt";
610 case error_t::enospc:
611 return "enospc";
612 case error_t::enosr:
613 return "enosr";
614 case error_t::enostr:
615 return "enostr";
616 case error_t::enosys:
617 return "enosys";
619 return "enotconn";
620 case error_t::enotdir:
621 return "enotdir";
623 return "enotempty";
625 return "enotrecoverable";
627 return "enotsock";
628 case error_t::enotsup:
629 return "enotsup";
630 case error_t::enotty:
631 return "enotty";
632 case error_t::enxio:
633 return "enxio";
635 return "eopnotsupp";
637 return "eoverflow";
639 return "eownerdead";
640 case error_t::eperm:
641 return "eperm";
642 case error_t::epipe:
643 return "epipe";
644 case error_t::eproto:
645 return "eproto";
647 return "eprotonosupport";
649 return "eprototype";
650 case error_t::erange:
651 return "erange";
652 case error_t::erofs:
653 return "erofs";
654 case error_t::espipe:
655 return "espipe";
656 case error_t::esrch:
657 return "esrch";
658 case error_t::etime:
659 return "etime";
661 return "etimedout";
662 case error_t::etxtbsy:
663 return "etxtbsy";
665 return "ewouldblock";
666 case error_t::exdev:
667 return "exdev";
669 return "fits_same_file";
671 return "fits_too_many_files";
673 return "fits_file_not_opened";
675 return "fits_file_not_created";
677 return "fits_write_error";
679 return "fits_end_of_file";
681 return "fits_read_error";
683 return "fits_file_not_closed";
685 return "fits_array_too_big";
687 return "fits_readonly_file";
689 return "fits_memory_allocation";
691 return "fits_bad_fileptr";
693 return "fits_null_input_ptr";
695 return "fits_seek_error";
697 return "fits_bad_nettimeout";
699 return "fits_bad_url_prefix";
701 return "fits_too_many_drivers";
703 return "fits_driver_init_failed";
705 return "fits_no_matching_driver";
707 return "fits_url_parse_error";
709 return "fits_range_parse_error";
711 return "fits_shared_badarg";
713 return "fits_shared_nulptr";
715 return "fits_shared_tabfull";
717 return "fits_shared_notinit";
719 return "fits_shared_ipcerr";
721 return "fits_shared_nomem";
723 return "fits_shared_again";
725 return "fits_shared_nofile";
727 return "fits_shared_noresize";
729 return "fits_header_not_empty";
731 return "fits_key_no_exist";
733 return "fits_key_out_bounds";
735 return "fits_value_undefined";
737 return "fits_no_quote";
739 return "fits_bad_index_key";
741 return "fits_bad_keychar";
743 return "fits_bad_order";
745 return "fits_not_pos_int";
747 return "fits_no_end";
749 return "fits_bad_bitpix";
751 return "fits_bad_naxis";
753 return "fits_bad_naxes";
755 return "fits_bad_pcount";
757 return "fits_bad_gcount";
759 return "fits_bad_tfields";
761 return "fits_neg_width";
763 return "fits_neg_rows";
765 return "fits_col_not_found";
767 return "fits_bad_simple";
769 return "fits_no_simple";
771 return "fits_no_bitpix";
773 return "fits_no_naxis";
775 return "fits_no_naxes";
777 return "fits_no_xtension";
779 return "fits_not_atable";
781 return "fits_not_btable";
783 return "fits_no_pcount";
785 return "fits_no_gcount";
787 return "fits_no_tfields";
789 return "fits_no_tbcol";
791 return "fits_no_tform";
793 return "fits_not_image";
795 return "fits_bad_tbcol";
797 return "fits_not_table";
799 return "fits_col_too_wide";
801 return "fits_col_not_unique";
803 return "fits_bad_row_width";
805 return "fits_unknown_ext";
807 return "fits_unknown_rec";
809 return "fits_end_junk";
811 return "fits_bad_header_fill";
813 return "fits_bad_data_fill";
815 return "fits_bad_tform";
817 return "fits_bad_tform_dtype";
819 return "fits_bad_tdim";
821 return "fits_bad_heap_ptr";
823 return "fits_bad_hdu_num";
825 return "fits_bad_col_num";
827 return "fits_neg_file_pos";
829 return "fits_neg_bytes";
831 return "fits_bad_row_num";
833 return "fits_bad_elem_num";
835 return "fits_not_ascii_col";
837 return "fits_not_logical_col";
839 return "fits_bad_atable_format";
841 return "fits_bad_btable_format";
843 return "fits_no_null";
845 return "fits_not_vari_len";
847 return "fits_bad_dimen";
849 return "fits_bad_pix_num";
851 return "fits_zero_scale";
853 return "fits_neg_axis";
855 return "fits_not_group_table";
857 return "fits_hdu_already_member";
859 return "fits_member_not_found";
861 return "fits_group_not_found";
863 return "fits_bad_group_id";
865 return "fits_too_many_hdus_tracked";
867 return "fits_hdu_already_tracked";
869 return "fits_bad_option";
871 return "fits_identical_pointers";
873 return "fits_bad_group_attach";
875 return "fits_bad_group_detach";
877 return "fits_ngp_no_memory";
879 return "fits_ngp_read_err";
881 return "fits_ngp_nul_ptr";
883 return "fits_ngp_empty_curline";
885 return "fits_ngp_unread_queue_full";
887 return "fits_ngp_inc_nesting";
889 return "fits_ngp_err_fopen";
891 return "fits_ngp_eof";
893 return "fits_ngp_bad_arg";
895 return "fits_ngp_token_not_expect";
897 return "fits_bad_i2c";
899 return "fits_bad_f2c";
901 return "fits_bad_intkey";
903 return "fits_bad_logicalkey";
905 return "fits_bad_floatkey";
907 return "fits_bad_doublekey";
909 return "fits_bad_c2i";
911 return "fits_bad_c2f";
913 return "fits_bad_c2d";
915 return "fits_bad_datatype";
917 return "fits_bad_decim";
919 return "fits_num_overflow";
921 return "fits_data_compression_err";
923 return "fits_data_decompression_err";
925 return "fits_bad_date";
927 return "fits_parse_syntax_err";
929 return "fits_parse_bad_type";
931 return "fits_parse_lrg_vector";
933 return "fits_parse_no_output";
935 return "fits_parse_bad_col";
937 return "fits_parse_bad_output";
939 return "fits_angle_too_big";
941 return "fits_bad_wcs_val";
943 return "fits_wcs_error";
945 return "fits_bad_wcs_proj";
947 return "fits_no_wcs_key";
949 return "fits_approx_wcs_key";
951 return "cuda_success";
953 return "cuda_invalid_value";
955 return "cuda_memory_allocation";
957 return "cuda_initialization_error";
959 return "cuda_cudart_unloading";
961 return "cuda_profiler_disabled";
963 return "cuda_profiler_not_initialized";
965 return "cuda_profiler_already_started";
967 return "cuda_profiler_already_stopped";
969 return "cuda_invalid_configuration";
971 return "cuda_invalid_pitch_value";
973 return "cuda_invalid_symbol";
975 return "cuda_invalid_host_pointer";
977 return "cuda_invalid_device_pointer";
979 return "cuda_invalid_texture";
981 return "cuda_invalid_texture_binding";
983 return "cuda_invalid_channel_descriptor";
985 return "cuda_invalid_memcpy_direction";
987 return "cuda_address_of_constant";
989 return "cuda_texture_fetch_failed";
991 return "cuda_texture_not_bound";
993 return "cuda_synchronization_error";
995 return "cuda_invalid_filter_setting";
997 return "cuda_invalid_norm_setting";
999 return "cuda_mixed_device_execution";
1001 return "cuda_not_yet_implemented";
1003 return "cuda_memory_value_too_large";
1005 return "cuda_stub_library";
1007 return "cuda_insufficient_driver";
1009 return "cuda_call_requires_newer_driver";
1011 return "cuda_invalid_surface";
1013 return "cuda_duplicate_variable_name";
1015 return "cuda_duplicate_texture_name";
1017 return "cuda_duplicate_surface_name";
1019 return "cuda_devices_unavailable";
1021 return "cuda_incompatible_driver_context";
1023 return "cuda_missing_configuration";
1025 return "cuda_prior_launch_failure";
1027 return "cuda_launch_max_depth_exceeded";
1029 return "cuda_launch_file_scoped_tex";
1031 return "cuda_launch_file_scoped_surf";
1033 return "cuda_sync_depth_exceeded";
1035 return "cuda_launch_pending_count_exceeded";
1037 return "cuda_invalid_device_function";
1039 return "cuda_no_device";
1041 return "cuda_invalid_device";
1043 return "cuda_device_not_licensed";
1045 return "cuda_software_validity_not_established";
1047 return "cuda_startup_failure";
1049 return "cuda_invalid_kernel_image";
1051 return "cuda_device_uninitialized";
1053 return "cuda_map_buffer_object_failed";
1055 return "cuda_unmap_buffer_object_failed";
1057 return "cuda_array_is_mapped";
1059 return "cuda_already_mapped";
1061 return "cuda_no_kernel_image_for_device";
1063 return "cuda_already_acquired";
1065 return "cuda_not_mapped";
1067 return "cuda_not_mapped_as_array";
1069 return "cuda_not_mapped_as_pointer";
1071 return "cuda_e_c_c_uncorrectable";
1073 return "cuda_unsupported_limit";
1075 return "cuda_device_already_in_use";
1077 return "cuda_peer_access_unsupported";
1079 return "cuda_invalid_ptx";
1081 return "cuda_invalid_graphics_context";
1083 return "cuda_nvlink_uncorrectable";
1085 return "cuda_jit_compiler_not_found";
1087 return "cuda_unsupported_ptx_version";
1089 return "cuda_jit_compilation_disabled";
1091 return "cuda_unsupported_exec_affinity";
1093 return "cuda_invalid_source";
1095 return "cuda_file_not_found";
1097 return "cuda_shared_object_symbol_not_found";
1099 return "cuda_shared_object_init_failed";
1101 return "cuda_operating_system";
1103 return "cuda_invalid_resource_handle";
1105 return "cuda_illegal_state";
1107 return "cuda_symbol_not_found";
1109 return "cuda_not_ready";
1111 return "cuda_illegal_address";
1113 return "cuda_launch_out_of_resources";
1115 return "cuda_launch_timeout";
1117 return "cuda_launch_incompatible_texturing";
1119 return "cuda_peer_access_already_enabled";
1121 return "cuda_peer_access_not_enabled";
1123 return "cuda_set_on_active_process";
1125 return "cuda_context_is_destroyed";
1127 return "cuda_assert";
1129 return "cuda_too_many_peers";
1131 return "cuda_host_memory_already_registered";
1133 return "cuda_host_memory_not_registered";
1135 return "cuda_hardware_stack_error";
1137 return "cuda_illegal_instruction";
1139 return "cuda_misaligned_address";
1141 return "cuda_invalid_address_space";
1143 return "cuda_invalid_pc";
1145 return "cuda_launch_failure";
1147 return "cuda_cooperative_launch_too_large";
1149 return "cuda_not_permitted";
1151 return "cuda_not_supported";
1153 return "cuda_system_not_ready";
1155 return "cuda_system_driver_mismatch";
1157 return "cuda_compat_not_supported_on_device";
1159 return "cuda_mps_connection_failed";
1161 return "cuda_mps_rpc_failure";
1163 return "cuda_mps_server_not_ready";
1165 return "cuda_mps_max_clients_reached";
1167 return "cuda_mps_max_connections_reached";
1169 return "cuda_mps_client_terminated";
1171 return "cuda_cdp_not_supported";
1173 return "cuda_cdp_version_mismatch";
1175 return "cuda_stream_capture_unsupported";
1177 return "cuda_stream_capture_invalidated";
1179 return "cuda_stream_capture_merge";
1181 return "cuda_stream_capture_unmatched";
1183 return "cuda_stream_capture_unjoined";
1185 return "cuda_stream_capture_isolation";
1187 return "cuda_stream_capture_implicit";
1189 return "cuda_captured_event";
1191 return "cuda_stream_capture_wrong_thread";
1193 return "cuda_timeout";
1195 return "cuda_graph_exec_update_failure";
1197 return "cuda_external_device";
1199 return "cuda_invalid_cluster_size";
1201 return "cuda_unknown";
1203 return "cuda_api_failure_base";
1204 default:
1205 return "unknown error_t (bug)";
1206 }
1207} //errorName
1208
1209/// Get the descriptive message for a \ref error_t code.
1210/**
1211 * \returns the descriptive message corresponding to the \ref error_t code
1212 *
1213 * \ingroup error_handling_codes
1214 */
1215static constexpr const char * errorMessage( const error_t & errc /**< [in] the error code for which to get the message*/)
1216{
1217 switch(errc)
1218 {
1219 case error_t::noerror:
1220 return "No error has occurred";
1221 case error_t::error:
1222 return "A general error has occurred";
1224 return "An argument was invalid";
1226 return "A config setting was invalid";
1227 case error_t::notimpl:
1228 return "A component or technique is not implemented";
1230 return "A parameter was not set";
1231 case error_t::envnotset:
1232 return "A environment variable was not set";
1233 case error_t::notfound:
1234 return "An item was not found";
1235 case error_t::sizeerr:
1236 return "A size was invalid or calculated incorrectly";
1237 case error_t::allocerr:
1238 return "An error occurred during memory allocation";
1239 case error_t::freeerr:
1240 return "An error occurred during memory de-allocation";
1241 case error_t::parseerr:
1242 return "A parsing error occurred";
1244 return "A general filesystem error occurred";
1245 case error_t::fileoerr:
1246 return "An error occurred while opening a file";
1247 case error_t::filewerr:
1248 return "An error occurred while writing to a file";
1249 case error_t::filererr:
1250 return "An error occurred while reading from a file";
1251 case error_t::filecerr:
1252 return "An error occurred while closing a file";
1254 return "The file was not found";
1255 case error_t::fileempty:
1256 return "The file is empty";
1258 return "The directory was not found";
1259 case error_t::dirempty:
1260 return "The directory was empty";
1261 case error_t::procerr:
1262 return "An error occurred while starting a process";
1263 case error_t::timeout:
1264 return "A timeout occurred";
1265 case error_t::liberr:
1266 return "An error was returned by a library";
1267 case error_t::exception:
1268 return "An exception was thrown";
1270 return "An exception was thrown";
1272 return "A bad allocation exception was thrown";
1274 return "A logic error exception was thrown";
1276 return "An invalid argument exception was thrown";
1278 return "A domain error exception was thrown";
1280 return "A length error exception was thrown";
1282 return "An out of range exception was thrown";
1284 return "A future error exception was thrown";
1286 return "A bad optional access exception was thrown";
1288 return "A filesystem error exception was thrown";
1290 return "A runtime error exception was thrown";
1292 return "A range error exception was thrown";
1294 return "An overflow exception was thrown";
1296 return "An underflow exception was thrown";
1298 return "An ios::base::failure exception was thrown";
1300 return "A format library exception was thrown";
1302 return "An error was returned by gnuplot";
1303 case error_t::lapackerr:
1304 return "An error was returned by Lapack";
1305 case error_t::e2big:
1306 return "Argument list too long";
1307 case error_t::eacces:
1308 return "Permission denied";
1310 return "Address already in use";
1312 return "Cannot assign requested address";
1314 return "Address family not supported by protocol";
1315 case error_t::eagain:
1316 return "Resource temporarily unavailable";
1317 case error_t::ealready:
1318 return "Operation already in progress";
1319 case error_t::ebadf:
1320 return "Bad file descriptor";
1321 case error_t::ebadmsg:
1322 return "Bad message";
1323 case error_t::ebusy:
1324 return "Device or resource busy";
1325 case error_t::ecanceled:
1326 return "Operation canceled";
1327 case error_t::echild:
1328 return "No child processes";
1330 return "Software caused connection abort";
1332 return "Connection refused";
1334 return "Connection reset by peer";
1336 return "Destination address required";
1337 case error_t::edom:
1338 return "Numerical argument out of domain";
1339 case error_t::eexist:
1340 return "File exists";
1341 case error_t::efault:
1342 return "Bad address";
1343 case error_t::efbig:
1344 return "File too large";
1346 return "No route to host";
1347 case error_t::eidrm:
1348 return "Identifier removed";
1349 case error_t::eilseq:
1350 return "Invalid or incomplete multibyte or wide character";
1352 return "Operation now in progress";
1353 case error_t::eintr:
1354 return "Interrupted system call";
1355 case error_t::einval:
1356 return "Invalid argument";
1357 case error_t::eio:
1358 return "Input/output error";
1359 case error_t::eisconn:
1360 return "Transport endpoint is already connected";
1361 case error_t::eisdir:
1362 return "Is a directory";
1363 case error_t::eloop:
1364 return "Too many levels of symbolic links";
1365 case error_t::emfile:
1366 return "Too many open files";
1367 case error_t::emlink:
1368 return "Too many links";
1369 case error_t::emsgsize:
1370 return "Message too long";
1372 return "File name too long";
1373 case error_t::enetdown:
1374 return "Network is down";
1375 case error_t::enetreset:
1376 return "Network dropped connection on reset";
1378 return "Network is unreachable";
1379 case error_t::enfile:
1380 return "Too many open files in system";
1381 case error_t::enobufs:
1382 return "No buffer space available";
1383 case error_t::enodata:
1384 return "No data available";
1385 case error_t::enodev:
1386 return "No such device";
1387 case error_t::enoent:
1388 return "No such file or directory";
1389 case error_t::enoexec:
1390 return "Exec format error";
1391 case error_t::enolck:
1392 return "No locks available";
1393 case error_t::enolink:
1394 return "Link has been severed";
1395 case error_t::enomem:
1396 return "Cannot allocate memory";
1397 case error_t::enomsg:
1398 return "No message of desired type";
1400 return "Protocol not available";
1401 case error_t::enospc:
1402 return "No space left on device";
1403 case error_t::enosr:
1404 return "Out of streams resources";
1405 case error_t::enostr:
1406 return "Device not a stream";
1407 case error_t::enosys:
1408 return "Function not implemented";
1409 case error_t::enotconn:
1410 return "Transport endpoint is not connected";
1411 case error_t::enotdir:
1412 return "Not a directory";
1413 case error_t::enotempty:
1414 return "Directory not empty";
1416 return "State not recoverable";
1417 case error_t::enotsock:
1418 return "Socket operation on non-socket";
1419 case error_t::enotsup:
1420 return "Operation not supported";
1421 case error_t::enotty:
1422 return "Inappropriate ioctl for device";
1423 case error_t::enxio:
1424 return "No such device or address";
1426 return "Operation not supported";
1427 case error_t::eoverflow:
1428 return "Value too large for defined data type";
1430 return "Owner died";
1431 case error_t::eperm:
1432 return "Operation not permitted";
1433 case error_t::epipe:
1434 return "Broken pipe";
1435 case error_t::eproto:
1436 return "Protocol error";
1438 return "Protocol not supported";
1440 return "Protocol wrong type for socket";
1441 case error_t::erange:
1442 return "Numerical result out of range";
1443 case error_t::erofs:
1444 return "Read-only file system";
1445 case error_t::espipe:
1446 return "Illegal seek";
1447 case error_t::esrch:
1448 return "No such process";
1449 case error_t::etime:
1450 return "Timer expired";
1451 case error_t::etimedout:
1452 return "Connection timed out";
1453 case error_t::etxtbsy:
1454 return "Text file busy";
1456 return "Resource temporarily unavailable";
1457 case error_t::exdev:
1458 return "Invalid cross-device link";
1460 return "FITS: input and output files are the same";
1462 return "FITS: tried to open too many FITS files at once";
1464 return "FITS: could not open the named file";
1466 return "FITS: could not create the named file";
1468 return "FITS: error writing to FITS file";
1470 return "FITS: tried to move past end of file";
1472 return "FITS: error reading from FITS file";
1474 return "FITS: could not close the file";
1476 return "FITS: array dimensions exceed internal limit";
1478 return "FITS: Cannot write to readonly file";
1480 return "FITS: Could not allocate memory";
1482 return "FITS: invalid fitsfile pointer";
1484 return "FITS: NULL input pointer to routine";
1486 return "FITS: error seeking position in file";
1488 return "FITS: bad value for file download timeout setting";
1490 return "FITS: invalid URL prefix on file name";
1492 return "FITS: tried to register too many IO drivers";
1494 return "FITS: driver initialization failed";
1496 return "FITS: matching driver is not registered";
1498 return "FITS: failed to parse input file URL";
1500 return "FITS: parse error in range list";
1502 return "FITS: bad argument in shared memory driver";
1504 return "FITS: null pointer passed as an argument";
1506 return "FITS: no more free shared memory handles";
1508 return "FITS: shared memory driver is not initialized";
1510 return "FITS: IPC error returned by a system call";
1512 return "FITS: no memory in shared memory driver";
1514 return "FITS: resource deadlock would occur";
1516 return "FITS: attempt to open/create lock file failed";
1518 return "FITS: shared memory block cannot be resized at the moment";
1520 return "FITS: header already contains keywords";
1522 return "FITS: keyword not found in header";
1524 return "FITS: keyword record number is out of bounds";
1526 return "FITS: keyword value field is blank";
1528 return "FITS: string is missing the closing quote";
1530 return "FITS: illegal indexed keyword name (e.g. 'TFORM1000')";
1532 return "FITS: illegal character in keyword name or card";
1534 return "FITS: required keywords out of order";
1536 return "FITS: keyword value is not a positive integer";
1538 return "FITS: couldn't find END keyword";
1540 return "FITS: illegal BITPIX keyword value";
1542 return "FITS: illegal NAXIS keyword value";
1544 return "FITS: illegal NAXISn keyword value";
1546 return "FITS: illegal PCOUNT keyword value";
1548 return "FITS: illegal GCOUNT keyword value";
1550 return "FITS: illegal TFIELDS keyword value";
1552 return "FITS: negative table row size";
1554 return "FITS: negative number of rows in table";
1556 return "FITS: column with this name not found in table";
1558 return "FITS: illegal value of SIMPLE keyword";
1560 return "FITS: Primary array doesn't start with SIMPLE";
1562 return "FITS: Second keyword not BITPIX";
1564 return "FITS: Third keyword not NAXIS";
1566 return "FITS: Couldn't find all the NAXISn keywords";
1568 return "FITS: HDU doesn't start with XTENSION keyword";
1570 return "FITS: the CHDU is not an ASCII table extension";
1572 return "FITS: the CHDU is not a binary table extension";
1574 return "FITS: couldn't find PCOUNT keyword";
1576 return "FITS: couldn't find GCOUNT keyword";
1578 return "FITS: couldn't find TFIELDS keyword";
1580 return "FITS: couldn't find TBCOLn keyword";
1582 return "FITS: couldn't find TFORMn keyword";
1584 return "FITS: the CHDU is not an IMAGE extension";
1586 return "FITS: TBCOLn keyword value < 0 or > rowlength";
1588 return "FITS: the CHDU is not a table";
1590 return "FITS: column is too wide to fit in table";
1592 return "FITS: more than 1 column name matches template";
1594 return "FITS: sum of column widths not = NAXIS1";
1596 return "FITS: unrecognizable FITS extension type";
1598 return "FITS: unknown record; 1st keyword not SIMPLE or XTENSION";
1600 return "FITS: END keyword is not blank";
1602 return "FITS: Header fill area contains non-blank chars";
1604 return "FITS: Illegal data fill bytes (not zero or blank)";
1606 return "FITS: illegal TFORM format code";
1608 return "FITS: unrecognizable TFORM data type code";
1610 return "FITS: illegal TDIMn keyword value";
1612 return "FITS: invalid BINTABLE heap pointer is out of range";
1614 return "FITS: HDU number < 1";
1616 return "FITS: column number < 1 or > tfields";
1618 return "FITS: tried to move to negative byte location in file";
1620 return "FITS: tried to read or write negative number of bytes";
1622 return "FITS: illegal starting row number in table";
1624 return "FITS: illegal starting element number in vector";
1626 return "FITS: this is not an ASCII string column";
1628 return "FITS: this is not a logical data type column";
1630 return "FITS: ASCII table column has wrong format";
1632 return "FITS: Binary table column has wrong format";
1634 return "FITS: null value has not been defined";
1636 return "FITS: this is not a variable length column";
1638 return "FITS: illegal number of dimensions in array";
1640 return "FITS: first pixel number greater than last pixel";
1642 return "FITS: illegal BSCALE or TSCALn keyword = 0";
1644 return "FITS: illegal axis length < 1";
1646 return "FITS: Grouping function error";
1648 return "FITS: hdu already member";
1650 return "FITS: member not found";
1652 return "FITS: group not found";
1654 return "FITS: bad group id";
1656 return "FITS: too many hdus tracked";
1658 return "FITS: hdu already tracked";
1660 return "FITS: bad option";
1662 return "FITS: identical pointers";
1664 return "FITS: bad group attach";
1666 return "FITS: bad group detach";
1668 return "FITS: malloc failed";
1670 return "FITS: read error from file";
1672 return "FITS: null pointer passed as an argument.";
1674 return "FITS: line read seems to be empty (used";
1676 return "FITS: cannot unread more then 1 line";
1678 return "FITS: too deep include file nesting ";
1680 return "FITS: fopen() failed, cannot open template file";
1682 return "FITS: end of file encountered and not expected";
1684 return "FITS: bad arguments passed.";
1686 return "FITS: token not expected here";
1688 return "FITS: bad int to formatted string conversion";
1690 return "FITS: bad float to formatted string conversion";
1692 return "FITS: can't interpret keyword value as integer";
1694 return "FITS: can't interpret keyword value as logical";
1696 return "FITS: can't interpret keyword value as float";
1698 return "FITS: can't interpret keyword value as double";
1700 return "FITS: bad formatted string to int conversion";
1702 return "FITS: bad formatted string to float conversion";
1704 return "FITS: bad formatted string to double conversion";
1706 return "FITS: illegal datatype code value";
1708 return "FITS: bad number of decimal places specified";
1710 return "FITS: overflow during data type conversion";
1712 return "FITS: error compressing image";
1714 return "FITS: error uncompressing image";
1716 return "FITS: error in date or time conversion";
1718 return "FITS: syntax error in parser expression";
1720 return "FITS: expression did not evaluate to desired type";
1722 return "FITS: vector result too large to return in array";
1724 return "FITS: data parser failed not sent an out column";
1726 return "FITS: bad data encounter while parsing column";
1728 return "FITS: Output file not of proper type";
1730 return "FITS: celestial angle too large for projection";
1732 return "FITS: bad celestial coordinate or pixel value";
1734 return "FITS: error in celestial coordinate calculation";
1736 return "FITS: unsupported type of celestial projection";
1738 return "FITS: celestial coordinate keywords not found";
1740 return "FITS: approximate wcs keyword values were returned";
1742 return "CUDA: no error";
1744 return "CUDA: invalid argument";
1746 return "CUDA: out of memory";
1748 return "CUDA: initialization error";
1750 return "CUDA: driver shutting down";
1752 return "CUDA: profiler disabled while using external profiling tool";
1754 return "CUDA: profiler not initialized: call cudaProfilerInitialize()";
1756 return "CUDA: profiler already started";
1758 return "CUDA: profiler already stopped";
1760 return "CUDA: invalid configuration argument";
1762 return "CUDA: invalid pitch argument";
1764 return "CUDA: invalid device symbol";
1766 return "CUDA: invalid host pointer";
1768 return "CUDA: invalid device pointer";
1770 return "CUDA: invalid texture reference";
1772 return "CUDA: texture is not bound to a pointer";
1774 return "CUDA: invalid channel descriptor";
1776 return "CUDA: invalid copy direction for memcpy";
1778 return "CUDA: invalid address of constant";
1780 return "CUDA: fetch from texture failed";
1782 return "CUDA: cannot fetch from a texture that is not bound";
1784 return "CUDA: incorrect use of __syncthreads()";
1786 return "CUDA: linear filtering not supported for non-float type";
1788 return "CUDA: read as normalized float not supported for 32-bit non float type";
1790 return "CUDA: device emulation mode and device execution mode cannot be mixed";
1792 return "CUDA: feature not yet implemented";
1794 return "CUDA: memory size or pointer value too large to fit in 32 bit";
1796 return "CUDA: CUDA driver is a stub library";
1798 return "CUDA: CUDA driver version is insufficient for CUDA runtime version";
1800 return "CUDA: API call is not supported in the installed CUDA driver";
1802 return "CUDA: invalid surface reference";
1804 return "CUDA: duplicate global variable looked up by string name";
1806 return "CUDA: duplicate texture looked up by string name";
1808 return "CUDA: duplicate surface looked up by string name";
1810 return "CUDA: CUDA-capable device(s) is/are busy or unavailable";
1812 return "CUDA: incompatible driver context";
1814 return "CUDA: __global__ function call is not configured";
1816 return "CUDA: unspecified launch failure in prior launch";
1818 return "CUDA: launch would exceed maximum depth of nested launches";
1820 return "CUDA: launch failed because kernel uses unsupported, file-scoped textures (texture objects are supported)";
1822 return "CUDA: launch failed because kernel uses unsupported, file-scoped surfaces (surface objects are supported)";
1824 return "CUDA: cudaDeviceSynchronize failed because caller's grid depth exceeds cudaLimitDevRuntimeSyncDepth";
1826 return "CUDA: launch failed because launch would exceed cudaLimitDevRuntimePendingLaunchCount";
1828 return "CUDA: invalid device function";
1830 return "CUDA: no CUDA-capable device is detected";
1832 return "CUDA: invalid device ordinal";
1834 return "CUDA: device doesn't have valid Grid license";
1836 return "CUDA: integrity checks failed";
1838 return "CUDA: startup failure in cuda runtime";
1840 return "CUDA: device kernel image is invalid";
1842 return "CUDA: invalid device context";
1844 return "CUDA: mapping of buffer object failed";
1846 return "CUDA: unmapping of buffer object failed";
1848 return "CUDA: array is mapped";
1850 return "CUDA: resource already mapped";
1852 return "CUDA: no kernel image is available for execution on the device";
1854 return "CUDA: resource already acquired";
1856 return "CUDA: resource not mapped";
1858 return "CUDA: resource not mapped as array";
1860 return "CUDA: resource not mapped as pointer";
1862 return "CUDA: uncorrectable ECC error encountered";
1864 return "CUDA: limit is not supported on this architecture";
1866 return "CUDA: exclusive-thread device already in use by a different thread";
1868 return "CUDA: peer access is not supported between these two devices";
1870 return "CUDA: a PTX JIT compilation failed";
1872 return "CUDA: invalid OpenGL or DirectX context";
1874 return "CUDA: uncorrectable NVLink error detected during the execution";
1876 return "CUDA: PTX JIT compiler library not found";
1878 return "CUDA: the provided PTX was compiled with an unsupported toolchain.";
1880 return "CUDA: PTX JIT compilation was disabled";
1882 return "CUDA: the provided execution affinity is not supported";
1884 return "CUDA: device kernel image is invalid";
1886 return "CUDA: file not found";
1888 return "CUDA: shared object symbol not found";
1890 return "CUDA: shared object initialization failed";
1892 return "CUDA: OS call failed or operation not supported on this OS";
1894 return "CUDA: invalid resource handle";
1896 return "CUDA: the operation cannot be performed in the present state";
1898 return "CUDA: named symbol not found";
1900 return "CUDA: device not ready";
1902 return "CUDA: an illegal memory access was encountered";
1904 return "CUDA: too many resources requested for launch";
1906 return "CUDA: the launch timed out and was terminated";
1908 return "CUDA: launch uses incompatible texturing mode";
1910 return "CUDA: peer access is already enabled";
1912 return "CUDA: peer access has not been enabled";
1914 return "CUDA: cannot set while device is active in this process";
1916 return "CUDA: context is destroyed";
1918 return "CUDA: device-side assert triggered";
1920 return "CUDA: peer mapping resources exhausted";
1922 return "CUDA: part or all of the requested memory range is already mapped";
1924 return "CUDA: pointer does not correspond to a registered memory region";
1926 return "CUDA: hardware stack error";
1928 return "CUDA: an illegal instruction was encountered";
1930 return "CUDA: misaligned address";
1932 return "CUDA: operation not supported on global/shared address space";
1934 return "CUDA: invalid program counter";
1936 return "CUDA: unspecified launch failure";
1938 return "CUDA: too many blocks in cooperative launch";
1940 return "CUDA: operation not permitted";
1942 return "CUDA: operation not supported";
1944 return "CUDA: system not yet initialized";
1946 return "CUDA: system has unsupported display driver / cuda driver combination";
1948 return "CUDA: forward compatibility was attempted on non supported HW";
1950 return "CUDA: MPS client failed to connect to the MPS control daemon or the MPS server";
1952 return "CUDA: the remote procedural call between the MPS server and the MPS client failed";
1954 return "CUDA: MPS server is not ready to accept new MPS client requests";
1956 return "CUDA: the hardware resources required to create MPS client have been exhausted";
1958 return "CUDA: the hardware resources required to support device connections have been exhausted";
1960 return "CUDA: the MPS client has been terminated by the server";
1962 return "CUDA: is using CUDA Dynamic Parallelism, but the current configuration, like MPS, does not support it";
1964 return "CUDA: unsupported interaction between different versions of CUDA Dynamic Parallelism";
1966 return "CUDA: operation not permitted when stream is capturing";
1968 return "CUDA: operation failed due to a previous error during capture";
1970 return "CUDA: operation would result in a merge of separate capture sequences";
1972 return "CUDA: capture was not ended in the same stream as it began";
1974 return "CUDA: capturing stream has unjoined work";
1976 return "CUDA: dependency created on uncaptured work in another stream";
1978 return "CUDA: operation would make the legacy stream depend on a capturing blocking stream";
1980 return "CUDA: operation not permitted on an event last recorded in a capturing stream";
1982 return "CUDA: attempt to terminate a thread-local capture sequence from another thread";
1984 return "CUDA: wait operation timed out";
1986 return "CUDA: the graph update was not performed because it included changes which violated constraints specific to instantiated graph update";
1988 return "CUDA: an async error has occured in external entity outside of CUDA";
1990 return "CUDA: a kernel launch error has occurred due to cluster misconfiguration";
1992 return "CUDA: unknown error";
1994 return "CUDA: api failure base";
1995 default:
1996 return "unknown error_t (bug)";
1997 }
1998} //errorMessage
1999
2000/// Convert an errno code to \ref error_t
2001/**
2002 * \returns the \ref error_t code corresponding to the errno code
2003 *
2004 * \ingroup error_handling_codes
2005 */
2006static constexpr error_t errno2error_t( const int & err/**< [in] the errno code to convert*/)
2007{
2008 switch(err)
2009 {
2010 case EACCES:
2011 return error_t::eacces;
2012 case EADDRINUSE:
2013 return error_t::eaddrinuse;
2014 case EADDRNOTAVAIL:
2016 case EAFNOSUPPORT:
2017 return error_t::eafnosupport;
2018 case EAGAIN:
2019 return error_t::eagain;
2020 case EALREADY:
2021 return error_t::ealready;
2022 case EBADF:
2023 return error_t::ebadf;
2024 case EBADMSG:
2025 return error_t::ebadmsg;
2026 case EBUSY:
2027 return error_t::ebusy;
2028 case ECANCELED:
2029 return error_t::ecanceled;
2030 case ECHILD:
2031 return error_t::echild;
2032 case ECONNABORTED:
2033 return error_t::econnaborted;
2034 case ECONNREFUSED:
2035 return error_t::econnrefused;
2036 case ECONNRESET:
2037 return error_t::econnreset;
2038 case EDESTADDRREQ:
2039 return error_t::edestaddrreq;
2040 case EDOM:
2041 return error_t::edom;
2042 case EEXIST:
2043 return error_t::eexist;
2044 case EFAULT:
2045 return error_t::efault;
2046 case EFBIG:
2047 return error_t::efbig;
2048 case EHOSTUNREACH:
2049 return error_t::ehostunreach;
2050 case EIDRM:
2051 return error_t::eidrm;
2052 case EILSEQ:
2053 return error_t::eilseq;
2054 case EINPROGRESS:
2055 return error_t::einprogress;
2056 case EINTR:
2057 return error_t::eintr;
2058 case EINVAL:
2059 return error_t::einval;
2060 case EIO:
2061 return error_t::eio;
2062 case EISCONN:
2063 return error_t::eisconn;
2064 case EISDIR:
2065 return error_t::eisdir;
2066 case ELOOP:
2067 return error_t::eloop;
2068 case EMFILE:
2069 return error_t::emfile;
2070 case EMLINK:
2071 return error_t::emlink;
2072 case EMSGSIZE:
2073 return error_t::emsgsize;
2074 case ENAMETOOLONG:
2075 return error_t::enametoolong;
2076 case ENETDOWN:
2077 return error_t::enetdown;
2078 case ENETRESET:
2079 return error_t::enetreset;
2080 case ENETUNREACH:
2081 return error_t::enetunreach;
2082 case ENFILE:
2083 return error_t::enfile;
2084 case ENOBUFS:
2085 return error_t::enobufs;
2086 case ENODATA:
2087 return error_t::enodata;
2088 case ENODEV:
2089 return error_t::enodev;
2090 case ENOENT:
2091 return error_t::enoent;
2092 case ENOEXEC:
2093 return error_t::enoexec;
2094 case ENOLCK:
2095 return error_t::enolck;
2096 case ENOLINK:
2097 return error_t::enolink;
2098 case ENOMEM:
2099 return error_t::enomem;
2100 case ENOMSG:
2101 return error_t::enomsg;
2102 case ENOPROTOOPT:
2103 return error_t::enoprotoopt;
2104 case ENOSPC:
2105 return error_t::enospc;
2106 case ENOSR:
2107 return error_t::enosr;
2108 case ENOSTR:
2109 return error_t::enostr;
2110 case ENOSYS:
2111 return error_t::enosys;
2112 case ENOTCONN:
2113 return error_t::enotconn;
2114 case ENOTDIR:
2115 return error_t::enotdir;
2116 case ENOTEMPTY:
2117 return error_t::enotempty;
2118 case ENOTRECOVERABLE:
2120 case ENOTSOCK:
2121 return error_t::enotsock;
2122 case ENOTSUP:
2123 return error_t::enotsup;
2124 case ENOTTY:
2125 return error_t::enotty;
2126 case ENXIO:
2127 return error_t::enxio;
2128 case EOVERFLOW:
2129 return error_t::eoverflow;
2130 case EOWNERDEAD:
2131 return error_t::eownerdead;
2132 case EPERM:
2133 return error_t::eperm;
2134 case EPIPE:
2135 return error_t::epipe;
2136 case EPROTO:
2137 return error_t::eproto;
2138 case EPROTONOSUPPORT:
2140 case EPROTOTYPE:
2141 return error_t::eprototype;
2142 case ERANGE:
2143 return error_t::erange;
2144 case EROFS:
2145 return error_t::erofs;
2146 case ESPIPE:
2147 return error_t::espipe;
2148 case ESRCH:
2149 return error_t::esrch;
2150 case ETIME:
2151 return error_t::etime;
2152 case ETIMEDOUT:
2153 return error_t::etimedout;
2154 case ETXTBSY:
2155 return error_t::etxtbsy;
2156 case EXDEV:
2157 return error_t::exdev;
2158 default:
2159 return error_t::error;
2160 }
2161} //errno2error_t
2162
2163/// Convert a FITS status code to \ref error_t
2164/**
2165 * \returns the \ref error_t code corresponding to the FITS status code
2166 *
2167 * \ingroup fits_utils
2168 */
2169static constexpr error_t fits_status2error_t( const int & err/**< [in] the fits status code to convert*/)
2170{
2171 switch(err)
2172 {
2173 case 0:
2174 return error_t::noerror;
2175 case SAME_FILE:
2177 case TOO_MANY_FILES:
2179 case FILE_NOT_OPENED:
2181 case FILE_NOT_CREATED:
2183 case WRITE_ERROR:
2185 case END_OF_FILE:
2187 case READ_ERROR:
2189 case FILE_NOT_CLOSED:
2191 case ARRAY_TOO_BIG:
2193 case READONLY_FILE:
2195 case MEMORY_ALLOCATION:
2197 case BAD_FILEPTR:
2199 case NULL_INPUT_PTR:
2201 case SEEK_ERROR:
2203 case BAD_NETTIMEOUT:
2205 case BAD_URL_PREFIX:
2207 case TOO_MANY_DRIVERS:
2209 case DRIVER_INIT_FAILED:
2211 case NO_MATCHING_DRIVER:
2213 case URL_PARSE_ERROR:
2215 case RANGE_PARSE_ERROR:
2217 case SHARED_BADARG:
2219 case SHARED_NULPTR:
2221 case SHARED_TABFULL:
2223 case SHARED_NOTINIT:
2225 case SHARED_IPCERR:
2227 case SHARED_NOMEM:
2229 case SHARED_AGAIN:
2231 case SHARED_NOFILE:
2233 case SHARED_NORESIZE:
2235 case HEADER_NOT_EMPTY:
2237 case KEY_NO_EXIST:
2239 case KEY_OUT_BOUNDS:
2241 case VALUE_UNDEFINED:
2243 case NO_QUOTE:
2245 case BAD_INDEX_KEY:
2247 case BAD_KEYCHAR:
2249 case BAD_ORDER:
2251 case NOT_POS_INT:
2253 case NO_END:
2254 return error_t::fits_no_end;
2255 case BAD_BITPIX:
2257 case BAD_NAXIS:
2259 case BAD_NAXES:
2261 case BAD_PCOUNT:
2263 case BAD_GCOUNT:
2265 case BAD_TFIELDS:
2267 case NEG_WIDTH:
2269 case NEG_ROWS:
2271 case COL_NOT_FOUND:
2273 case BAD_SIMPLE:
2275 case NO_SIMPLE:
2277 case NO_BITPIX:
2279 case NO_NAXIS:
2281 case NO_NAXES:
2283 case NO_XTENSION:
2285 case NOT_ATABLE:
2287 case NOT_BTABLE:
2289 case NO_PCOUNT:
2291 case NO_GCOUNT:
2293 case NO_TFIELDS:
2295 case NO_TBCOL:
2297 case NO_TFORM:
2299 case NOT_IMAGE:
2301 case BAD_TBCOL:
2303 case NOT_TABLE:
2305 case COL_TOO_WIDE:
2307 case COL_NOT_UNIQUE:
2309 case BAD_ROW_WIDTH:
2311 case UNKNOWN_EXT:
2313 case UNKNOWN_REC:
2315 case END_JUNK:
2317 case BAD_HEADER_FILL:
2319 case BAD_DATA_FILL:
2321 case BAD_TFORM:
2323 case BAD_TFORM_DTYPE:
2325 case BAD_TDIM:
2327 case BAD_HEAP_PTR:
2329 case BAD_HDU_NUM:
2331 case BAD_COL_NUM:
2333 case NEG_FILE_POS:
2335 case NEG_BYTES:
2337 case BAD_ROW_NUM:
2339 case BAD_ELEM_NUM:
2341 case NOT_ASCII_COL:
2343 case NOT_LOGICAL_COL:
2345 case BAD_ATABLE_FORMAT:
2347 case BAD_BTABLE_FORMAT:
2349 case NO_NULL:
2350 return error_t::fits_no_null;
2351 case NOT_VARI_LEN:
2353 case BAD_DIMEN:
2355 case BAD_PIX_NUM:
2357 case ZERO_SCALE:
2359 case NEG_AXIS:
2361 case NOT_GROUP_TABLE:
2363 case HDU_ALREADY_MEMBER:
2365 case MEMBER_NOT_FOUND:
2367 case GROUP_NOT_FOUND:
2369 case BAD_GROUP_ID:
2371 case TOO_MANY_HDUS_TRACKED:
2373 case HDU_ALREADY_TRACKED:
2375 case BAD_OPTION:
2377 case IDENTICAL_POINTERS:
2379 case BAD_GROUP_ATTACH:
2381 case BAD_GROUP_DETACH:
2383 case NGP_NO_MEMORY:
2385 case NGP_READ_ERR:
2387 case NGP_NUL_PTR:
2389 case NGP_EMPTY_CURLINE:
2391 case NGP_UNREAD_QUEUE_FULL:
2393 case NGP_INC_NESTING:
2395 case NGP_ERR_FOPEN:
2397 case NGP_EOF:
2398 return error_t::fits_ngp_eof;
2399 case NGP_BAD_ARG:
2401 case NGP_TOKEN_NOT_EXPECT:
2403 case BAD_I2C:
2404 return error_t::fits_bad_i2c;
2405 case BAD_F2C:
2406 return error_t::fits_bad_f2c;
2407 case BAD_INTKEY:
2409 case BAD_LOGICALKEY:
2411 case BAD_FLOATKEY:
2413 case BAD_DOUBLEKEY:
2415 case BAD_C2I:
2416 return error_t::fits_bad_c2i;
2417 case BAD_C2F:
2418 return error_t::fits_bad_c2f;
2419 case BAD_C2D:
2420 return error_t::fits_bad_c2d;
2421 case BAD_DATATYPE:
2423 case BAD_DECIM:
2425 case NUM_OVERFLOW:
2427 case DATA_COMPRESSION_ERR:
2429 case DATA_DECOMPRESSION_ERR:
2431 case BAD_DATE:
2433 case PARSE_SYNTAX_ERR:
2435 case PARSE_BAD_TYPE:
2437 case PARSE_LRG_VECTOR:
2439 case PARSE_NO_OUTPUT:
2441 case PARSE_BAD_COL:
2443 case PARSE_BAD_OUTPUT:
2445 case ANGLE_TOO_BIG:
2447 case BAD_WCS_VAL:
2449 case WCS_ERROR:
2451 case BAD_WCS_PROJ:
2453 case NO_WCS_KEY:
2455 case APPROX_WCS_KEY:
2457 default:
2458 return error_t::error;
2459 }
2460} //fits_status2error_t
2461
2462#ifdef MXLIB_CUDA
2463/// Convert a cudaError code to \ref error_t
2464/**
2465 * \returns the \ref error_t code corresponding to the cudaError code
2466 *
2467 * \ingroup cuda_utils
2468 */
2469static constexpr error_t cudaError2error_t( const cudaError_t & err/**< [in] the cudaError code to convert*/)
2470{
2471 switch(err)
2472 {
2473 case cudaSuccess:
2474 return error_t::cuda_success;
2475 case cudaErrorInvalidValue:
2477 case cudaErrorMemoryAllocation:
2479 case cudaErrorInitializationError:
2481 case cudaErrorCudartUnloading:
2483 case cudaErrorProfilerDisabled:
2485 case cudaErrorProfilerNotInitialized:
2487 case cudaErrorProfilerAlreadyStarted:
2489 case cudaErrorProfilerAlreadyStopped:
2491 case cudaErrorInvalidConfiguration:
2493 case cudaErrorInvalidPitchValue:
2495 case cudaErrorInvalidSymbol:
2497 case cudaErrorInvalidHostPointer:
2499 case cudaErrorInvalidDevicePointer:
2501 case cudaErrorInvalidTexture:
2503 case cudaErrorInvalidTextureBinding:
2505 case cudaErrorInvalidChannelDescriptor:
2507 case cudaErrorInvalidMemcpyDirection:
2509 case cudaErrorAddressOfConstant:
2511 case cudaErrorTextureFetchFailed:
2513 case cudaErrorTextureNotBound:
2515 case cudaErrorSynchronizationError:
2517 case cudaErrorInvalidFilterSetting:
2519 case cudaErrorInvalidNormSetting:
2521 case cudaErrorMixedDeviceExecution:
2523 case cudaErrorNotYetImplemented:
2525 case cudaErrorMemoryValueTooLarge:
2527 case cudaErrorStubLibrary:
2529 case cudaErrorInsufficientDriver:
2531 case cudaErrorCallRequiresNewerDriver:
2533 case cudaErrorInvalidSurface:
2535 case cudaErrorDuplicateVariableName:
2537 case cudaErrorDuplicateTextureName:
2539 case cudaErrorDuplicateSurfaceName:
2541 case cudaErrorDevicesUnavailable:
2543 case cudaErrorIncompatibleDriverContext:
2545 case cudaErrorMissingConfiguration:
2547 case cudaErrorPriorLaunchFailure:
2549 case cudaErrorLaunchMaxDepthExceeded:
2551 case cudaErrorLaunchFileScopedTex:
2553 case cudaErrorLaunchFileScopedSurf:
2555 case cudaErrorSyncDepthExceeded:
2557 case cudaErrorLaunchPendingCountExceeded:
2559 case cudaErrorInvalidDeviceFunction:
2561 case cudaErrorNoDevice:
2563 case cudaErrorInvalidDevice:
2565 case cudaErrorDeviceNotLicensed:
2567 case cudaErrorSoftwareValidityNotEstablished:
2569 case cudaErrorStartupFailure:
2571 case cudaErrorInvalidKernelImage:
2573 case cudaErrorDeviceUninitialized:
2575 case cudaErrorMapBufferObjectFailed:
2577 case cudaErrorUnmapBufferObjectFailed:
2579 case cudaErrorArrayIsMapped:
2581 case cudaErrorAlreadyMapped:
2583 case cudaErrorNoKernelImageForDevice:
2585 case cudaErrorAlreadyAcquired:
2587 case cudaErrorNotMapped:
2589 case cudaErrorNotMappedAsArray:
2591 case cudaErrorNotMappedAsPointer:
2593 case cudaErrorECCUncorrectable:
2595 case cudaErrorUnsupportedLimit:
2597 case cudaErrorDeviceAlreadyInUse:
2599 case cudaErrorPeerAccessUnsupported:
2601 case cudaErrorInvalidPtx:
2603 case cudaErrorInvalidGraphicsContext:
2605 case cudaErrorNvlinkUncorrectable:
2607 case cudaErrorJitCompilerNotFound:
2609 case cudaErrorUnsupportedPtxVersion:
2611 case cudaErrorJitCompilationDisabled:
2613 case cudaErrorUnsupportedExecAffinity:
2615 case cudaErrorInvalidSource:
2617 case cudaErrorFileNotFound:
2619 case cudaErrorSharedObjectSymbolNotFound:
2621 case cudaErrorSharedObjectInitFailed:
2623 case cudaErrorOperatingSystem:
2625 case cudaErrorInvalidResourceHandle:
2627 case cudaErrorIllegalState:
2629 case cudaErrorSymbolNotFound:
2631 case cudaErrorNotReady:
2633 case cudaErrorIllegalAddress:
2635 case cudaErrorLaunchOutOfResources:
2637 case cudaErrorLaunchTimeout:
2639 case cudaErrorLaunchIncompatibleTexturing:
2641 case cudaErrorPeerAccessAlreadyEnabled:
2643 case cudaErrorPeerAccessNotEnabled:
2645 case cudaErrorSetOnActiveProcess:
2647 case cudaErrorContextIsDestroyed:
2649 case cudaErrorAssert:
2650 return error_t::cuda_assert;
2651 case cudaErrorTooManyPeers:
2653 case cudaErrorHostMemoryAlreadyRegistered:
2655 case cudaErrorHostMemoryNotRegistered:
2657 case cudaErrorHardwareStackError:
2659 case cudaErrorIllegalInstruction:
2661 case cudaErrorMisalignedAddress:
2663 case cudaErrorInvalidAddressSpace:
2665 case cudaErrorInvalidPc:
2667 case cudaErrorLaunchFailure:
2669 case cudaErrorCooperativeLaunchTooLarge:
2671 case cudaErrorNotPermitted:
2673 case cudaErrorNotSupported:
2675 case cudaErrorSystemNotReady:
2677 case cudaErrorSystemDriverMismatch:
2679 case cudaErrorCompatNotSupportedOnDevice:
2681 case cudaErrorMpsConnectionFailed:
2683 case cudaErrorMpsRpcFailure:
2685 case cudaErrorMpsServerNotReady:
2687 case cudaErrorMpsMaxClientsReached:
2689 case cudaErrorMpsMaxConnectionsReached:
2691 case cudaErrorMpsClientTerminated:
2693 case cudaErrorCdpNotSupported:
2695 case cudaErrorCdpVersionMismatch:
2697 case cudaErrorStreamCaptureUnsupported:
2699 case cudaErrorStreamCaptureInvalidated:
2701 case cudaErrorStreamCaptureMerge:
2703 case cudaErrorStreamCaptureUnmatched:
2705 case cudaErrorStreamCaptureUnjoined:
2707 case cudaErrorStreamCaptureIsolation:
2709 case cudaErrorStreamCaptureImplicit:
2711 case cudaErrorCapturedEvent:
2713 case cudaErrorStreamCaptureWrongThread:
2715 case cudaErrorTimeout:
2716 return error_t::cuda_timeout;
2717 case cudaErrorGraphExecUpdateFailure:
2719 case cudaErrorExternalDevice:
2721 case cudaErrorInvalidClusterSize:
2723 case cudaErrorUnknown:
2724 return error_t::cuda_unknown;
2725 case cudaErrorApiFailureBase:
2727 default:
2728 return error_t::error;
2729 }
2730} //cudaError2error_t
2731#endif //MXLIB_CUDA
2732
2733} //namespace mx
2734#endif //mx_error_t_hpp
2735
2736
2737#ifdef MXLIBTEST_ERROR_T_TESTS
2738#ifndef MXLIBTEST_ERROR_T_TESTS_INC
2739#define MXLIBTEST_ERROR_T_TESTS_INC
2740
2741namespace mx
2742{
2743
2744void error_t_vector( std::vector<error_t> & errcs )
2745{
2746 errcs = { error_t::noerror,
3134
3135} //error_t_vector
3136
3137void errno_vector( std::vector<int> & errnos )
3138{
3139 errnos = { EACCES,
3140 EADDRINUSE,
3141 EADDRNOTAVAIL,
3142 EAFNOSUPPORT,
3143 EAGAIN,
3144 EALREADY,
3145 EBADF,
3146 EBADMSG,
3147 EBUSY,
3148 ECANCELED,
3149 ECHILD,
3150 ECONNABORTED,
3151 ECONNREFUSED,
3152 ECONNRESET,
3153 EDESTADDRREQ,
3154 EDOM,
3155 EEXIST,
3156 EFAULT,
3157 EFBIG,
3158 EHOSTUNREACH,
3159 EIDRM,
3160 EILSEQ,
3161 EINPROGRESS,
3162 EINTR,
3163 EINVAL,
3164 EIO,
3165 EISCONN,
3166 EISDIR,
3167 ELOOP,
3168 EMFILE,
3169 EMLINK,
3170 EMSGSIZE,
3171 ENAMETOOLONG,
3172 ENETDOWN,
3173 ENETRESET,
3174 ENETUNREACH,
3175 ENFILE,
3176 ENOBUFS,
3177 ENODATA,
3178 ENODEV,
3179 ENOENT,
3180 ENOEXEC,
3181 ENOLCK,
3182 ENOLINK,
3183 ENOMEM,
3184 ENOMSG,
3185 ENOPROTOOPT,
3186 ENOSPC,
3187 ENOSR,
3188 ENOSTR,
3189 ENOSYS,
3190 ENOTCONN,
3191 ENOTDIR,
3192 ENOTEMPTY,
3193 ENOTRECOVERABLE,
3194 ENOTSOCK,
3195 ENOTSUP,
3196 ENOTTY,
3197 ENXIO,
3198 EOVERFLOW,
3199 EOWNERDEAD,
3200 EPERM,
3201 EPIPE,
3202 EPROTO,
3203 EPROTONOSUPPORT,
3204 EPROTOTYPE,
3205 ERANGE,
3206 EROFS,
3207 ESPIPE,
3208 ESRCH,
3209 ETIME,
3210 ETIMEDOUT,
3211 ETXTBSY,
3212 EXDEV};
3213
3214} //errno_vector
3215void fitserr_vector( std::vector<int> & fitserrs )
3216{
3217 fitserrs= { SAME_FILE,
3218 TOO_MANY_FILES,
3219 FILE_NOT_OPENED,
3220 FILE_NOT_CREATED,
3221 WRITE_ERROR,
3222 END_OF_FILE,
3223 READ_ERROR,
3224 FILE_NOT_CLOSED,
3225 ARRAY_TOO_BIG,
3226 READONLY_FILE,
3227 MEMORY_ALLOCATION,
3228 BAD_FILEPTR,
3229 NULL_INPUT_PTR,
3230 SEEK_ERROR,
3231 BAD_NETTIMEOUT,
3232 BAD_URL_PREFIX,
3233 TOO_MANY_DRIVERS,
3234 DRIVER_INIT_FAILED,
3235 NO_MATCHING_DRIVER,
3236 URL_PARSE_ERROR,
3237 RANGE_PARSE_ERROR,
3238 SHARED_BADARG,
3239 SHARED_NULPTR,
3240 SHARED_TABFULL,
3241 SHARED_NOTINIT,
3242 SHARED_IPCERR,
3243 SHARED_NOMEM,
3244 SHARED_AGAIN,
3245 SHARED_NOFILE,
3246 SHARED_NORESIZE,
3247 HEADER_NOT_EMPTY,
3248 KEY_NO_EXIST,
3249 KEY_OUT_BOUNDS,
3250 VALUE_UNDEFINED,
3251 NO_QUOTE,
3252 BAD_INDEX_KEY,
3253 BAD_KEYCHAR,
3254 BAD_ORDER,
3255 NOT_POS_INT,
3256 NO_END,
3257 BAD_BITPIX,
3258 BAD_NAXIS,
3259 BAD_NAXES,
3260 BAD_PCOUNT,
3261 BAD_GCOUNT,
3262 BAD_TFIELDS,
3263 NEG_WIDTH,
3264 NEG_ROWS,
3265 COL_NOT_FOUND,
3266 BAD_SIMPLE,
3267 NO_SIMPLE,
3268 NO_BITPIX,
3269 NO_NAXIS,
3270 NO_NAXES,
3271 NO_XTENSION,
3272 NOT_ATABLE,
3273 NOT_BTABLE,
3274 NO_PCOUNT,
3275 NO_GCOUNT,
3276 NO_TFIELDS,
3277 NO_TBCOL,
3278 NO_TFORM,
3279 NOT_IMAGE,
3280 BAD_TBCOL,
3281 NOT_TABLE,
3282 COL_TOO_WIDE,
3283 COL_NOT_UNIQUE,
3284 BAD_ROW_WIDTH,
3285 UNKNOWN_EXT,
3286 UNKNOWN_REC,
3287 END_JUNK,
3288 BAD_HEADER_FILL,
3289 BAD_DATA_FILL,
3290 BAD_TFORM,
3291 BAD_TFORM_DTYPE,
3292 BAD_TDIM,
3293 BAD_HEAP_PTR,
3294 BAD_HDU_NUM,
3295 BAD_COL_NUM,
3296 NEG_FILE_POS,
3297 NEG_BYTES,
3298 BAD_ROW_NUM,
3299 BAD_ELEM_NUM,
3300 NOT_ASCII_COL,
3301 NOT_LOGICAL_COL,
3302 BAD_ATABLE_FORMAT,
3303 BAD_BTABLE_FORMAT,
3304 NO_NULL,
3305 NOT_VARI_LEN,
3306 BAD_DIMEN,
3307 BAD_PIX_NUM,
3308 ZERO_SCALE,
3309 NEG_AXIS,
3310 NOT_GROUP_TABLE,
3311 HDU_ALREADY_MEMBER,
3312 MEMBER_NOT_FOUND,
3313 GROUP_NOT_FOUND,
3314 BAD_GROUP_ID,
3315 TOO_MANY_HDUS_TRACKED,
3316 HDU_ALREADY_TRACKED,
3317 BAD_OPTION,
3318 IDENTICAL_POINTERS,
3319 BAD_GROUP_ATTACH,
3320 BAD_GROUP_DETACH,
3321 NGP_NO_MEMORY,
3322 NGP_READ_ERR,
3323 NGP_NUL_PTR,
3324 NGP_EMPTY_CURLINE,
3325 NGP_UNREAD_QUEUE_FULL,
3326 NGP_INC_NESTING,
3327 NGP_ERR_FOPEN,
3328 NGP_EOF,
3329 NGP_BAD_ARG,
3330 NGP_TOKEN_NOT_EXPECT,
3331 BAD_I2C,
3332 BAD_F2C,
3333 BAD_INTKEY,
3334 BAD_LOGICALKEY,
3335 BAD_FLOATKEY,
3336 BAD_DOUBLEKEY,
3337 BAD_C2I,
3338 BAD_C2F,
3339 BAD_C2D,
3340 BAD_DATATYPE,
3341 BAD_DECIM,
3342 NUM_OVERFLOW,
3343 DATA_COMPRESSION_ERR,
3344 DATA_DECOMPRESSION_ERR,
3345 BAD_DATE,
3346 PARSE_SYNTAX_ERR,
3347 PARSE_BAD_TYPE,
3348 PARSE_LRG_VECTOR,
3349 PARSE_NO_OUTPUT,
3350 PARSE_BAD_COL,
3351 PARSE_BAD_OUTPUT,
3352 ANGLE_TOO_BIG,
3353 BAD_WCS_VAL,
3354 WCS_ERROR,
3355 BAD_WCS_PROJ,
3356 NO_WCS_KEY,
3357 APPROX_WCS_KEY};
3358
3359} //fitserr_vector
3360
3361} //namespace mx
3362
3363#endif //MXLIBTEST_ERROR_T_TESTS_INC
3364#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:424
static constexpr error_t errno2error_t(const int &err)
Convert an errno code to error_t.
Definition error_t.hpp:2006
static constexpr const char * errorMessage(const error_t &errc)
Get the descriptive message for a error_t code.
Definition error_t.hpp:1215
@ cuda_cdp_version_mismatch
CUDA: unsupported interaction between different versions of CUDA Dynamic Parallelism.
@ fits_parse_syntax_err
FITS: syntax error in parser expression.
@ cuda_profiler_already_stopped
CUDA: profiler already stopped.
@ cuda_peer_access_unsupported
CUDA: peer access is not supported between these two devices.
@ eopnotsupp
Operation not supported (EOPNOTSUPP)
@ e2big
Argument list too long (E2BIG)
@ fits_bad_simple
FITS: illegal value of SIMPLE keyword.
@ filenotfound
The file was not found.
@ eilseq
Invalid or incomplete multibyte or wide character (EILSEQ)
@ notimpl
A component or technique is not implemented.
@ enotsup
Operation not supported (ENOTSUP)
@ fits_end_of_file
FITS: tried to move past end of file.
@ eprotonosupport
Protocol not supported (EPROTONOSUPPORT)
@ fits_value_undefined
FITS: keyword value field is blank.
@ cuda_illegal_state
CUDA: the operation cannot be performed in the present state.
@ cuda_cudart_unloading
CUDA: driver shutting down.
@ noerror
No error has occurred.
@ fits_ngp_unread_queue_full
FITS: cannot unread more then 1 line.
@ cuda_duplicate_variable_name
CUDA: duplicate global variable looked up by string name.
@ fits_no_naxes
FITS: Couldn't find all the NAXISn keywords.
@ cuda_not_ready
CUDA: device not ready.
@ enosr
Out of streams resources (ENOSR)
@ fits_bad_atable_format
FITS: ASCII table column has wrong format.
@ fits_key_no_exist
FITS: keyword not found in header.
@ fits_end_junk
FITS: END keyword is not blank.
@ cuda_illegal_instruction
CUDA: an illegal instruction was encountered.
@ etxtbsy
Text file busy (ETXTBSY)
@ fits_array_too_big
FITS: array dimensions exceed internal limit.
@ eperm
Operation not permitted (EPERM)
@ cuda_mps_connection_failed
CUDA: MPS client failed to connect to the MPS control daemon or the MPS server.
@ enotconn
Transport endpoint is not connected (ENOTCONN)
@ std_exception
An exception was thrown.
@ cuda_illegal_address
CUDA: an illegal memory access was encountered.
@ enetunreach
Network is unreachable (ENETUNREACH)
@ fits_bad_gcount
FITS: illegal GCOUNT keyword value.
@ fits_data_decompression_err
FITS: error uncompressing image.
@ fits_col_not_unique
FITS: more than 1 column name matches template.
@ cuda_system_driver_mismatch
CUDA: system has unsupported display driver / cuda driver combination.
@ cuda_mixed_device_execution
CUDA: device emulation mode and device execution mode cannot be mixed.
@ cuda_stream_capture_implicit
CUDA: operation would make the legacy stream depend on a capturing blocking stream.
@ fits_bad_group_detach
FITS: bad group detach.
@ cuda_cdp_not_supported
CUDA: is using CUDA Dynamic Parallelism, but the current configuration, like MPS, does not support it...
@ enosys
Function not implemented (ENOSYS)
@ fits_identical_pointers
FITS: identical pointers.
@ fits_approx_wcs_key
FITS: approximate wcs keyword values were returned.
@ cuda_unsupported_ptx_version
CUDA: the provided PTX was compiled with an unsupported toolchain.
@ enametoolong
File name too long (ENAMETOOLONG)
@ fits_bad_bitpix
FITS: illegal BITPIX keyword value.
@ cuda_stub_library
CUDA: CUDA driver is a stub library.
@ filererr
An error occurred while reading from a file.
@ fits_bad_pcount
FITS: illegal PCOUNT keyword value.
@ edom
Numerical argument out of domain (EDOM)
@ emfile
Too many open files (EMFILE)
@ cuda_initialization_error
CUDA: initialization error.
@ fits_bad_tform_dtype
FITS: unrecognizable TFORM data type code.
@ cuda_graph_exec_update_failure
CUDA: the graph update was not performed because it included changes which violated constraints speci...
@ cuda_invalid_surface
CUDA: invalid surface reference.
@ cuda_file_not_found
CUDA: file not found.
@ fits_shared_tabfull
FITS: no more free shared memory handles.
@ cuda_invalid_device
CUDA: invalid device ordinal.
@ fits_no_tfields
FITS: couldn't find TFIELDS keyword.
@ fits_not_vari_len
FITS: this is not a variable length column.
@ fits_no_gcount
FITS: couldn't find GCOUNT keyword.
@ cuda_symbol_not_found
CUDA: named symbol not found.
@ eexist
File exists (EEXIST)
@ dirnotfound
The directory was not found.
@ fits_bad_naxis
FITS: illegal NAXIS keyword value.
@ fits_header_not_empty
FITS: header already contains keywords.
@ cuda_timeout
CUDA: wait operation timed out.
@ fits_too_many_drivers
FITS: tried to register too many IO drivers.
@ exdev
Invalid cross-device link (EXDEV)
@ cuda_mps_max_clients_reached
CUDA: the hardware resources required to create MPS client have been exhausted.
@ fits_bad_wcs_val
FITS: bad celestial coordinate or pixel value.
@ cuda_external_device
CUDA: an async error has occured in external entity outside of CUDA.
@ cuda_software_validity_not_established
CUDA: integrity checks failed.
@ std_ios_base_failure
An ios::base::failure exception was thrown.
@ enodata
No data available (ENODATA)
@ emsgsize
Message too long (EMSGSIZE)
@ cuda_context_is_destroyed
CUDA: context is destroyed.
@ cuda_no_device
CUDA: no CUDA-capable device is detected.
@ cuda_stream_capture_wrong_thread
CUDA: attempt to terminate a thread-local capture sequence from another thread.
@ fits_parse_bad_col
FITS: bad data encounter while parsing column.
@ fits_ngp_empty_curline
FITS: line read seems to be empty (used.
@ fits_no_xtension
FITS: HDU doesn't start with XTENSION keyword.
@ fits_not_pos_int
FITS: keyword value is not a positive integer.
@ fits_neg_file_pos
FITS: tried to move to negative byte location in file.
@ eisdir
Is a directory (EISDIR)
@ cuda_invalid_texture
CUDA: invalid texture reference.
@ procerr
An error occurred while starting a process.
@ fits_parse_no_output
FITS: data parser failed not sent an out column.
@ fits_bad_col_num
FITS: column number < 1 or > tfields.
@ cuda_missing_configuration
CUDA: global function call is not configured.
@ fits_bad_row_num
FITS: illegal starting row number in table.
@ fileempty
The file is empty.
@ fits_shared_noresize
FITS: shared memory block cannot be resized at the moment.
@ eoverflow
Value too large for defined data type (EOVERFLOW)
@ cuda_invalid_kernel_image
CUDA: device kernel image is invalid.
@ enotsock
Socket operation on non-socket (ENOTSOCK)
@ eafnosupport
Address family not supported by protocol (EAFNOSUPPORT)
@ cuda_e_c_c_uncorrectable
CUDA: uncorrectable ECC error encountered.
@ fits_shared_notinit
FITS: shared memory driver is not initialized.
@ fits_unknown_ext
FITS: unrecognizable FITS extension type.
@ std_logic_error
A logic error exception was thrown.
@ cuda_invalid_channel_descriptor
CUDA: invalid channel descriptor.
@ fits_file_not_created
FITS: could not create the named file.
@ cuda_already_mapped
CUDA: resource already mapped.
@ sizeerr
A size was invalid or calculated incorrectly.
@ dirempty
The directory was empty.
@ fits_col_too_wide
FITS: column is too wide to fit in table.
@ enotempty
Directory not empty (ENOTEMPTY)
@ fits_bad_elem_num
FITS: illegal starting element number in vector.
@ std_domain_error
A domain error exception was thrown.
@ exception
An exception was thrown.
@ cuda_incompatible_driver_context
CUDA: incompatible driver context.
@ fits_bad_group_id
FITS: bad group id.
@ cuda_invalid_memcpy_direction
CUDA: invalid copy direction for memcpy.
@ eownerdead
Owner died (EOWNERDEAD)
@ eintr
Interrupted system call (EINTR)
@ fits_zero_scale
FITS: illegal BSCALE or TSCALn keyword = 0.
@ cuda_stream_capture_unmatched
CUDA: capture was not ended in the same stream as it began.
@ fits_not_image
FITS: the CHDU is not an IMAGE extension.
@ cuda_launch_timeout
CUDA: the launch timed out and was terminated.
@ enodev
No such device (ENODEV)
@ fits_bad_btable_format
FITS: Binary table column has wrong format.
@ fits_not_table
FITS: the CHDU is not a table.
@ fits_null_input_ptr
FITS: NULL input pointer to routine.
@ cuda_invalid_cluster_size
CUDA: a kernel launch error has occurred due to cluster misconfiguration.
@ esrch
No such process (ESRCH)
@ cuda_host_memory_already_registered
CUDA: part or all of the requested memory range is already mapped.
@ std_runtime_error
A runtime error exception was thrown.
@ einval
Invalid argument (EINVAL)
@ econnrefused
Connection refused (ECONNREFUSED)
@ lapackerr
An error was returned by Lapack.
@ std_bad_alloc
A bad allocation exception was thrown.
@ eacces
Permission denied (EACCES)
@ fits_angle_too_big
FITS: celestial angle too large for projection.
@ etime
Timer expired (ETIME)
@ erange
Numerical result out of range (ERANGE)
@ fits_bad_keychar
FITS: illegal character in keyword name or card.
@ erofs
Read-only file system (EROFS)
@ fits_neg_axis
FITS: illegal axis length < 1.
@ fits_range_parse_error
FITS: parse error in range list.
@ cuda_stream_capture_invalidated
CUDA: operation failed due to a previous error during capture.
@ fits_no_quote
FITS: string is missing the closing quote.
@ fits_key_out_bounds
FITS: keyword record number is out of bounds.
@ cuda_synchronization_error
CUDA: incorrect use of __syncthreads()
@ cuda_no_kernel_image_for_device
CUDA: no kernel image is available for execution on the device.
@ fits_no_wcs_key
FITS: celestial coordinate keywords not found.
@ fits_ngp_token_not_expect
FITS: token not expected here.
@ fits_driver_init_failed
FITS: driver initialization failed.
@ std_bad_optional_access
A bad optional access exception was thrown.
@ fits_bad_decim
FITS: bad number of decimal places specified.
@ cuda_stream_capture_unsupported
CUDA: operation not permitted when stream is capturing.
@ cuda_peer_access_already_enabled
CUDA: peer access is already enabled.
@ cuda_launch_incompatible_texturing
CUDA: launch uses incompatible texturing mode.
@ fits_read_error
FITS: error reading from FITS file.
@ cuda_invalid_device_pointer
CUDA: invalid device pointer.
@ cuda_invalid_value
CUDA: invalid argument.
@ parseerr
A parsing error occurred.
@ std_range_error
A range error exception was thrown.
@ eaddrnotavail
Cannot assign requested address (EADDRNOTAVAIL)
@ cuda_launch_file_scoped_tex
CUDA: launch failed because kernel uses unsupported, file-scoped textures (texture objects are suppor...
@ cuda_launch_file_scoped_surf
CUDA: launch failed because kernel uses unsupported, file-scoped surfaces (surface objects are suppor...
@ fits_neg_bytes
FITS: tried to read or write negative number of bytes.
@ cuda_not_mapped_as_pointer
CUDA: resource not mapped as pointer.
@ cuda_sync_depth_exceeded
CUDA: cudaDeviceSynchronize failed because caller's grid depth exceeds cudaLimitDevRuntimeSyncDepth.
@ ecanceled
Operation canceled (ECANCELED)
@ fits_bad_dimen
FITS: illegal number of dimensions in array.
@ cuda_too_many_peers
CUDA: peer mapping resources exhausted.
@ ehostunreach
No route to host (EHOSTUNREACH)
@ fits_bad_tfields
FITS: illegal TFIELDS keyword value.
@ eprototype
Protocol wrong type for socket (EPROTOTYPE)
@ fits_data_compression_err
FITS: error compressing image.
@ cuda_startup_failure
CUDA: startup failure in cuda runtime.
@ cuda_nvlink_uncorrectable
CUDA: uncorrectable NVLink error detected during the execution.
@ enoent
No such file or directory (ENOENT)
@ fits_ngp_bad_arg
FITS: bad arguments passed.
@ ealready
Operation already in progress (EALREADY)
@ enotdir
Not a directory (ENOTDIR)
@ cuda_call_requires_newer_driver
CUDA: API call is not supported in the installed CUDA driver.
@ cuda_launch_failure
CUDA: unspecified launch failure.
@ enoprotoopt
Protocol not available (ENOPROTOOPT)
@ cuda_invalid_device_function
CUDA: invalid device function.
@ enolink
Link has been severed (ENOLINK)
@ fits_bad_tdim
FITS: illegal TDIMn keyword value.
@ cuda_api_failure_base
CUDA: api failure base.
@ __sentinel
do not use
@ filecerr
An error occurred while closing a file.
@ eio
Input/output error (EIO)
@ cuda_stream_capture_isolation
CUDA: dependency created on uncaptured work in another stream.
@ cuda_stream_capture_merge
CUDA: operation would result in a merge of separate capture sequences.
@ cuda_memory_allocation
CUDA: out of memory.
@ cuda_invalid_pc
CUDA: invalid program counter.
@ fits_shared_ipcerr
FITS: IPC error returned by a system call.
@ econnreset
Connection reset by peer (ECONNRESET)
@ ebadmsg
Bad message (EBADMSG)
@ fits_parse_bad_type
FITS: expression did not evaluate to desired type.
@ cuda_set_on_active_process
CUDA: cannot set while device is active in this process.
@ ewouldblock
Resource temporarily unavailable (EWOULDBLOCK)
@ cuda_invalid_pitch_value
CUDA: invalid pitch argument.
@ fits_bad_hdu_num
FITS: HDU number < 1.
@ fits_no_matching_driver
FITS: matching driver is not registered.
@ allocerr
An error occurred during memory allocation.
@ fits_too_many_hdus_tracked
FITS: too many hdus tracked.
@ cuda_device_uninitialized
CUDA: invalid device context.
@ emlink
Too many links (EMLINK)
@ enobufs
No buffer space available (ENOBUFS)
@ fits_bad_c2i
FITS: bad formatted string to int conversion.
@ fits_shared_nulptr
FITS: null pointer passed as an argument.
@ fits_bad_c2d
FITS: bad formatted string to double conversion.
@ cuda_invalid_configuration
CUDA: invalid configuration argument.
@ cuda_assert
CUDA: device-side assert triggered.
@ fits_bad_data_fill
FITS: Illegal data fill bytes (not zero or blank)
@ fits_bad_naxes
FITS: illegal NAXISn keyword value.
@ cuda_already_acquired
CUDA: resource already acquired.
@ cuda_compat_not_supported_on_device
CUDA: forward compatibility was attempted on non supported HW.
@ fits_bad_option
FITS: bad option.
@ fits_ngp_no_memory
FITS: malloc failed.
@ fits_too_many_files
FITS: tried to open too many FITS files at once.
@ fits_bad_tform
FITS: illegal TFORM format code.
@ enxio
No such device or address (ENXIO)
@ cuda_unmap_buffer_object_failed
CUDA: unmapping of buffer object failed.
@ enostr
Device not a stream (ENOSTR)
@ cuda_invalid_host_pointer
CUDA: invalid host pointer.
@ fits_member_not_found
FITS: member not found.
@ fits_no_naxis
FITS: Third keyword not NAXIS.
@ fits_unknown_rec
FITS: unknown record; 1st keyword not SIMPLE or XTENSION.
@ enotty
Inappropriate ioctl for device (ENOTTY)
@ cuda_system_not_ready
CUDA: system not yet initialized.
@ cuda_unsupported_exec_affinity
CUDA: the provided execution affinity is not supported.
@ fits_ngp_inc_nesting
FITS: too deep include file nesting.
@ cuda_shared_object_symbol_not_found
CUDA: shared object symbol not found.
@ fileoerr
An error occurred while opening a file.
@ fits_neg_width
FITS: negative table row size.
@ paramnotset
A parameter was not set.
@ cuda_not_supported
CUDA: operation not supported.
@ fits_file_not_closed
FITS: could not close the file.
@ cuda_map_buffer_object_failed
CUDA: mapping of buffer object failed.
@ eaddrinuse
Address already in use (EADDRINUSE)
@ timeout
A timeout occurred.
@ cuda_unsupported_limit
CUDA: limit is not supported on this architecture.
@ enotrecoverable
State not recoverable (ENOTRECOVERABLE)
@ cuda_device_not_licensed
CUDA: device doesn't have valid Grid license.
@ fits_bad_heap_ptr
FITS: invalid BINTABLE heap pointer is out of range.
@ fits_no_null
FITS: null value has not been defined.
@ enoexec
Exec format error (ENOEXEC)
@ fits_not_atable
FITS: the CHDU is not an ASCII table extension.
@ cuda_duplicate_surface_name
CUDA: duplicate surface looked up by string name.
@ fits_num_overflow
FITS: overflow during data type conversion.
@ fits_no_tbcol
FITS: couldn't find TBCOLn keyword.
@ fits_ngp_nul_ptr
FITS: null pointer passed as an argument.
@ espipe
Illegal seek (ESPIPE)
@ cuda_memory_value_too_large
CUDA: memory size or pointer value too large to fit in 32 bit.
@ fits_hdu_already_member
FITS: hdu already member.
@ fits_shared_badarg
FITS: bad argument in shared memory driver.
@ cuda_host_memory_not_registered
CUDA: pointer does not correspond to a registered memory region.
@ cuda_not_mapped_as_array
CUDA: resource not mapped as array.
@ fits_same_file
FITS: input and output files are the same.
@ edestaddrreq
Destination address required (EDESTADDRREQ)
@ fits_ngp_read_err
FITS: read error from file.
@ fits_readonly_file
FITS: Cannot write to readonly file.
@ cuda_mps_rpc_failure
CUDA: the remote procedural call between the MPS server and the MPS client failed.
@ efault
Bad address (EFAULT)
@ cuda_not_mapped
CUDA: resource not mapped.
@ fits_bad_order
FITS: required keywords out of order.
@ cuda_duplicate_texture_name
CUDA: duplicate texture looked up by string name.
@ fits_bad_header_fill
FITS: Header fill area contains non-blank chars.
@ invalidconfig
A config setting was invalid.
@ cuda_profiler_disabled
CUDA: profiler disabled while using external profiling tool.
@ fits_col_not_found
FITS: column with this name not found in table.
@ filewerr
An error occurred while writing to a file.
@ cuda_operating_system
CUDA: OS call failed or operation not supported on this OS.
@ fits_not_ascii_col
FITS: this is not an ASCII string column.
@ cuda_invalid_source
CUDA: device kernel image is invalid.
@ fits_no_bitpix
FITS: Second keyword not BITPIX.
@ fits_no_tform
FITS: couldn't find TFORMn keyword.
@ std_out_of_range
An out of range exception was thrown.
@ cuda_jit_compilation_disabled
CUDA: PTX JIT compilation was disabled.
@ fits_memory_allocation
FITS: Could not allocate memory.
@ cuda_mps_server_not_ready
CUDA: MPS server is not ready to accept new MPS client requests.
@ eloop
Too many levels of symbolic links (ELOOP)
@ cuda_invalid_filter_setting
CUDA: linear filtering not supported for non-float type.
@ filesystem
A general filesystem error occurred.
@ eagain
Resource temporarily unavailable (EAGAIN)
@ fits_bad_pix_num
FITS: first pixel number greater than last pixel.
@ fits_shared_again
FITS: resource deadlock would occur.
@ echild
No child processes (ECHILD)
@ cuda_mps_client_terminated
CUDA: the MPS client has been terminated by the server.
@ invalidarg
An argument was invalid.
@ enetreset
Network dropped connection on reset (ENETRESET)
@ std_future_error
A future error exception was thrown.
@ enfile
Too many open files in system (ENFILE)
@ eproto
Protocol error (EPROTO)
@ fits_bad_index_key
FITS: illegal indexed keyword name (e.g. 'TFORM1000')
@ fits_group_not_found
FITS: group not found.
@ fits_bad_i2c
FITS: bad int to formatted string conversion.
@ fits_not_logical_col
FITS: this is not a logical data type column.
@ fits_bad_group_attach
FITS: bad group attach.
@ fits_bad_floatkey
FITS: can't interpret keyword value as float.
@ fits_write_error
FITS: error writing to FITS file.
@ fits_bad_date
FITS: error in date or time conversion.
@ etimedout
Connection timed out (ETIMEDOUT)
@ std_filesystem_error
A filesystem error exception was thrown.
@ cuda_profiler_not_initialized
CUDA: profiler not initialized: call cudaProfilerInitialize()
@ fits_bad_fileptr
FITS: invalid fitsfile pointer.
@ fits_bad_tbcol
FITS: TBCOLn keyword value < 0 or > rowlength.
@ fits_not_group_table
FITS: Grouping function error.
@ cuda_mps_max_connections_reached
CUDA: the hardware resources required to support device connections have been exhausted.
@ std_format_error
A format library exception was thrown.
@ cuda_invalid_norm_setting
CUDA: read as normalized float not supported for 32-bit non float type.
@ cuda_devices_unavailable
CUDA: CUDA-capable device(s) is/are busy or unavailable.
@ cuda_hardware_stack_error
CUDA: hardware stack error.
@ std_length_error
A length error exception was thrown.
@ fits_shared_nofile
FITS: attempt to open/create lock file failed.
@ notfound
An item was not found.
@ cuda_texture_fetch_failed
CUDA: fetch from texture failed.
@ cuda_shared_object_init_failed
CUDA: shared object initialization failed.
@ ebusy
Device or resource busy (EBUSY)
@ cuda_invalid_symbol
CUDA: invalid device symbol.
@ efbig
File too large (EFBIG)
@ std_overflow_error
An overflow exception was thrown.
@ enomsg
No message of desired type (ENOMSG)
@ std_invalid_argument
An invalid argument exception was thrown.
@ fits_bad_wcs_proj
FITS: unsupported type of celestial projection.
@ cuda_peer_access_not_enabled
CUDA: peer access has not been enabled.
@ fits_bad_datatype
FITS: illegal datatype code value.
@ fits_no_simple
FITS: Primary array doesn't start with SIMPLE.
@ fits_ngp_eof
FITS: end of file encountered and not expected.
@ fits_bad_row_width
FITS: sum of column widths not = NAXIS1.
@ error
A general error has occurred.
@ fits_bad_doublekey
FITS: can't interpret keyword value as double.
@ fits_shared_nomem
FITS: no memory in shared memory driver.
@ cuda_misaligned_address
CUDA: misaligned address.
@ cuda_invalid_texture_binding
CUDA: texture is not bound to a pointer.
@ fits_url_parse_error
FITS: failed to parse input file URL.
@ cuda_launch_pending_count_exceeded
CUDA: launch failed because launch would exceed cudaLimitDevRuntimePendingLaunchCount.
@ enetdown
Network is down (ENETDOWN)
@ fits_no_pcount
FITS: couldn't find PCOUNT keyword.
@ enospc
No space left on device (ENOSPC)
@ liberr
An error was returned by a library.
@ fits_bad_intkey
FITS: can't interpret keyword value as integer.
@ cuda_not_yet_implemented
CUDA: feature not yet implemented.
@ fits_wcs_error
FITS: error in celestial coordinate calculation.
@ enolck
No locks available (ENOLCK)
@ cuda_texture_not_bound
CUDA: cannot fetch from a texture that is not bound.
@ econnaborted
Software caused connection abort (ECONNABORTED)
@ cuda_device_already_in_use
CUDA: exclusive-thread device already in use by a different thread.
@ cuda_success
CUDA: no error.
@ cuda_not_permitted
CUDA: operation not permitted.
@ fits_parse_bad_output
FITS: Output file not of proper type.
@ eidrm
Identifier removed (EIDRM)
@ fits_hdu_already_tracked
FITS: hdu already tracked.
@ epipe
Broken pipe (EPIPE)
@ fits_ngp_err_fopen
FITS: fopen() failed, cannot open template file.
@ cuda_invalid_ptx
CUDA: a PTX JIT compilation failed.
@ cuda_unknown
CUDA: unknown error.
@ fits_parse_lrg_vector
FITS: vector result too large to return in array.
@ cuda_invalid_resource_handle
CUDA: invalid resource handle.
@ einprogress
Operation now in progress (EINPROGRESS)
@ cuda_address_of_constant
CUDA: invalid address of constant.
@ cuda_prior_launch_failure
CUDA: unspecified launch failure in prior launch.
@ cuda_launch_max_depth_exceeded
CUDA: launch would exceed maximum depth of nested launches.
@ cuda_cooperative_launch_too_large
CUDA: too many blocks in cooperative launch.
@ fits_file_not_opened
FITS: could not open the named file.
@ cuda_insufficient_driver
CUDA: CUDA driver version is insufficient for CUDA runtime version.
@ fits_bad_nettimeout
FITS: bad value for file download timeout setting.
@ cuda_launch_out_of_resources
CUDA: too many resources requested for launch.
@ ebadf
Bad file descriptor (EBADF)
@ gnuploterr
An error was returned by gnuplot.
@ enomem
Cannot allocate memory (ENOMEM)
@ fits_neg_rows
FITS: negative number of rows in table.
@ fits_bad_c2f
FITS: bad formatted string to float conversion.
@ cuda_invalid_address_space
CUDA: operation not supported on global/shared address space.
@ fits_no_end
FITS: couldn't find END keyword.
@ fits_not_btable
FITS: the CHDU is not a binary table extension.
@ cuda_profiler_already_started
CUDA: profiler already started.
@ eisconn
Transport endpoint is already connected (EISCONN)
@ fits_bad_f2c
FITS: bad float to formatted string conversion.
@ freeerr
An error occurred during memory de-allocation.
@ cuda_captured_event
CUDA: operation not permitted on an event last recorded in a capturing stream.
@ cuda_array_is_mapped
CUDA: array is mapped.
@ fits_bad_logicalkey
FITS: can't interpret keyword value as logical.
@ fits_seek_error
FITS: error seeking position in file.
@ cuda_stream_capture_unjoined
CUDA: capturing stream has unjoined work.
@ std_underflow_error
An underflow exception was thrown.
@ cuda_invalid_graphics_context
CUDA: invalid OpenGL or DirectX context.
@ cuda_jit_compiler_not_found
CUDA: PTX JIT compiler library not found.
@ envnotset
A environment variable was not set.
@ fits_bad_url_prefix
FITS: invalid URL prefix on file name.
static constexpr error_t fits_status2error_t(const int &err)
Convert a FITS status code to error_t.
Definition error_t.hpp:2169
The mxlib c++ namespace.
Definition mxlib.hpp:37