Line data Source code
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 :
18 : namespace mx
19 : {
20 :
21 :
22 : /// The mxlib error codes
23 : /** \ingroup error_handling_codes
24 : */
25 : enum 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 : */
424 : static 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";
432 : case error_t::invalidarg:
433 : return "invalidarg";
434 : case error_t::invalidconfig:
435 : return "invalidconfig";
436 : case error_t::notimpl:
437 : return "notimpl";
438 : case error_t::paramnotset:
439 : return "paramnotset";
440 : case error_t::envnotset:
441 : return "envnotset";
442 : case error_t::notfound:
443 : return "notfound";
444 : case error_t::sizeerr:
445 : return "sizeerr";
446 : case error_t::allocerr:
447 : return "allocerr";
448 : case error_t::freeerr:
449 : return "freeerr";
450 : case error_t::parseerr:
451 : return "parseerr";
452 : case error_t::filesystem:
453 : return "filesystem";
454 : case error_t::fileoerr:
455 : return "fileoerr";
456 : case error_t::filewerr:
457 : return "filewerr";
458 : case error_t::filererr:
459 : return "filererr";
460 : case error_t::filecerr:
461 : return "filecerr";
462 : case error_t::filenotfound:
463 : return "filenotfound";
464 : case error_t::fileempty:
465 : return "fileempty";
466 : case error_t::dirnotfound:
467 : return "dirnotfound";
468 : case error_t::dirempty:
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";
476 : case error_t::exception:
477 : return "exception";
478 : case error_t::std_exception:
479 : return "std_exception";
480 : case error_t::std_bad_alloc:
481 : return "std_bad_alloc";
482 : case error_t::std_logic_error:
483 : return "std_logic_error";
484 : case error_t::std_invalid_argument:
485 : return "std_invalid_argument";
486 : case error_t::std_domain_error:
487 : return "std_domain_error";
488 : case error_t::std_length_error:
489 : return "std_length_error";
490 : case error_t::std_out_of_range:
491 : return "std_out_of_range";
492 : case error_t::std_future_error:
493 : return "std_future_error";
494 : case error_t::std_bad_optional_access:
495 : return "std_bad_optional_access";
496 : case error_t::std_filesystem_error:
497 : return "std_filesystem_error";
498 : case error_t::std_runtime_error:
499 : return "std_runtime_error";
500 : case error_t::std_range_error:
501 : return "std_range_error";
502 : case error_t::std_overflow_error:
503 : return "std_overflow_error";
504 : case error_t::std_underflow_error:
505 : return "std_underflow_error";
506 : case error_t::std_ios_base_failure:
507 : return "std_ios_base_failure";
508 : case error_t::std_format_error:
509 : return "std_format_error";
510 : case error_t::gnuploterr:
511 : return "gnuploterr";
512 : case error_t::lapackerr:
513 : return "lapackerr";
514 : case error_t::e2big:
515 : return "e2big";
516 : case error_t::eacces:
517 : return "eacces";
518 : case error_t::eaddrinuse:
519 : return "eaddrinuse";
520 : case error_t::eaddrnotavail:
521 : return "eaddrnotavail";
522 : case error_t::eafnosupport:
523 : return "eafnosupport";
524 : case error_t::eagain:
525 : return "eagain";
526 : case error_t::ealready:
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";
534 : case error_t::ecanceled:
535 : return "ecanceled";
536 : case error_t::echild:
537 : return "echild";
538 : case error_t::econnaborted:
539 : return "econnaborted";
540 : case error_t::econnrefused:
541 : return "econnrefused";
542 : case error_t::econnreset:
543 : return "econnreset";
544 : case error_t::edestaddrreq:
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";
554 : case error_t::ehostunreach:
555 : return "ehostunreach";
556 : case error_t::eidrm:
557 : return "eidrm";
558 : case error_t::eilseq:
559 : return "eilseq";
560 : case error_t::einprogress:
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";
578 : case error_t::emsgsize:
579 : return "emsgsize";
580 : case error_t::enametoolong:
581 : return "enametoolong";
582 : case error_t::enetdown:
583 : return "enetdown";
584 : case error_t::enetreset:
585 : return "enetreset";
586 : case error_t::enetunreach:
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";
608 : case error_t::enoprotoopt:
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";
618 : case error_t::enotconn:
619 : return "enotconn";
620 : case error_t::enotdir:
621 : return "enotdir";
622 : case error_t::enotempty:
623 : return "enotempty";
624 : case error_t::enotrecoverable:
625 : return "enotrecoverable";
626 : case error_t::enotsock:
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";
634 : case error_t::eopnotsupp:
635 : return "eopnotsupp";
636 : case error_t::eoverflow:
637 : return "eoverflow";
638 : case error_t::eownerdead:
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";
646 : case error_t::eprotonosupport:
647 : return "eprotonosupport";
648 : case error_t::eprototype:
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";
660 : case error_t::etimedout:
661 : return "etimedout";
662 : case error_t::etxtbsy:
663 : return "etxtbsy";
664 : case error_t::ewouldblock:
665 : return "ewouldblock";
666 : case error_t::exdev:
667 : return "exdev";
668 : case error_t::fits_same_file:
669 : return "fits_same_file";
670 : case error_t::fits_too_many_files:
671 : return "fits_too_many_files";
672 : case error_t::fits_file_not_opened:
673 : return "fits_file_not_opened";
674 : case error_t::fits_file_not_created:
675 : return "fits_file_not_created";
676 : case error_t::fits_write_error:
677 : return "fits_write_error";
678 : case error_t::fits_end_of_file:
679 : return "fits_end_of_file";
680 : case error_t::fits_read_error:
681 : return "fits_read_error";
682 : case error_t::fits_file_not_closed:
683 : return "fits_file_not_closed";
684 : case error_t::fits_array_too_big:
685 : return "fits_array_too_big";
686 : case error_t::fits_readonly_file:
687 : return "fits_readonly_file";
688 : case error_t::fits_memory_allocation:
689 : return "fits_memory_allocation";
690 : case error_t::fits_bad_fileptr:
691 : return "fits_bad_fileptr";
692 : case error_t::fits_null_input_ptr:
693 : return "fits_null_input_ptr";
694 : case error_t::fits_seek_error:
695 : return "fits_seek_error";
696 : case error_t::fits_bad_nettimeout:
697 : return "fits_bad_nettimeout";
698 : case error_t::fits_bad_url_prefix:
699 : return "fits_bad_url_prefix";
700 : case error_t::fits_too_many_drivers:
701 : return "fits_too_many_drivers";
702 : case error_t::fits_driver_init_failed:
703 : return "fits_driver_init_failed";
704 : case error_t::fits_no_matching_driver:
705 : return "fits_no_matching_driver";
706 : case error_t::fits_url_parse_error:
707 : return "fits_url_parse_error";
708 : case error_t::fits_range_parse_error:
709 : return "fits_range_parse_error";
710 : case error_t::fits_shared_badarg:
711 : return "fits_shared_badarg";
712 : case error_t::fits_shared_nulptr:
713 : return "fits_shared_nulptr";
714 : case error_t::fits_shared_tabfull:
715 : return "fits_shared_tabfull";
716 : case error_t::fits_shared_notinit:
717 : return "fits_shared_notinit";
718 : case error_t::fits_shared_ipcerr:
719 : return "fits_shared_ipcerr";
720 : case error_t::fits_shared_nomem:
721 : return "fits_shared_nomem";
722 : case error_t::fits_shared_again:
723 : return "fits_shared_again";
724 : case error_t::fits_shared_nofile:
725 : return "fits_shared_nofile";
726 : case error_t::fits_shared_noresize:
727 : return "fits_shared_noresize";
728 : case error_t::fits_header_not_empty:
729 : return "fits_header_not_empty";
730 : case error_t::fits_key_no_exist:
731 : return "fits_key_no_exist";
732 : case error_t::fits_key_out_bounds:
733 : return "fits_key_out_bounds";
734 : case error_t::fits_value_undefined:
735 : return "fits_value_undefined";
736 : case error_t::fits_no_quote:
737 : return "fits_no_quote";
738 : case error_t::fits_bad_index_key:
739 : return "fits_bad_index_key";
740 : case error_t::fits_bad_keychar:
741 : return "fits_bad_keychar";
742 : case error_t::fits_bad_order:
743 : return "fits_bad_order";
744 : case error_t::fits_not_pos_int:
745 : return "fits_not_pos_int";
746 : case error_t::fits_no_end:
747 : return "fits_no_end";
748 : case error_t::fits_bad_bitpix:
749 : return "fits_bad_bitpix";
750 : case error_t::fits_bad_naxis:
751 : return "fits_bad_naxis";
752 : case error_t::fits_bad_naxes:
753 : return "fits_bad_naxes";
754 : case error_t::fits_bad_pcount:
755 : return "fits_bad_pcount";
756 : case error_t::fits_bad_gcount:
757 : return "fits_bad_gcount";
758 : case error_t::fits_bad_tfields:
759 : return "fits_bad_tfields";
760 : case error_t::fits_neg_width:
761 : return "fits_neg_width";
762 : case error_t::fits_neg_rows:
763 : return "fits_neg_rows";
764 : case error_t::fits_col_not_found:
765 : return "fits_col_not_found";
766 : case error_t::fits_bad_simple:
767 : return "fits_bad_simple";
768 : case error_t::fits_no_simple:
769 : return "fits_no_simple";
770 : case error_t::fits_no_bitpix:
771 : return "fits_no_bitpix";
772 : case error_t::fits_no_naxis:
773 : return "fits_no_naxis";
774 : case error_t::fits_no_naxes:
775 : return "fits_no_naxes";
776 : case error_t::fits_no_xtension:
777 : return "fits_no_xtension";
778 : case error_t::fits_not_atable:
779 : return "fits_not_atable";
780 : case error_t::fits_not_btable:
781 : return "fits_not_btable";
782 : case error_t::fits_no_pcount:
783 : return "fits_no_pcount";
784 : case error_t::fits_no_gcount:
785 : return "fits_no_gcount";
786 : case error_t::fits_no_tfields:
787 : return "fits_no_tfields";
788 : case error_t::fits_no_tbcol:
789 : return "fits_no_tbcol";
790 : case error_t::fits_no_tform:
791 : return "fits_no_tform";
792 : case error_t::fits_not_image:
793 : return "fits_not_image";
794 : case error_t::fits_bad_tbcol:
795 : return "fits_bad_tbcol";
796 : case error_t::fits_not_table:
797 : return "fits_not_table";
798 : case error_t::fits_col_too_wide:
799 : return "fits_col_too_wide";
800 : case error_t::fits_col_not_unique:
801 : return "fits_col_not_unique";
802 : case error_t::fits_bad_row_width:
803 : return "fits_bad_row_width";
804 : case error_t::fits_unknown_ext:
805 : return "fits_unknown_ext";
806 : case error_t::fits_unknown_rec:
807 : return "fits_unknown_rec";
808 : case error_t::fits_end_junk:
809 : return "fits_end_junk";
810 : case error_t::fits_bad_header_fill:
811 : return "fits_bad_header_fill";
812 : case error_t::fits_bad_data_fill:
813 : return "fits_bad_data_fill";
814 : case error_t::fits_bad_tform:
815 : return "fits_bad_tform";
816 : case error_t::fits_bad_tform_dtype:
817 : return "fits_bad_tform_dtype";
818 : case error_t::fits_bad_tdim:
819 : return "fits_bad_tdim";
820 : case error_t::fits_bad_heap_ptr:
821 : return "fits_bad_heap_ptr";
822 : case error_t::fits_bad_hdu_num:
823 : return "fits_bad_hdu_num";
824 : case error_t::fits_bad_col_num:
825 : return "fits_bad_col_num";
826 : case error_t::fits_neg_file_pos:
827 : return "fits_neg_file_pos";
828 : case error_t::fits_neg_bytes:
829 : return "fits_neg_bytes";
830 : case error_t::fits_bad_row_num:
831 : return "fits_bad_row_num";
832 : case error_t::fits_bad_elem_num:
833 : return "fits_bad_elem_num";
834 : case error_t::fits_not_ascii_col:
835 : return "fits_not_ascii_col";
836 : case error_t::fits_not_logical_col:
837 : return "fits_not_logical_col";
838 : case error_t::fits_bad_atable_format:
839 : return "fits_bad_atable_format";
840 : case error_t::fits_bad_btable_format:
841 : return "fits_bad_btable_format";
842 : case error_t::fits_no_null:
843 : return "fits_no_null";
844 : case error_t::fits_not_vari_len:
845 : return "fits_not_vari_len";
846 : case error_t::fits_bad_dimen:
847 : return "fits_bad_dimen";
848 : case error_t::fits_bad_pix_num:
849 : return "fits_bad_pix_num";
850 : case error_t::fits_zero_scale:
851 : return "fits_zero_scale";
852 : case error_t::fits_neg_axis:
853 : return "fits_neg_axis";
854 : case error_t::fits_not_group_table:
855 : return "fits_not_group_table";
856 : case error_t::fits_hdu_already_member:
857 : return "fits_hdu_already_member";
858 : case error_t::fits_member_not_found:
859 : return "fits_member_not_found";
860 : case error_t::fits_group_not_found:
861 : return "fits_group_not_found";
862 : case error_t::fits_bad_group_id:
863 : return "fits_bad_group_id";
864 : case error_t::fits_too_many_hdus_tracked:
865 : return "fits_too_many_hdus_tracked";
866 : case error_t::fits_hdu_already_tracked:
867 : return "fits_hdu_already_tracked";
868 : case error_t::fits_bad_option:
869 : return "fits_bad_option";
870 : case error_t::fits_identical_pointers:
871 : return "fits_identical_pointers";
872 : case error_t::fits_bad_group_attach:
873 : return "fits_bad_group_attach";
874 : case error_t::fits_bad_group_detach:
875 : return "fits_bad_group_detach";
876 : case error_t::fits_ngp_no_memory:
877 : return "fits_ngp_no_memory";
878 : case error_t::fits_ngp_read_err:
879 : return "fits_ngp_read_err";
880 : case error_t::fits_ngp_nul_ptr:
881 : return "fits_ngp_nul_ptr";
882 : case error_t::fits_ngp_empty_curline:
883 : return "fits_ngp_empty_curline";
884 : case error_t::fits_ngp_unread_queue_full:
885 : return "fits_ngp_unread_queue_full";
886 : case error_t::fits_ngp_inc_nesting:
887 : return "fits_ngp_inc_nesting";
888 : case error_t::fits_ngp_err_fopen:
889 : return "fits_ngp_err_fopen";
890 : case error_t::fits_ngp_eof:
891 : return "fits_ngp_eof";
892 : case error_t::fits_ngp_bad_arg:
893 : return "fits_ngp_bad_arg";
894 : case error_t::fits_ngp_token_not_expect:
895 : return "fits_ngp_token_not_expect";
896 : case error_t::fits_bad_i2c:
897 : return "fits_bad_i2c";
898 : case error_t::fits_bad_f2c:
899 : return "fits_bad_f2c";
900 : case error_t::fits_bad_intkey:
901 : return "fits_bad_intkey";
902 : case error_t::fits_bad_logicalkey:
903 : return "fits_bad_logicalkey";
904 : case error_t::fits_bad_floatkey:
905 : return "fits_bad_floatkey";
906 : case error_t::fits_bad_doublekey:
907 : return "fits_bad_doublekey";
908 : case error_t::fits_bad_c2i:
909 : return "fits_bad_c2i";
910 : case error_t::fits_bad_c2f:
911 : return "fits_bad_c2f";
912 : case error_t::fits_bad_c2d:
913 : return "fits_bad_c2d";
914 : case error_t::fits_bad_datatype:
915 : return "fits_bad_datatype";
916 : case error_t::fits_bad_decim:
917 : return "fits_bad_decim";
918 : case error_t::fits_num_overflow:
919 : return "fits_num_overflow";
920 : case error_t::fits_data_compression_err:
921 : return "fits_data_compression_err";
922 : case error_t::fits_data_decompression_err:
923 : return "fits_data_decompression_err";
924 : case error_t::fits_bad_date:
925 : return "fits_bad_date";
926 : case error_t::fits_parse_syntax_err:
927 : return "fits_parse_syntax_err";
928 : case error_t::fits_parse_bad_type:
929 : return "fits_parse_bad_type";
930 : case error_t::fits_parse_lrg_vector:
931 : return "fits_parse_lrg_vector";
932 : case error_t::fits_parse_no_output:
933 : return "fits_parse_no_output";
934 : case error_t::fits_parse_bad_col:
935 : return "fits_parse_bad_col";
936 : case error_t::fits_parse_bad_output:
937 : return "fits_parse_bad_output";
938 : case error_t::fits_angle_too_big:
939 : return "fits_angle_too_big";
940 : case error_t::fits_bad_wcs_val:
941 : return "fits_bad_wcs_val";
942 : case error_t::fits_wcs_error:
943 : return "fits_wcs_error";
944 : case error_t::fits_bad_wcs_proj:
945 : return "fits_bad_wcs_proj";
946 : case error_t::fits_no_wcs_key:
947 : return "fits_no_wcs_key";
948 : case error_t::fits_approx_wcs_key:
949 : return "fits_approx_wcs_key";
950 : case error_t::cuda_success:
951 : return "cuda_success";
952 : case error_t::cuda_invalid_value:
953 : return "cuda_invalid_value";
954 : case error_t::cuda_memory_allocation:
955 : return "cuda_memory_allocation";
956 : case error_t::cuda_initialization_error:
957 : return "cuda_initialization_error";
958 : case error_t::cuda_cudart_unloading:
959 : return "cuda_cudart_unloading";
960 : case error_t::cuda_profiler_disabled:
961 : return "cuda_profiler_disabled";
962 : case error_t::cuda_profiler_not_initialized:
963 : return "cuda_profiler_not_initialized";
964 : case error_t::cuda_profiler_already_started:
965 : return "cuda_profiler_already_started";
966 : case error_t::cuda_profiler_already_stopped:
967 : return "cuda_profiler_already_stopped";
968 : case error_t::cuda_invalid_configuration:
969 : return "cuda_invalid_configuration";
970 : case error_t::cuda_invalid_pitch_value:
971 : return "cuda_invalid_pitch_value";
972 : case error_t::cuda_invalid_symbol:
973 : return "cuda_invalid_symbol";
974 : case error_t::cuda_invalid_host_pointer:
975 : return "cuda_invalid_host_pointer";
976 : case error_t::cuda_invalid_device_pointer:
977 : return "cuda_invalid_device_pointer";
978 : case error_t::cuda_invalid_texture:
979 : return "cuda_invalid_texture";
980 : case error_t::cuda_invalid_texture_binding:
981 : return "cuda_invalid_texture_binding";
982 : case error_t::cuda_invalid_channel_descriptor:
983 : return "cuda_invalid_channel_descriptor";
984 : case error_t::cuda_invalid_memcpy_direction:
985 : return "cuda_invalid_memcpy_direction";
986 : case error_t::cuda_address_of_constant:
987 : return "cuda_address_of_constant";
988 : case error_t::cuda_texture_fetch_failed:
989 : return "cuda_texture_fetch_failed";
990 : case error_t::cuda_texture_not_bound:
991 : return "cuda_texture_not_bound";
992 : case error_t::cuda_synchronization_error:
993 : return "cuda_synchronization_error";
994 : case error_t::cuda_invalid_filter_setting:
995 : return "cuda_invalid_filter_setting";
996 : case error_t::cuda_invalid_norm_setting:
997 : return "cuda_invalid_norm_setting";
998 : case error_t::cuda_mixed_device_execution:
999 : return "cuda_mixed_device_execution";
1000 : case error_t::cuda_not_yet_implemented:
1001 : return "cuda_not_yet_implemented";
1002 : case error_t::cuda_memory_value_too_large:
1003 : return "cuda_memory_value_too_large";
1004 : case error_t::cuda_stub_library:
1005 : return "cuda_stub_library";
1006 : case error_t::cuda_insufficient_driver:
1007 : return "cuda_insufficient_driver";
1008 : case error_t::cuda_call_requires_newer_driver:
1009 : return "cuda_call_requires_newer_driver";
1010 : case error_t::cuda_invalid_surface:
1011 : return "cuda_invalid_surface";
1012 : case error_t::cuda_duplicate_variable_name:
1013 : return "cuda_duplicate_variable_name";
1014 : case error_t::cuda_duplicate_texture_name:
1015 : return "cuda_duplicate_texture_name";
1016 : case error_t::cuda_duplicate_surface_name:
1017 : return "cuda_duplicate_surface_name";
1018 : case error_t::cuda_devices_unavailable:
1019 : return "cuda_devices_unavailable";
1020 : case error_t::cuda_incompatible_driver_context:
1021 : return "cuda_incompatible_driver_context";
1022 : case error_t::cuda_missing_configuration:
1023 : return "cuda_missing_configuration";
1024 : case error_t::cuda_prior_launch_failure:
1025 : return "cuda_prior_launch_failure";
1026 : case error_t::cuda_launch_max_depth_exceeded:
1027 : return "cuda_launch_max_depth_exceeded";
1028 : case error_t::cuda_launch_file_scoped_tex:
1029 : return "cuda_launch_file_scoped_tex";
1030 : case error_t::cuda_launch_file_scoped_surf:
1031 : return "cuda_launch_file_scoped_surf";
1032 : case error_t::cuda_sync_depth_exceeded:
1033 : return "cuda_sync_depth_exceeded";
1034 : case error_t::cuda_launch_pending_count_exceeded:
1035 : return "cuda_launch_pending_count_exceeded";
1036 : case error_t::cuda_invalid_device_function:
1037 : return "cuda_invalid_device_function";
1038 : case error_t::cuda_no_device:
1039 : return "cuda_no_device";
1040 : case error_t::cuda_invalid_device:
1041 : return "cuda_invalid_device";
1042 : case error_t::cuda_device_not_licensed:
1043 : return "cuda_device_not_licensed";
1044 : case error_t::cuda_software_validity_not_established:
1045 : return "cuda_software_validity_not_established";
1046 : case error_t::cuda_startup_failure:
1047 : return "cuda_startup_failure";
1048 : case error_t::cuda_invalid_kernel_image:
1049 : return "cuda_invalid_kernel_image";
1050 : case error_t::cuda_device_uninitialized:
1051 : return "cuda_device_uninitialized";
1052 : case error_t::cuda_map_buffer_object_failed:
1053 : return "cuda_map_buffer_object_failed";
1054 : case error_t::cuda_unmap_buffer_object_failed:
1055 : return "cuda_unmap_buffer_object_failed";
1056 : case error_t::cuda_array_is_mapped:
1057 : return "cuda_array_is_mapped";
1058 : case error_t::cuda_already_mapped:
1059 : return "cuda_already_mapped";
1060 : case error_t::cuda_no_kernel_image_for_device:
1061 : return "cuda_no_kernel_image_for_device";
1062 : case error_t::cuda_already_acquired:
1063 : return "cuda_already_acquired";
1064 : case error_t::cuda_not_mapped:
1065 : return "cuda_not_mapped";
1066 : case error_t::cuda_not_mapped_as_array:
1067 : return "cuda_not_mapped_as_array";
1068 : case error_t::cuda_not_mapped_as_pointer:
1069 : return "cuda_not_mapped_as_pointer";
1070 : case error_t::cuda_e_c_c_uncorrectable:
1071 : return "cuda_e_c_c_uncorrectable";
1072 : case error_t::cuda_unsupported_limit:
1073 : return "cuda_unsupported_limit";
1074 : case error_t::cuda_device_already_in_use:
1075 : return "cuda_device_already_in_use";
1076 : case error_t::cuda_peer_access_unsupported:
1077 : return "cuda_peer_access_unsupported";
1078 : case error_t::cuda_invalid_ptx:
1079 : return "cuda_invalid_ptx";
1080 : case error_t::cuda_invalid_graphics_context:
1081 : return "cuda_invalid_graphics_context";
1082 : case error_t::cuda_nvlink_uncorrectable:
1083 : return "cuda_nvlink_uncorrectable";
1084 : case error_t::cuda_jit_compiler_not_found:
1085 : return "cuda_jit_compiler_not_found";
1086 : case error_t::cuda_unsupported_ptx_version:
1087 : return "cuda_unsupported_ptx_version";
1088 : case error_t::cuda_jit_compilation_disabled:
1089 : return "cuda_jit_compilation_disabled";
1090 : case error_t::cuda_unsupported_exec_affinity:
1091 : return "cuda_unsupported_exec_affinity";
1092 : case error_t::cuda_invalid_source:
1093 : return "cuda_invalid_source";
1094 : case error_t::cuda_file_not_found:
1095 : return "cuda_file_not_found";
1096 : case error_t::cuda_shared_object_symbol_not_found:
1097 : return "cuda_shared_object_symbol_not_found";
1098 : case error_t::cuda_shared_object_init_failed:
1099 : return "cuda_shared_object_init_failed";
1100 : case error_t::cuda_operating_system:
1101 : return "cuda_operating_system";
1102 : case error_t::cuda_invalid_resource_handle:
1103 : return "cuda_invalid_resource_handle";
1104 : case error_t::cuda_illegal_state:
1105 : return "cuda_illegal_state";
1106 : case error_t::cuda_symbol_not_found:
1107 : return "cuda_symbol_not_found";
1108 : case error_t::cuda_not_ready:
1109 : return "cuda_not_ready";
1110 : case error_t::cuda_illegal_address:
1111 : return "cuda_illegal_address";
1112 : case error_t::cuda_launch_out_of_resources:
1113 : return "cuda_launch_out_of_resources";
1114 : case error_t::cuda_launch_timeout:
1115 : return "cuda_launch_timeout";
1116 : case error_t::cuda_launch_incompatible_texturing:
1117 : return "cuda_launch_incompatible_texturing";
1118 : case error_t::cuda_peer_access_already_enabled:
1119 : return "cuda_peer_access_already_enabled";
1120 : case error_t::cuda_peer_access_not_enabled:
1121 : return "cuda_peer_access_not_enabled";
1122 : case error_t::cuda_set_on_active_process:
1123 : return "cuda_set_on_active_process";
1124 : case error_t::cuda_context_is_destroyed:
1125 : return "cuda_context_is_destroyed";
1126 : case error_t::cuda_assert:
1127 : return "cuda_assert";
1128 : case error_t::cuda_too_many_peers:
1129 : return "cuda_too_many_peers";
1130 : case error_t::cuda_host_memory_already_registered:
1131 : return "cuda_host_memory_already_registered";
1132 : case error_t::cuda_host_memory_not_registered:
1133 : return "cuda_host_memory_not_registered";
1134 : case error_t::cuda_hardware_stack_error:
1135 : return "cuda_hardware_stack_error";
1136 : case error_t::cuda_illegal_instruction:
1137 : return "cuda_illegal_instruction";
1138 : case error_t::cuda_misaligned_address:
1139 : return "cuda_misaligned_address";
1140 : case error_t::cuda_invalid_address_space:
1141 : return "cuda_invalid_address_space";
1142 : case error_t::cuda_invalid_pc:
1143 : return "cuda_invalid_pc";
1144 : case error_t::cuda_launch_failure:
1145 : return "cuda_launch_failure";
1146 : case error_t::cuda_cooperative_launch_too_large:
1147 : return "cuda_cooperative_launch_too_large";
1148 : case error_t::cuda_not_permitted:
1149 : return "cuda_not_permitted";
1150 : case error_t::cuda_not_supported:
1151 : return "cuda_not_supported";
1152 : case error_t::cuda_system_not_ready:
1153 : return "cuda_system_not_ready";
1154 : case error_t::cuda_system_driver_mismatch:
1155 : return "cuda_system_driver_mismatch";
1156 : case error_t::cuda_compat_not_supported_on_device:
1157 : return "cuda_compat_not_supported_on_device";
1158 : case error_t::cuda_mps_connection_failed:
1159 : return "cuda_mps_connection_failed";
1160 : case error_t::cuda_mps_rpc_failure:
1161 : return "cuda_mps_rpc_failure";
1162 : case error_t::cuda_mps_server_not_ready:
1163 : return "cuda_mps_server_not_ready";
1164 : case error_t::cuda_mps_max_clients_reached:
1165 : return "cuda_mps_max_clients_reached";
1166 : case error_t::cuda_mps_max_connections_reached:
1167 : return "cuda_mps_max_connections_reached";
1168 : case error_t::cuda_mps_client_terminated:
1169 : return "cuda_mps_client_terminated";
1170 : case error_t::cuda_cdp_not_supported:
1171 : return "cuda_cdp_not_supported";
1172 : case error_t::cuda_cdp_version_mismatch:
1173 : return "cuda_cdp_version_mismatch";
1174 : case error_t::cuda_stream_capture_unsupported:
1175 : return "cuda_stream_capture_unsupported";
1176 : case error_t::cuda_stream_capture_invalidated:
1177 : return "cuda_stream_capture_invalidated";
1178 : case error_t::cuda_stream_capture_merge:
1179 : return "cuda_stream_capture_merge";
1180 : case error_t::cuda_stream_capture_unmatched:
1181 : return "cuda_stream_capture_unmatched";
1182 : case error_t::cuda_stream_capture_unjoined:
1183 : return "cuda_stream_capture_unjoined";
1184 : case error_t::cuda_stream_capture_isolation:
1185 : return "cuda_stream_capture_isolation";
1186 : case error_t::cuda_stream_capture_implicit:
1187 : return "cuda_stream_capture_implicit";
1188 : case error_t::cuda_captured_event:
1189 : return "cuda_captured_event";
1190 : case error_t::cuda_stream_capture_wrong_thread:
1191 : return "cuda_stream_capture_wrong_thread";
1192 : case error_t::cuda_timeout:
1193 : return "cuda_timeout";
1194 : case error_t::cuda_graph_exec_update_failure:
1195 : return "cuda_graph_exec_update_failure";
1196 : case error_t::cuda_external_device:
1197 : return "cuda_external_device";
1198 : case error_t::cuda_invalid_cluster_size:
1199 : return "cuda_invalid_cluster_size";
1200 : case error_t::cuda_unknown:
1201 : return "cuda_unknown";
1202 : case error_t::cuda_api_failure_base:
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 : */
1215 : static 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";
1223 : case error_t::invalidarg:
1224 : return "An argument was invalid";
1225 : case error_t::invalidconfig:
1226 : return "A config setting was invalid";
1227 : case error_t::notimpl:
1228 : return "A component or technique is not implemented";
1229 : case error_t::paramnotset:
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";
1243 : case error_t::filesystem:
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";
1253 : case error_t::filenotfound:
1254 : return "The file was not found";
1255 : case error_t::fileempty:
1256 : return "The file is empty";
1257 : case error_t::dirnotfound:
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";
1269 : case error_t::std_exception:
1270 : return "An exception was thrown";
1271 : case error_t::std_bad_alloc:
1272 : return "A bad allocation exception was thrown";
1273 : case error_t::std_logic_error:
1274 : return "A logic error exception was thrown";
1275 : case error_t::std_invalid_argument:
1276 : return "An invalid argument exception was thrown";
1277 : case error_t::std_domain_error:
1278 : return "A domain error exception was thrown";
1279 : case error_t::std_length_error:
1280 : return "A length error exception was thrown";
1281 : case error_t::std_out_of_range:
1282 : return "An out of range exception was thrown";
1283 : case error_t::std_future_error:
1284 : return "A future error exception was thrown";
1285 : case error_t::std_bad_optional_access:
1286 : return "A bad optional access exception was thrown";
1287 : case error_t::std_filesystem_error:
1288 : return "A filesystem error exception was thrown";
1289 : case error_t::std_runtime_error:
1290 : return "A runtime error exception was thrown";
1291 : case error_t::std_range_error:
1292 : return "A range error exception was thrown";
1293 : case error_t::std_overflow_error:
1294 : return "An overflow exception was thrown";
1295 : case error_t::std_underflow_error:
1296 : return "An underflow exception was thrown";
1297 : case error_t::std_ios_base_failure:
1298 : return "An ios::base::failure exception was thrown";
1299 : case error_t::std_format_error:
1300 : return "A format library exception was thrown";
1301 : case error_t::gnuploterr:
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";
1309 : case error_t::eaddrinuse:
1310 : return "Address already in use";
1311 : case error_t::eaddrnotavail:
1312 : return "Cannot assign requested address";
1313 : case error_t::eafnosupport:
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";
1329 : case error_t::econnaborted:
1330 : return "Software caused connection abort";
1331 : case error_t::econnrefused:
1332 : return "Connection refused";
1333 : case error_t::econnreset:
1334 : return "Connection reset by peer";
1335 : case error_t::edestaddrreq:
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";
1345 : case error_t::ehostunreach:
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";
1351 : case error_t::einprogress:
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";
1371 : case error_t::enametoolong:
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";
1377 : case error_t::enetunreach:
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";
1399 : case error_t::enoprotoopt:
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";
1415 : case error_t::enotrecoverable:
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";
1425 : case error_t::eopnotsupp:
1426 : return "Operation not supported";
1427 : case error_t::eoverflow:
1428 : return "Value too large for defined data type";
1429 : case error_t::eownerdead:
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";
1437 : case error_t::eprotonosupport:
1438 : return "Protocol not supported";
1439 : case error_t::eprototype:
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";
1455 : case error_t::ewouldblock:
1456 : return "Resource temporarily unavailable";
1457 : case error_t::exdev:
1458 : return "Invalid cross-device link";
1459 : case error_t::fits_same_file:
1460 : return "FITS: input and output files are the same";
1461 : case error_t::fits_too_many_files:
1462 : return "FITS: tried to open too many FITS files at once";
1463 : case error_t::fits_file_not_opened:
1464 : return "FITS: could not open the named file";
1465 : case error_t::fits_file_not_created:
1466 : return "FITS: could not create the named file";
1467 : case error_t::fits_write_error:
1468 : return "FITS: error writing to FITS file";
1469 : case error_t::fits_end_of_file:
1470 : return "FITS: tried to move past end of file";
1471 : case error_t::fits_read_error:
1472 : return "FITS: error reading from FITS file";
1473 : case error_t::fits_file_not_closed:
1474 : return "FITS: could not close the file";
1475 : case error_t::fits_array_too_big:
1476 : return "FITS: array dimensions exceed internal limit";
1477 : case error_t::fits_readonly_file:
1478 : return "FITS: Cannot write to readonly file";
1479 : case error_t::fits_memory_allocation:
1480 : return "FITS: Could not allocate memory";
1481 : case error_t::fits_bad_fileptr:
1482 : return "FITS: invalid fitsfile pointer";
1483 : case error_t::fits_null_input_ptr:
1484 : return "FITS: NULL input pointer to routine";
1485 : case error_t::fits_seek_error:
1486 : return "FITS: error seeking position in file";
1487 : case error_t::fits_bad_nettimeout:
1488 : return "FITS: bad value for file download timeout setting";
1489 : case error_t::fits_bad_url_prefix:
1490 : return "FITS: invalid URL prefix on file name";
1491 : case error_t::fits_too_many_drivers:
1492 : return "FITS: tried to register too many IO drivers";
1493 : case error_t::fits_driver_init_failed:
1494 : return "FITS: driver initialization failed";
1495 : case error_t::fits_no_matching_driver:
1496 : return "FITS: matching driver is not registered";
1497 : case error_t::fits_url_parse_error:
1498 : return "FITS: failed to parse input file URL";
1499 : case error_t::fits_range_parse_error:
1500 : return "FITS: parse error in range list";
1501 : case error_t::fits_shared_badarg:
1502 : return "FITS: bad argument in shared memory driver";
1503 : case error_t::fits_shared_nulptr:
1504 : return "FITS: null pointer passed as an argument";
1505 : case error_t::fits_shared_tabfull:
1506 : return "FITS: no more free shared memory handles";
1507 : case error_t::fits_shared_notinit:
1508 : return "FITS: shared memory driver is not initialized";
1509 : case error_t::fits_shared_ipcerr:
1510 : return "FITS: IPC error returned by a system call";
1511 : case error_t::fits_shared_nomem:
1512 : return "FITS: no memory in shared memory driver";
1513 : case error_t::fits_shared_again:
1514 : return "FITS: resource deadlock would occur";
1515 : case error_t::fits_shared_nofile:
1516 : return "FITS: attempt to open/create lock file failed";
1517 : case error_t::fits_shared_noresize:
1518 : return "FITS: shared memory block cannot be resized at the moment";
1519 : case error_t::fits_header_not_empty:
1520 : return "FITS: header already contains keywords";
1521 : case error_t::fits_key_no_exist:
1522 : return "FITS: keyword not found in header";
1523 : case error_t::fits_key_out_bounds:
1524 : return "FITS: keyword record number is out of bounds";
1525 : case error_t::fits_value_undefined:
1526 : return "FITS: keyword value field is blank";
1527 : case error_t::fits_no_quote:
1528 : return "FITS: string is missing the closing quote";
1529 : case error_t::fits_bad_index_key:
1530 : return "FITS: illegal indexed keyword name (e.g. 'TFORM1000')";
1531 : case error_t::fits_bad_keychar:
1532 : return "FITS: illegal character in keyword name or card";
1533 : case error_t::fits_bad_order:
1534 : return "FITS: required keywords out of order";
1535 : case error_t::fits_not_pos_int:
1536 : return "FITS: keyword value is not a positive integer";
1537 : case error_t::fits_no_end:
1538 : return "FITS: couldn't find END keyword";
1539 : case error_t::fits_bad_bitpix:
1540 : return "FITS: illegal BITPIX keyword value";
1541 : case error_t::fits_bad_naxis:
1542 : return "FITS: illegal NAXIS keyword value";
1543 : case error_t::fits_bad_naxes:
1544 : return "FITS: illegal NAXISn keyword value";
1545 : case error_t::fits_bad_pcount:
1546 : return "FITS: illegal PCOUNT keyword value";
1547 : case error_t::fits_bad_gcount:
1548 : return "FITS: illegal GCOUNT keyword value";
1549 : case error_t::fits_bad_tfields:
1550 : return "FITS: illegal TFIELDS keyword value";
1551 : case error_t::fits_neg_width:
1552 : return "FITS: negative table row size";
1553 : case error_t::fits_neg_rows:
1554 : return "FITS: negative number of rows in table";
1555 : case error_t::fits_col_not_found:
1556 : return "FITS: column with this name not found in table";
1557 : case error_t::fits_bad_simple:
1558 : return "FITS: illegal value of SIMPLE keyword";
1559 : case error_t::fits_no_simple:
1560 : return "FITS: Primary array doesn't start with SIMPLE";
1561 : case error_t::fits_no_bitpix:
1562 : return "FITS: Second keyword not BITPIX";
1563 : case error_t::fits_no_naxis:
1564 : return "FITS: Third keyword not NAXIS";
1565 : case error_t::fits_no_naxes:
1566 : return "FITS: Couldn't find all the NAXISn keywords";
1567 : case error_t::fits_no_xtension:
1568 : return "FITS: HDU doesn't start with XTENSION keyword";
1569 : case error_t::fits_not_atable:
1570 : return "FITS: the CHDU is not an ASCII table extension";
1571 : case error_t::fits_not_btable:
1572 : return "FITS: the CHDU is not a binary table extension";
1573 : case error_t::fits_no_pcount:
1574 : return "FITS: couldn't find PCOUNT keyword";
1575 : case error_t::fits_no_gcount:
1576 : return "FITS: couldn't find GCOUNT keyword";
1577 : case error_t::fits_no_tfields:
1578 : return "FITS: couldn't find TFIELDS keyword";
1579 : case error_t::fits_no_tbcol:
1580 : return "FITS: couldn't find TBCOLn keyword";
1581 : case error_t::fits_no_tform:
1582 : return "FITS: couldn't find TFORMn keyword";
1583 : case error_t::fits_not_image:
1584 : return "FITS: the CHDU is not an IMAGE extension";
1585 : case error_t::fits_bad_tbcol:
1586 : return "FITS: TBCOLn keyword value < 0 or > rowlength";
1587 : case error_t::fits_not_table:
1588 : return "FITS: the CHDU is not a table";
1589 : case error_t::fits_col_too_wide:
1590 : return "FITS: column is too wide to fit in table";
1591 : case error_t::fits_col_not_unique:
1592 : return "FITS: more than 1 column name matches template";
1593 : case error_t::fits_bad_row_width:
1594 : return "FITS: sum of column widths not = NAXIS1";
1595 : case error_t::fits_unknown_ext:
1596 : return "FITS: unrecognizable FITS extension type";
1597 : case error_t::fits_unknown_rec:
1598 : return "FITS: unknown record; 1st keyword not SIMPLE or XTENSION";
1599 : case error_t::fits_end_junk:
1600 : return "FITS: END keyword is not blank";
1601 : case error_t::fits_bad_header_fill:
1602 : return "FITS: Header fill area contains non-blank chars";
1603 : case error_t::fits_bad_data_fill:
1604 : return "FITS: Illegal data fill bytes (not zero or blank)";
1605 : case error_t::fits_bad_tform:
1606 : return "FITS: illegal TFORM format code";
1607 : case error_t::fits_bad_tform_dtype:
1608 : return "FITS: unrecognizable TFORM data type code";
1609 : case error_t::fits_bad_tdim:
1610 : return "FITS: illegal TDIMn keyword value";
1611 : case error_t::fits_bad_heap_ptr:
1612 : return "FITS: invalid BINTABLE heap pointer is out of range";
1613 : case error_t::fits_bad_hdu_num:
1614 : return "FITS: HDU number < 1";
1615 : case error_t::fits_bad_col_num:
1616 : return "FITS: column number < 1 or > tfields";
1617 : case error_t::fits_neg_file_pos:
1618 : return "FITS: tried to move to negative byte location in file";
1619 : case error_t::fits_neg_bytes:
1620 : return "FITS: tried to read or write negative number of bytes";
1621 : case error_t::fits_bad_row_num:
1622 : return "FITS: illegal starting row number in table";
1623 : case error_t::fits_bad_elem_num:
1624 : return "FITS: illegal starting element number in vector";
1625 : case error_t::fits_not_ascii_col:
1626 : return "FITS: this is not an ASCII string column";
1627 : case error_t::fits_not_logical_col:
1628 : return "FITS: this is not a logical data type column";
1629 : case error_t::fits_bad_atable_format:
1630 : return "FITS: ASCII table column has wrong format";
1631 : case error_t::fits_bad_btable_format:
1632 : return "FITS: Binary table column has wrong format";
1633 : case error_t::fits_no_null:
1634 : return "FITS: null value has not been defined";
1635 : case error_t::fits_not_vari_len:
1636 : return "FITS: this is not a variable length column";
1637 : case error_t::fits_bad_dimen:
1638 : return "FITS: illegal number of dimensions in array";
1639 : case error_t::fits_bad_pix_num:
1640 : return "FITS: first pixel number greater than last pixel";
1641 : case error_t::fits_zero_scale:
1642 : return "FITS: illegal BSCALE or TSCALn keyword = 0";
1643 : case error_t::fits_neg_axis:
1644 : return "FITS: illegal axis length < 1";
1645 : case error_t::fits_not_group_table:
1646 : return "FITS: Grouping function error";
1647 : case error_t::fits_hdu_already_member:
1648 : return "FITS: hdu already member";
1649 : case error_t::fits_member_not_found:
1650 : return "FITS: member not found";
1651 : case error_t::fits_group_not_found:
1652 : return "FITS: group not found";
1653 : case error_t::fits_bad_group_id:
1654 : return "FITS: bad group id";
1655 : case error_t::fits_too_many_hdus_tracked:
1656 : return "FITS: too many hdus tracked";
1657 : case error_t::fits_hdu_already_tracked:
1658 : return "FITS: hdu already tracked";
1659 : case error_t::fits_bad_option:
1660 : return "FITS: bad option";
1661 : case error_t::fits_identical_pointers:
1662 : return "FITS: identical pointers";
1663 : case error_t::fits_bad_group_attach:
1664 : return "FITS: bad group attach";
1665 : case error_t::fits_bad_group_detach:
1666 : return "FITS: bad group detach";
1667 : case error_t::fits_ngp_no_memory:
1668 : return "FITS: malloc failed";
1669 : case error_t::fits_ngp_read_err:
1670 : return "FITS: read error from file";
1671 : case error_t::fits_ngp_nul_ptr:
1672 : return "FITS: null pointer passed as an argument.";
1673 : case error_t::fits_ngp_empty_curline:
1674 : return "FITS: line read seems to be empty (used";
1675 : case error_t::fits_ngp_unread_queue_full:
1676 : return "FITS: cannot unread more then 1 line";
1677 : case error_t::fits_ngp_inc_nesting:
1678 : return "FITS: too deep include file nesting ";
1679 : case error_t::fits_ngp_err_fopen:
1680 : return "FITS: fopen() failed, cannot open template file";
1681 : case error_t::fits_ngp_eof:
1682 : return "FITS: end of file encountered and not expected";
1683 : case error_t::fits_ngp_bad_arg:
1684 : return "FITS: bad arguments passed.";
1685 : case error_t::fits_ngp_token_not_expect:
1686 : return "FITS: token not expected here";
1687 : case error_t::fits_bad_i2c:
1688 : return "FITS: bad int to formatted string conversion";
1689 : case error_t::fits_bad_f2c:
1690 : return "FITS: bad float to formatted string conversion";
1691 : case error_t::fits_bad_intkey:
1692 : return "FITS: can't interpret keyword value as integer";
1693 : case error_t::fits_bad_logicalkey:
1694 : return "FITS: can't interpret keyword value as logical";
1695 : case error_t::fits_bad_floatkey:
1696 : return "FITS: can't interpret keyword value as float";
1697 : case error_t::fits_bad_doublekey:
1698 : return "FITS: can't interpret keyword value as double";
1699 : case error_t::fits_bad_c2i:
1700 : return "FITS: bad formatted string to int conversion";
1701 : case error_t::fits_bad_c2f:
1702 : return "FITS: bad formatted string to float conversion";
1703 : case error_t::fits_bad_c2d:
1704 : return "FITS: bad formatted string to double conversion";
1705 : case error_t::fits_bad_datatype:
1706 : return "FITS: illegal datatype code value";
1707 : case error_t::fits_bad_decim:
1708 : return "FITS: bad number of decimal places specified";
1709 : case error_t::fits_num_overflow:
1710 : return "FITS: overflow during data type conversion";
1711 : case error_t::fits_data_compression_err:
1712 : return "FITS: error compressing image";
1713 : case error_t::fits_data_decompression_err:
1714 : return "FITS: error uncompressing image";
1715 : case error_t::fits_bad_date:
1716 : return "FITS: error in date or time conversion";
1717 : case error_t::fits_parse_syntax_err:
1718 : return "FITS: syntax error in parser expression";
1719 : case error_t::fits_parse_bad_type:
1720 : return "FITS: expression did not evaluate to desired type";
1721 : case error_t::fits_parse_lrg_vector:
1722 : return "FITS: vector result too large to return in array";
1723 : case error_t::fits_parse_no_output:
1724 : return "FITS: data parser failed not sent an out column";
1725 : case error_t::fits_parse_bad_col:
1726 : return "FITS: bad data encounter while parsing column";
1727 : case error_t::fits_parse_bad_output:
1728 : return "FITS: Output file not of proper type";
1729 : case error_t::fits_angle_too_big:
1730 : return "FITS: celestial angle too large for projection";
1731 : case error_t::fits_bad_wcs_val:
1732 : return "FITS: bad celestial coordinate or pixel value";
1733 : case error_t::fits_wcs_error:
1734 : return "FITS: error in celestial coordinate calculation";
1735 : case error_t::fits_bad_wcs_proj:
1736 : return "FITS: unsupported type of celestial projection";
1737 : case error_t::fits_no_wcs_key:
1738 : return "FITS: celestial coordinate keywords not found";
1739 : case error_t::fits_approx_wcs_key:
1740 : return "FITS: approximate wcs keyword values were returned";
1741 : case error_t::cuda_success:
1742 : return "CUDA: no error";
1743 : case error_t::cuda_invalid_value:
1744 : return "CUDA: invalid argument";
1745 : case error_t::cuda_memory_allocation:
1746 : return "CUDA: out of memory";
1747 : case error_t::cuda_initialization_error:
1748 : return "CUDA: initialization error";
1749 : case error_t::cuda_cudart_unloading:
1750 : return "CUDA: driver shutting down";
1751 : case error_t::cuda_profiler_disabled:
1752 : return "CUDA: profiler disabled while using external profiling tool";
1753 : case error_t::cuda_profiler_not_initialized:
1754 : return "CUDA: profiler not initialized: call cudaProfilerInitialize()";
1755 : case error_t::cuda_profiler_already_started:
1756 : return "CUDA: profiler already started";
1757 : case error_t::cuda_profiler_already_stopped:
1758 : return "CUDA: profiler already stopped";
1759 : case error_t::cuda_invalid_configuration:
1760 : return "CUDA: invalid configuration argument";
1761 : case error_t::cuda_invalid_pitch_value:
1762 : return "CUDA: invalid pitch argument";
1763 : case error_t::cuda_invalid_symbol:
1764 : return "CUDA: invalid device symbol";
1765 : case error_t::cuda_invalid_host_pointer:
1766 : return "CUDA: invalid host pointer";
1767 : case error_t::cuda_invalid_device_pointer:
1768 : return "CUDA: invalid device pointer";
1769 : case error_t::cuda_invalid_texture:
1770 : return "CUDA: invalid texture reference";
1771 : case error_t::cuda_invalid_texture_binding:
1772 : return "CUDA: texture is not bound to a pointer";
1773 : case error_t::cuda_invalid_channel_descriptor:
1774 : return "CUDA: invalid channel descriptor";
1775 : case error_t::cuda_invalid_memcpy_direction:
1776 : return "CUDA: invalid copy direction for memcpy";
1777 : case error_t::cuda_address_of_constant:
1778 : return "CUDA: invalid address of constant";
1779 : case error_t::cuda_texture_fetch_failed:
1780 : return "CUDA: fetch from texture failed";
1781 : case error_t::cuda_texture_not_bound:
1782 : return "CUDA: cannot fetch from a texture that is not bound";
1783 : case error_t::cuda_synchronization_error:
1784 : return "CUDA: incorrect use of __syncthreads()";
1785 : case error_t::cuda_invalid_filter_setting:
1786 : return "CUDA: linear filtering not supported for non-float type";
1787 : case error_t::cuda_invalid_norm_setting:
1788 : return "CUDA: read as normalized float not supported for 32-bit non float type";
1789 : case error_t::cuda_mixed_device_execution:
1790 : return "CUDA: device emulation mode and device execution mode cannot be mixed";
1791 : case error_t::cuda_not_yet_implemented:
1792 : return "CUDA: feature not yet implemented";
1793 : case error_t::cuda_memory_value_too_large:
1794 : return "CUDA: memory size or pointer value too large to fit in 32 bit";
1795 : case error_t::cuda_stub_library:
1796 : return "CUDA: CUDA driver is a stub library";
1797 : case error_t::cuda_insufficient_driver:
1798 : return "CUDA: CUDA driver version is insufficient for CUDA runtime version";
1799 : case error_t::cuda_call_requires_newer_driver:
1800 : return "CUDA: API call is not supported in the installed CUDA driver";
1801 : case error_t::cuda_invalid_surface:
1802 : return "CUDA: invalid surface reference";
1803 : case error_t::cuda_duplicate_variable_name:
1804 : return "CUDA: duplicate global variable looked up by string name";
1805 : case error_t::cuda_duplicate_texture_name:
1806 : return "CUDA: duplicate texture looked up by string name";
1807 : case error_t::cuda_duplicate_surface_name:
1808 : return "CUDA: duplicate surface looked up by string name";
1809 : case error_t::cuda_devices_unavailable:
1810 : return "CUDA: CUDA-capable device(s) is/are busy or unavailable";
1811 : case error_t::cuda_incompatible_driver_context:
1812 : return "CUDA: incompatible driver context";
1813 : case error_t::cuda_missing_configuration:
1814 : return "CUDA: __global__ function call is not configured";
1815 : case error_t::cuda_prior_launch_failure:
1816 : return "CUDA: unspecified launch failure in prior launch";
1817 : case error_t::cuda_launch_max_depth_exceeded:
1818 : return "CUDA: launch would exceed maximum depth of nested launches";
1819 : case error_t::cuda_launch_file_scoped_tex:
1820 : return "CUDA: launch failed because kernel uses unsupported, file-scoped textures (texture objects are supported)";
1821 : case error_t::cuda_launch_file_scoped_surf:
1822 : return "CUDA: launch failed because kernel uses unsupported, file-scoped surfaces (surface objects are supported)";
1823 : case error_t::cuda_sync_depth_exceeded:
1824 : return "CUDA: cudaDeviceSynchronize failed because caller's grid depth exceeds cudaLimitDevRuntimeSyncDepth";
1825 : case error_t::cuda_launch_pending_count_exceeded:
1826 : return "CUDA: launch failed because launch would exceed cudaLimitDevRuntimePendingLaunchCount";
1827 : case error_t::cuda_invalid_device_function:
1828 : return "CUDA: invalid device function";
1829 : case error_t::cuda_no_device:
1830 : return "CUDA: no CUDA-capable device is detected";
1831 : case error_t::cuda_invalid_device:
1832 : return "CUDA: invalid device ordinal";
1833 : case error_t::cuda_device_not_licensed:
1834 : return "CUDA: device doesn't have valid Grid license";
1835 : case error_t::cuda_software_validity_not_established:
1836 : return "CUDA: integrity checks failed";
1837 : case error_t::cuda_startup_failure:
1838 : return "CUDA: startup failure in cuda runtime";
1839 : case error_t::cuda_invalid_kernel_image:
1840 : return "CUDA: device kernel image is invalid";
1841 : case error_t::cuda_device_uninitialized:
1842 : return "CUDA: invalid device context";
1843 : case error_t::cuda_map_buffer_object_failed:
1844 : return "CUDA: mapping of buffer object failed";
1845 : case error_t::cuda_unmap_buffer_object_failed:
1846 : return "CUDA: unmapping of buffer object failed";
1847 : case error_t::cuda_array_is_mapped:
1848 : return "CUDA: array is mapped";
1849 : case error_t::cuda_already_mapped:
1850 : return "CUDA: resource already mapped";
1851 : case error_t::cuda_no_kernel_image_for_device:
1852 : return "CUDA: no kernel image is available for execution on the device";
1853 : case error_t::cuda_already_acquired:
1854 : return "CUDA: resource already acquired";
1855 : case error_t::cuda_not_mapped:
1856 : return "CUDA: resource not mapped";
1857 : case error_t::cuda_not_mapped_as_array:
1858 : return "CUDA: resource not mapped as array";
1859 : case error_t::cuda_not_mapped_as_pointer:
1860 : return "CUDA: resource not mapped as pointer";
1861 : case error_t::cuda_e_c_c_uncorrectable:
1862 : return "CUDA: uncorrectable ECC error encountered";
1863 : case error_t::cuda_unsupported_limit:
1864 : return "CUDA: limit is not supported on this architecture";
1865 : case error_t::cuda_device_already_in_use:
1866 : return "CUDA: exclusive-thread device already in use by a different thread";
1867 : case error_t::cuda_peer_access_unsupported:
1868 : return "CUDA: peer access is not supported between these two devices";
1869 : case error_t::cuda_invalid_ptx:
1870 : return "CUDA: a PTX JIT compilation failed";
1871 : case error_t::cuda_invalid_graphics_context:
1872 : return "CUDA: invalid OpenGL or DirectX context";
1873 : case error_t::cuda_nvlink_uncorrectable:
1874 : return "CUDA: uncorrectable NVLink error detected during the execution";
1875 : case error_t::cuda_jit_compiler_not_found:
1876 : return "CUDA: PTX JIT compiler library not found";
1877 : case error_t::cuda_unsupported_ptx_version:
1878 : return "CUDA: the provided PTX was compiled with an unsupported toolchain.";
1879 : case error_t::cuda_jit_compilation_disabled:
1880 : return "CUDA: PTX JIT compilation was disabled";
1881 : case error_t::cuda_unsupported_exec_affinity:
1882 : return "CUDA: the provided execution affinity is not supported";
1883 : case error_t::cuda_invalid_source:
1884 : return "CUDA: device kernel image is invalid";
1885 : case error_t::cuda_file_not_found:
1886 : return "CUDA: file not found";
1887 : case error_t::cuda_shared_object_symbol_not_found:
1888 : return "CUDA: shared object symbol not found";
1889 : case error_t::cuda_shared_object_init_failed:
1890 : return "CUDA: shared object initialization failed";
1891 : case error_t::cuda_operating_system:
1892 : return "CUDA: OS call failed or operation not supported on this OS";
1893 : case error_t::cuda_invalid_resource_handle:
1894 : return "CUDA: invalid resource handle";
1895 : case error_t::cuda_illegal_state:
1896 : return "CUDA: the operation cannot be performed in the present state";
1897 : case error_t::cuda_symbol_not_found:
1898 : return "CUDA: named symbol not found";
1899 : case error_t::cuda_not_ready:
1900 : return "CUDA: device not ready";
1901 : case error_t::cuda_illegal_address:
1902 : return "CUDA: an illegal memory access was encountered";
1903 : case error_t::cuda_launch_out_of_resources:
1904 : return "CUDA: too many resources requested for launch";
1905 : case error_t::cuda_launch_timeout:
1906 : return "CUDA: the launch timed out and was terminated";
1907 : case error_t::cuda_launch_incompatible_texturing:
1908 : return "CUDA: launch uses incompatible texturing mode";
1909 : case error_t::cuda_peer_access_already_enabled:
1910 : return "CUDA: peer access is already enabled";
1911 : case error_t::cuda_peer_access_not_enabled:
1912 : return "CUDA: peer access has not been enabled";
1913 : case error_t::cuda_set_on_active_process:
1914 : return "CUDA: cannot set while device is active in this process";
1915 : case error_t::cuda_context_is_destroyed:
1916 : return "CUDA: context is destroyed";
1917 : case error_t::cuda_assert:
1918 : return "CUDA: device-side assert triggered";
1919 : case error_t::cuda_too_many_peers:
1920 : return "CUDA: peer mapping resources exhausted";
1921 : case error_t::cuda_host_memory_already_registered:
1922 : return "CUDA: part or all of the requested memory range is already mapped";
1923 : case error_t::cuda_host_memory_not_registered:
1924 : return "CUDA: pointer does not correspond to a registered memory region";
1925 : case error_t::cuda_hardware_stack_error:
1926 : return "CUDA: hardware stack error";
1927 : case error_t::cuda_illegal_instruction:
1928 : return "CUDA: an illegal instruction was encountered";
1929 : case error_t::cuda_misaligned_address:
1930 : return "CUDA: misaligned address";
1931 : case error_t::cuda_invalid_address_space:
1932 : return "CUDA: operation not supported on global/shared address space";
1933 : case error_t::cuda_invalid_pc:
1934 : return "CUDA: invalid program counter";
1935 : case error_t::cuda_launch_failure:
1936 : return "CUDA: unspecified launch failure";
1937 : case error_t::cuda_cooperative_launch_too_large:
1938 : return "CUDA: too many blocks in cooperative launch";
1939 : case error_t::cuda_not_permitted:
1940 : return "CUDA: operation not permitted";
1941 : case error_t::cuda_not_supported:
1942 : return "CUDA: operation not supported";
1943 : case error_t::cuda_system_not_ready:
1944 : return "CUDA: system not yet initialized";
1945 : case error_t::cuda_system_driver_mismatch:
1946 : return "CUDA: system has unsupported display driver / cuda driver combination";
1947 : case error_t::cuda_compat_not_supported_on_device:
1948 : return "CUDA: forward compatibility was attempted on non supported HW";
1949 : case error_t::cuda_mps_connection_failed:
1950 : return "CUDA: MPS client failed to connect to the MPS control daemon or the MPS server";
1951 : case error_t::cuda_mps_rpc_failure:
1952 : return "CUDA: the remote procedural call between the MPS server and the MPS client failed";
1953 : case error_t::cuda_mps_server_not_ready:
1954 : return "CUDA: MPS server is not ready to accept new MPS client requests";
1955 : case error_t::cuda_mps_max_clients_reached:
1956 : return "CUDA: the hardware resources required to create MPS client have been exhausted";
1957 : case error_t::cuda_mps_max_connections_reached:
1958 : return "CUDA: the hardware resources required to support device connections have been exhausted";
1959 : case error_t::cuda_mps_client_terminated:
1960 : return "CUDA: the MPS client has been terminated by the server";
1961 : case error_t::cuda_cdp_not_supported:
1962 : return "CUDA: is using CUDA Dynamic Parallelism, but the current configuration, like MPS, does not support it";
1963 : case error_t::cuda_cdp_version_mismatch:
1964 : return "CUDA: unsupported interaction between different versions of CUDA Dynamic Parallelism";
1965 : case error_t::cuda_stream_capture_unsupported:
1966 : return "CUDA: operation not permitted when stream is capturing";
1967 : case error_t::cuda_stream_capture_invalidated:
1968 : return "CUDA: operation failed due to a previous error during capture";
1969 : case error_t::cuda_stream_capture_merge:
1970 : return "CUDA: operation would result in a merge of separate capture sequences";
1971 : case error_t::cuda_stream_capture_unmatched:
1972 : return "CUDA: capture was not ended in the same stream as it began";
1973 : case error_t::cuda_stream_capture_unjoined:
1974 : return "CUDA: capturing stream has unjoined work";
1975 : case error_t::cuda_stream_capture_isolation:
1976 : return "CUDA: dependency created on uncaptured work in another stream";
1977 : case error_t::cuda_stream_capture_implicit:
1978 : return "CUDA: operation would make the legacy stream depend on a capturing blocking stream";
1979 : case error_t::cuda_captured_event:
1980 : return "CUDA: operation not permitted on an event last recorded in a capturing stream";
1981 : case error_t::cuda_stream_capture_wrong_thread:
1982 : return "CUDA: attempt to terminate a thread-local capture sequence from another thread";
1983 : case error_t::cuda_timeout:
1984 : return "CUDA: wait operation timed out";
1985 : case error_t::cuda_graph_exec_update_failure:
1986 : return "CUDA: the graph update was not performed because it included changes which violated constraints specific to instantiated graph update";
1987 : case error_t::cuda_external_device:
1988 : return "CUDA: an async error has occured in external entity outside of CUDA";
1989 : case error_t::cuda_invalid_cluster_size:
1990 : return "CUDA: a kernel launch error has occurred due to cluster misconfiguration";
1991 : case error_t::cuda_unknown:
1992 : return "CUDA: unknown error";
1993 : case error_t::cuda_api_failure_base:
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 : */
2006 2 : static constexpr error_t errno2error_t( const int & err/**< [in] the errno code to convert*/)
2007 : {
2008 2 : switch(err)
2009 : {
2010 1 : case EACCES:
2011 1 : return error_t::eacces;
2012 0 : case EADDRINUSE:
2013 0 : return error_t::eaddrinuse;
2014 0 : case EADDRNOTAVAIL:
2015 0 : return error_t::eaddrnotavail;
2016 0 : case EAFNOSUPPORT:
2017 0 : return error_t::eafnosupport;
2018 0 : case EAGAIN:
2019 0 : return error_t::eagain;
2020 0 : case EALREADY:
2021 0 : return error_t::ealready;
2022 0 : case EBADF:
2023 0 : return error_t::ebadf;
2024 0 : case EBADMSG:
2025 0 : return error_t::ebadmsg;
2026 0 : case EBUSY:
2027 0 : return error_t::ebusy;
2028 0 : case ECANCELED:
2029 0 : return error_t::ecanceled;
2030 0 : case ECHILD:
2031 0 : return error_t::echild;
2032 0 : case ECONNABORTED:
2033 0 : return error_t::econnaborted;
2034 0 : case ECONNREFUSED:
2035 0 : return error_t::econnrefused;
2036 0 : case ECONNRESET:
2037 0 : return error_t::econnreset;
2038 0 : case EDESTADDRREQ:
2039 0 : return error_t::edestaddrreq;
2040 0 : case EDOM:
2041 0 : return error_t::edom;
2042 1 : case EEXIST:
2043 1 : return error_t::eexist;
2044 0 : case EFAULT:
2045 0 : return error_t::efault;
2046 0 : case EFBIG:
2047 0 : return error_t::efbig;
2048 0 : case EHOSTUNREACH:
2049 0 : return error_t::ehostunreach;
2050 0 : case EIDRM:
2051 0 : return error_t::eidrm;
2052 0 : case EILSEQ:
2053 0 : return error_t::eilseq;
2054 0 : case EINPROGRESS:
2055 0 : return error_t::einprogress;
2056 0 : case EINTR:
2057 0 : return error_t::eintr;
2058 0 : case EINVAL:
2059 0 : return error_t::einval;
2060 0 : case EIO:
2061 0 : return error_t::eio;
2062 0 : case EISCONN:
2063 0 : return error_t::eisconn;
2064 0 : case EISDIR:
2065 0 : return error_t::eisdir;
2066 0 : case ELOOP:
2067 0 : return error_t::eloop;
2068 0 : case EMFILE:
2069 0 : return error_t::emfile;
2070 0 : case EMLINK:
2071 0 : return error_t::emlink;
2072 0 : case EMSGSIZE:
2073 0 : return error_t::emsgsize;
2074 0 : case ENAMETOOLONG:
2075 0 : return error_t::enametoolong;
2076 0 : case ENETDOWN:
2077 0 : return error_t::enetdown;
2078 0 : case ENETRESET:
2079 0 : return error_t::enetreset;
2080 0 : case ENETUNREACH:
2081 0 : return error_t::enetunreach;
2082 0 : case ENFILE:
2083 0 : return error_t::enfile;
2084 0 : case ENOBUFS:
2085 0 : return error_t::enobufs;
2086 0 : case ENODATA:
2087 0 : return error_t::enodata;
2088 0 : case ENODEV:
2089 0 : return error_t::enodev;
2090 0 : case ENOENT:
2091 0 : return error_t::enoent;
2092 0 : case ENOEXEC:
2093 0 : return error_t::enoexec;
2094 0 : case ENOLCK:
2095 0 : return error_t::enolck;
2096 0 : case ENOLINK:
2097 0 : return error_t::enolink;
2098 0 : case ENOMEM:
2099 0 : return error_t::enomem;
2100 0 : case ENOMSG:
2101 0 : return error_t::enomsg;
2102 0 : case ENOPROTOOPT:
2103 0 : return error_t::enoprotoopt;
2104 0 : case ENOSPC:
2105 0 : return error_t::enospc;
2106 0 : case ENOSR:
2107 0 : return error_t::enosr;
2108 0 : case ENOSTR:
2109 0 : return error_t::enostr;
2110 0 : case ENOSYS:
2111 0 : return error_t::enosys;
2112 0 : case ENOTCONN:
2113 0 : return error_t::enotconn;
2114 0 : case ENOTDIR:
2115 0 : return error_t::enotdir;
2116 0 : case ENOTEMPTY:
2117 0 : return error_t::enotempty;
2118 0 : case ENOTRECOVERABLE:
2119 0 : return error_t::enotrecoverable;
2120 0 : case ENOTSOCK:
2121 0 : return error_t::enotsock;
2122 0 : case ENOTSUP:
2123 0 : return error_t::enotsup;
2124 0 : case ENOTTY:
2125 0 : return error_t::enotty;
2126 0 : case ENXIO:
2127 0 : return error_t::enxio;
2128 0 : case EOVERFLOW:
2129 0 : return error_t::eoverflow;
2130 0 : case EOWNERDEAD:
2131 0 : return error_t::eownerdead;
2132 0 : case EPERM:
2133 0 : return error_t::eperm;
2134 0 : case EPIPE:
2135 0 : return error_t::epipe;
2136 0 : case EPROTO:
2137 0 : return error_t::eproto;
2138 0 : case EPROTONOSUPPORT:
2139 0 : return error_t::eprotonosupport;
2140 0 : case EPROTOTYPE:
2141 0 : return error_t::eprototype;
2142 0 : case ERANGE:
2143 0 : return error_t::erange;
2144 0 : case EROFS:
2145 0 : return error_t::erofs;
2146 0 : case ESPIPE:
2147 0 : return error_t::espipe;
2148 0 : case ESRCH:
2149 0 : return error_t::esrch;
2150 0 : case ETIME:
2151 0 : return error_t::etime;
2152 0 : case ETIMEDOUT:
2153 0 : return error_t::etimedout;
2154 0 : case ETXTBSY:
2155 0 : return error_t::etxtbsy;
2156 0 : case EXDEV:
2157 0 : return error_t::exdev;
2158 0 : default:
2159 0 : 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 : */
2169 0 : static constexpr error_t fits_status2error_t( const int & err/**< [in] the fits status code to convert*/)
2170 : {
2171 0 : switch(err)
2172 : {
2173 0 : case 0:
2174 0 : return error_t::noerror;
2175 0 : case SAME_FILE:
2176 0 : return error_t::fits_same_file;
2177 0 : case TOO_MANY_FILES:
2178 0 : return error_t::fits_too_many_files;
2179 0 : case FILE_NOT_OPENED:
2180 0 : return error_t::fits_file_not_opened;
2181 0 : case FILE_NOT_CREATED:
2182 0 : return error_t::fits_file_not_created;
2183 0 : case WRITE_ERROR:
2184 0 : return error_t::fits_write_error;
2185 0 : case END_OF_FILE:
2186 0 : return error_t::fits_end_of_file;
2187 0 : case READ_ERROR:
2188 0 : return error_t::fits_read_error;
2189 0 : case FILE_NOT_CLOSED:
2190 0 : return error_t::fits_file_not_closed;
2191 0 : case ARRAY_TOO_BIG:
2192 0 : return error_t::fits_array_too_big;
2193 0 : case READONLY_FILE:
2194 0 : return error_t::fits_readonly_file;
2195 0 : case MEMORY_ALLOCATION:
2196 0 : return error_t::fits_memory_allocation;
2197 0 : case BAD_FILEPTR:
2198 0 : return error_t::fits_bad_fileptr;
2199 0 : case NULL_INPUT_PTR:
2200 0 : return error_t::fits_null_input_ptr;
2201 0 : case SEEK_ERROR:
2202 0 : return error_t::fits_seek_error;
2203 0 : case BAD_NETTIMEOUT:
2204 0 : return error_t::fits_bad_nettimeout;
2205 0 : case BAD_URL_PREFIX:
2206 0 : return error_t::fits_bad_url_prefix;
2207 0 : case TOO_MANY_DRIVERS:
2208 0 : return error_t::fits_too_many_drivers;
2209 0 : case DRIVER_INIT_FAILED:
2210 0 : return error_t::fits_driver_init_failed;
2211 0 : case NO_MATCHING_DRIVER:
2212 0 : return error_t::fits_no_matching_driver;
2213 0 : case URL_PARSE_ERROR:
2214 0 : return error_t::fits_url_parse_error;
2215 0 : case RANGE_PARSE_ERROR:
2216 0 : return error_t::fits_range_parse_error;
2217 0 : case SHARED_BADARG:
2218 0 : return error_t::fits_shared_badarg;
2219 0 : case SHARED_NULPTR:
2220 0 : return error_t::fits_shared_nulptr;
2221 0 : case SHARED_TABFULL:
2222 0 : return error_t::fits_shared_tabfull;
2223 0 : case SHARED_NOTINIT:
2224 0 : return error_t::fits_shared_notinit;
2225 0 : case SHARED_IPCERR:
2226 0 : return error_t::fits_shared_ipcerr;
2227 0 : case SHARED_NOMEM:
2228 0 : return error_t::fits_shared_nomem;
2229 0 : case SHARED_AGAIN:
2230 0 : return error_t::fits_shared_again;
2231 0 : case SHARED_NOFILE:
2232 0 : return error_t::fits_shared_nofile;
2233 0 : case SHARED_NORESIZE:
2234 0 : return error_t::fits_shared_noresize;
2235 0 : case HEADER_NOT_EMPTY:
2236 0 : return error_t::fits_header_not_empty;
2237 0 : case KEY_NO_EXIST:
2238 0 : return error_t::fits_key_no_exist;
2239 0 : case KEY_OUT_BOUNDS:
2240 0 : return error_t::fits_key_out_bounds;
2241 0 : case VALUE_UNDEFINED:
2242 0 : return error_t::fits_value_undefined;
2243 0 : case NO_QUOTE:
2244 0 : return error_t::fits_no_quote;
2245 0 : case BAD_INDEX_KEY:
2246 0 : return error_t::fits_bad_index_key;
2247 0 : case BAD_KEYCHAR:
2248 0 : return error_t::fits_bad_keychar;
2249 0 : case BAD_ORDER:
2250 0 : return error_t::fits_bad_order;
2251 0 : case NOT_POS_INT:
2252 0 : return error_t::fits_not_pos_int;
2253 0 : case NO_END:
2254 0 : return error_t::fits_no_end;
2255 0 : case BAD_BITPIX:
2256 0 : return error_t::fits_bad_bitpix;
2257 0 : case BAD_NAXIS:
2258 0 : return error_t::fits_bad_naxis;
2259 0 : case BAD_NAXES:
2260 0 : return error_t::fits_bad_naxes;
2261 0 : case BAD_PCOUNT:
2262 0 : return error_t::fits_bad_pcount;
2263 0 : case BAD_GCOUNT:
2264 0 : return error_t::fits_bad_gcount;
2265 0 : case BAD_TFIELDS:
2266 0 : return error_t::fits_bad_tfields;
2267 0 : case NEG_WIDTH:
2268 0 : return error_t::fits_neg_width;
2269 0 : case NEG_ROWS:
2270 0 : return error_t::fits_neg_rows;
2271 0 : case COL_NOT_FOUND:
2272 0 : return error_t::fits_col_not_found;
2273 0 : case BAD_SIMPLE:
2274 0 : return error_t::fits_bad_simple;
2275 0 : case NO_SIMPLE:
2276 0 : return error_t::fits_no_simple;
2277 0 : case NO_BITPIX:
2278 0 : return error_t::fits_no_bitpix;
2279 0 : case NO_NAXIS:
2280 0 : return error_t::fits_no_naxis;
2281 0 : case NO_NAXES:
2282 0 : return error_t::fits_no_naxes;
2283 0 : case NO_XTENSION:
2284 0 : return error_t::fits_no_xtension;
2285 0 : case NOT_ATABLE:
2286 0 : return error_t::fits_not_atable;
2287 0 : case NOT_BTABLE:
2288 0 : return error_t::fits_not_btable;
2289 0 : case NO_PCOUNT:
2290 0 : return error_t::fits_no_pcount;
2291 0 : case NO_GCOUNT:
2292 0 : return error_t::fits_no_gcount;
2293 0 : case NO_TFIELDS:
2294 0 : return error_t::fits_no_tfields;
2295 0 : case NO_TBCOL:
2296 0 : return error_t::fits_no_tbcol;
2297 0 : case NO_TFORM:
2298 0 : return error_t::fits_no_tform;
2299 0 : case NOT_IMAGE:
2300 0 : return error_t::fits_not_image;
2301 0 : case BAD_TBCOL:
2302 0 : return error_t::fits_bad_tbcol;
2303 0 : case NOT_TABLE:
2304 0 : return error_t::fits_not_table;
2305 0 : case COL_TOO_WIDE:
2306 0 : return error_t::fits_col_too_wide;
2307 0 : case COL_NOT_UNIQUE:
2308 0 : return error_t::fits_col_not_unique;
2309 0 : case BAD_ROW_WIDTH:
2310 0 : return error_t::fits_bad_row_width;
2311 0 : case UNKNOWN_EXT:
2312 0 : return error_t::fits_unknown_ext;
2313 0 : case UNKNOWN_REC:
2314 0 : return error_t::fits_unknown_rec;
2315 0 : case END_JUNK:
2316 0 : return error_t::fits_end_junk;
2317 0 : case BAD_HEADER_FILL:
2318 0 : return error_t::fits_bad_header_fill;
2319 0 : case BAD_DATA_FILL:
2320 0 : return error_t::fits_bad_data_fill;
2321 0 : case BAD_TFORM:
2322 0 : return error_t::fits_bad_tform;
2323 0 : case BAD_TFORM_DTYPE:
2324 0 : return error_t::fits_bad_tform_dtype;
2325 0 : case BAD_TDIM:
2326 0 : return error_t::fits_bad_tdim;
2327 0 : case BAD_HEAP_PTR:
2328 0 : return error_t::fits_bad_heap_ptr;
2329 0 : case BAD_HDU_NUM:
2330 0 : return error_t::fits_bad_hdu_num;
2331 0 : case BAD_COL_NUM:
2332 0 : return error_t::fits_bad_col_num;
2333 0 : case NEG_FILE_POS:
2334 0 : return error_t::fits_neg_file_pos;
2335 0 : case NEG_BYTES:
2336 0 : return error_t::fits_neg_bytes;
2337 0 : case BAD_ROW_NUM:
2338 0 : return error_t::fits_bad_row_num;
2339 0 : case BAD_ELEM_NUM:
2340 0 : return error_t::fits_bad_elem_num;
2341 0 : case NOT_ASCII_COL:
2342 0 : return error_t::fits_not_ascii_col;
2343 0 : case NOT_LOGICAL_COL:
2344 0 : return error_t::fits_not_logical_col;
2345 0 : case BAD_ATABLE_FORMAT:
2346 0 : return error_t::fits_bad_atable_format;
2347 0 : case BAD_BTABLE_FORMAT:
2348 0 : return error_t::fits_bad_btable_format;
2349 0 : case NO_NULL:
2350 0 : return error_t::fits_no_null;
2351 0 : case NOT_VARI_LEN:
2352 0 : return error_t::fits_not_vari_len;
2353 0 : case BAD_DIMEN:
2354 0 : return error_t::fits_bad_dimen;
2355 0 : case BAD_PIX_NUM:
2356 0 : return error_t::fits_bad_pix_num;
2357 0 : case ZERO_SCALE:
2358 0 : return error_t::fits_zero_scale;
2359 0 : case NEG_AXIS:
2360 0 : return error_t::fits_neg_axis;
2361 0 : case NOT_GROUP_TABLE:
2362 0 : return error_t::fits_not_group_table;
2363 0 : case HDU_ALREADY_MEMBER:
2364 0 : return error_t::fits_hdu_already_member;
2365 0 : case MEMBER_NOT_FOUND:
2366 0 : return error_t::fits_member_not_found;
2367 0 : case GROUP_NOT_FOUND:
2368 0 : return error_t::fits_group_not_found;
2369 0 : case BAD_GROUP_ID:
2370 0 : return error_t::fits_bad_group_id;
2371 0 : case TOO_MANY_HDUS_TRACKED:
2372 0 : return error_t::fits_too_many_hdus_tracked;
2373 0 : case HDU_ALREADY_TRACKED:
2374 0 : return error_t::fits_hdu_already_tracked;
2375 0 : case BAD_OPTION:
2376 0 : return error_t::fits_bad_option;
2377 0 : case IDENTICAL_POINTERS:
2378 0 : return error_t::fits_identical_pointers;
2379 0 : case BAD_GROUP_ATTACH:
2380 0 : return error_t::fits_bad_group_attach;
2381 0 : case BAD_GROUP_DETACH:
2382 0 : return error_t::fits_bad_group_detach;
2383 0 : case NGP_NO_MEMORY:
2384 0 : return error_t::fits_ngp_no_memory;
2385 0 : case NGP_READ_ERR:
2386 0 : return error_t::fits_ngp_read_err;
2387 0 : case NGP_NUL_PTR:
2388 0 : return error_t::fits_ngp_nul_ptr;
2389 0 : case NGP_EMPTY_CURLINE:
2390 0 : return error_t::fits_ngp_empty_curline;
2391 0 : case NGP_UNREAD_QUEUE_FULL:
2392 0 : return error_t::fits_ngp_unread_queue_full;
2393 0 : case NGP_INC_NESTING:
2394 0 : return error_t::fits_ngp_inc_nesting;
2395 0 : case NGP_ERR_FOPEN:
2396 0 : return error_t::fits_ngp_err_fopen;
2397 0 : case NGP_EOF:
2398 0 : return error_t::fits_ngp_eof;
2399 0 : case NGP_BAD_ARG:
2400 0 : return error_t::fits_ngp_bad_arg;
2401 0 : case NGP_TOKEN_NOT_EXPECT:
2402 0 : return error_t::fits_ngp_token_not_expect;
2403 0 : case BAD_I2C:
2404 0 : return error_t::fits_bad_i2c;
2405 0 : case BAD_F2C:
2406 0 : return error_t::fits_bad_f2c;
2407 0 : case BAD_INTKEY:
2408 0 : return error_t::fits_bad_intkey;
2409 0 : case BAD_LOGICALKEY:
2410 0 : return error_t::fits_bad_logicalkey;
2411 0 : case BAD_FLOATKEY:
2412 0 : return error_t::fits_bad_floatkey;
2413 0 : case BAD_DOUBLEKEY:
2414 0 : return error_t::fits_bad_doublekey;
2415 0 : case BAD_C2I:
2416 0 : return error_t::fits_bad_c2i;
2417 0 : case BAD_C2F:
2418 0 : return error_t::fits_bad_c2f;
2419 0 : case BAD_C2D:
2420 0 : return error_t::fits_bad_c2d;
2421 0 : case BAD_DATATYPE:
2422 0 : return error_t::fits_bad_datatype;
2423 0 : case BAD_DECIM:
2424 0 : return error_t::fits_bad_decim;
2425 0 : case NUM_OVERFLOW:
2426 0 : return error_t::fits_num_overflow;
2427 0 : case DATA_COMPRESSION_ERR:
2428 0 : return error_t::fits_data_compression_err;
2429 0 : case DATA_DECOMPRESSION_ERR:
2430 0 : return error_t::fits_data_decompression_err;
2431 0 : case BAD_DATE:
2432 0 : return error_t::fits_bad_date;
2433 0 : case PARSE_SYNTAX_ERR:
2434 0 : return error_t::fits_parse_syntax_err;
2435 0 : case PARSE_BAD_TYPE:
2436 0 : return error_t::fits_parse_bad_type;
2437 0 : case PARSE_LRG_VECTOR:
2438 0 : return error_t::fits_parse_lrg_vector;
2439 0 : case PARSE_NO_OUTPUT:
2440 0 : return error_t::fits_parse_no_output;
2441 0 : case PARSE_BAD_COL:
2442 0 : return error_t::fits_parse_bad_col;
2443 0 : case PARSE_BAD_OUTPUT:
2444 0 : return error_t::fits_parse_bad_output;
2445 0 : case ANGLE_TOO_BIG:
2446 0 : return error_t::fits_angle_too_big;
2447 0 : case BAD_WCS_VAL:
2448 0 : return error_t::fits_bad_wcs_val;
2449 0 : case WCS_ERROR:
2450 0 : return error_t::fits_wcs_error;
2451 0 : case BAD_WCS_PROJ:
2452 0 : return error_t::fits_bad_wcs_proj;
2453 0 : case NO_WCS_KEY:
2454 0 : return error_t::fits_no_wcs_key;
2455 0 : case APPROX_WCS_KEY:
2456 0 : return error_t::fits_approx_wcs_key;
2457 0 : default:
2458 0 : 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 : */
2469 : static 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:
2476 : return error_t::cuda_invalid_value;
2477 : case cudaErrorMemoryAllocation:
2478 : return error_t::cuda_memory_allocation;
2479 : case cudaErrorInitializationError:
2480 : return error_t::cuda_initialization_error;
2481 : case cudaErrorCudartUnloading:
2482 : return error_t::cuda_cudart_unloading;
2483 : case cudaErrorProfilerDisabled:
2484 : return error_t::cuda_profiler_disabled;
2485 : case cudaErrorProfilerNotInitialized:
2486 : return error_t::cuda_profiler_not_initialized;
2487 : case cudaErrorProfilerAlreadyStarted:
2488 : return error_t::cuda_profiler_already_started;
2489 : case cudaErrorProfilerAlreadyStopped:
2490 : return error_t::cuda_profiler_already_stopped;
2491 : case cudaErrorInvalidConfiguration:
2492 : return error_t::cuda_invalid_configuration;
2493 : case cudaErrorInvalidPitchValue:
2494 : return error_t::cuda_invalid_pitch_value;
2495 : case cudaErrorInvalidSymbol:
2496 : return error_t::cuda_invalid_symbol;
2497 : case cudaErrorInvalidHostPointer:
2498 : return error_t::cuda_invalid_host_pointer;
2499 : case cudaErrorInvalidDevicePointer:
2500 : return error_t::cuda_invalid_device_pointer;
2501 : case cudaErrorInvalidTexture:
2502 : return error_t::cuda_invalid_texture;
2503 : case cudaErrorInvalidTextureBinding:
2504 : return error_t::cuda_invalid_texture_binding;
2505 : case cudaErrorInvalidChannelDescriptor:
2506 : return error_t::cuda_invalid_channel_descriptor;
2507 : case cudaErrorInvalidMemcpyDirection:
2508 : return error_t::cuda_invalid_memcpy_direction;
2509 : case cudaErrorAddressOfConstant:
2510 : return error_t::cuda_address_of_constant;
2511 : case cudaErrorTextureFetchFailed:
2512 : return error_t::cuda_texture_fetch_failed;
2513 : case cudaErrorTextureNotBound:
2514 : return error_t::cuda_texture_not_bound;
2515 : case cudaErrorSynchronizationError:
2516 : return error_t::cuda_synchronization_error;
2517 : case cudaErrorInvalidFilterSetting:
2518 : return error_t::cuda_invalid_filter_setting;
2519 : case cudaErrorInvalidNormSetting:
2520 : return error_t::cuda_invalid_norm_setting;
2521 : case cudaErrorMixedDeviceExecution:
2522 : return error_t::cuda_mixed_device_execution;
2523 : case cudaErrorNotYetImplemented:
2524 : return error_t::cuda_not_yet_implemented;
2525 : case cudaErrorMemoryValueTooLarge:
2526 : return error_t::cuda_memory_value_too_large;
2527 : case cudaErrorStubLibrary:
2528 : return error_t::cuda_stub_library;
2529 : case cudaErrorInsufficientDriver:
2530 : return error_t::cuda_insufficient_driver;
2531 : case cudaErrorCallRequiresNewerDriver:
2532 : return error_t::cuda_call_requires_newer_driver;
2533 : case cudaErrorInvalidSurface:
2534 : return error_t::cuda_invalid_surface;
2535 : case cudaErrorDuplicateVariableName:
2536 : return error_t::cuda_duplicate_variable_name;
2537 : case cudaErrorDuplicateTextureName:
2538 : return error_t::cuda_duplicate_texture_name;
2539 : case cudaErrorDuplicateSurfaceName:
2540 : return error_t::cuda_duplicate_surface_name;
2541 : case cudaErrorDevicesUnavailable:
2542 : return error_t::cuda_devices_unavailable;
2543 : case cudaErrorIncompatibleDriverContext:
2544 : return error_t::cuda_incompatible_driver_context;
2545 : case cudaErrorMissingConfiguration:
2546 : return error_t::cuda_missing_configuration;
2547 : case cudaErrorPriorLaunchFailure:
2548 : return error_t::cuda_prior_launch_failure;
2549 : case cudaErrorLaunchMaxDepthExceeded:
2550 : return error_t::cuda_launch_max_depth_exceeded;
2551 : case cudaErrorLaunchFileScopedTex:
2552 : return error_t::cuda_launch_file_scoped_tex;
2553 : case cudaErrorLaunchFileScopedSurf:
2554 : return error_t::cuda_launch_file_scoped_surf;
2555 : case cudaErrorSyncDepthExceeded:
2556 : return error_t::cuda_sync_depth_exceeded;
2557 : case cudaErrorLaunchPendingCountExceeded:
2558 : return error_t::cuda_launch_pending_count_exceeded;
2559 : case cudaErrorInvalidDeviceFunction:
2560 : return error_t::cuda_invalid_device_function;
2561 : case cudaErrorNoDevice:
2562 : return error_t::cuda_no_device;
2563 : case cudaErrorInvalidDevice:
2564 : return error_t::cuda_invalid_device;
2565 : case cudaErrorDeviceNotLicensed:
2566 : return error_t::cuda_device_not_licensed;
2567 : case cudaErrorSoftwareValidityNotEstablished:
2568 : return error_t::cuda_software_validity_not_established;
2569 : case cudaErrorStartupFailure:
2570 : return error_t::cuda_startup_failure;
2571 : case cudaErrorInvalidKernelImage:
2572 : return error_t::cuda_invalid_kernel_image;
2573 : case cudaErrorDeviceUninitialized:
2574 : return error_t::cuda_device_uninitialized;
2575 : case cudaErrorMapBufferObjectFailed:
2576 : return error_t::cuda_map_buffer_object_failed;
2577 : case cudaErrorUnmapBufferObjectFailed:
2578 : return error_t::cuda_unmap_buffer_object_failed;
2579 : case cudaErrorArrayIsMapped:
2580 : return error_t::cuda_array_is_mapped;
2581 : case cudaErrorAlreadyMapped:
2582 : return error_t::cuda_already_mapped;
2583 : case cudaErrorNoKernelImageForDevice:
2584 : return error_t::cuda_no_kernel_image_for_device;
2585 : case cudaErrorAlreadyAcquired:
2586 : return error_t::cuda_already_acquired;
2587 : case cudaErrorNotMapped:
2588 : return error_t::cuda_not_mapped;
2589 : case cudaErrorNotMappedAsArray:
2590 : return error_t::cuda_not_mapped_as_array;
2591 : case cudaErrorNotMappedAsPointer:
2592 : return error_t::cuda_not_mapped_as_pointer;
2593 : case cudaErrorECCUncorrectable:
2594 : return error_t::cuda_e_c_c_uncorrectable;
2595 : case cudaErrorUnsupportedLimit:
2596 : return error_t::cuda_unsupported_limit;
2597 : case cudaErrorDeviceAlreadyInUse:
2598 : return error_t::cuda_device_already_in_use;
2599 : case cudaErrorPeerAccessUnsupported:
2600 : return error_t::cuda_peer_access_unsupported;
2601 : case cudaErrorInvalidPtx:
2602 : return error_t::cuda_invalid_ptx;
2603 : case cudaErrorInvalidGraphicsContext:
2604 : return error_t::cuda_invalid_graphics_context;
2605 : case cudaErrorNvlinkUncorrectable:
2606 : return error_t::cuda_nvlink_uncorrectable;
2607 : case cudaErrorJitCompilerNotFound:
2608 : return error_t::cuda_jit_compiler_not_found;
2609 : case cudaErrorUnsupportedPtxVersion:
2610 : return error_t::cuda_unsupported_ptx_version;
2611 : case cudaErrorJitCompilationDisabled:
2612 : return error_t::cuda_jit_compilation_disabled;
2613 : case cudaErrorUnsupportedExecAffinity:
2614 : return error_t::cuda_unsupported_exec_affinity;
2615 : case cudaErrorInvalidSource:
2616 : return error_t::cuda_invalid_source;
2617 : case cudaErrorFileNotFound:
2618 : return error_t::cuda_file_not_found;
2619 : case cudaErrorSharedObjectSymbolNotFound:
2620 : return error_t::cuda_shared_object_symbol_not_found;
2621 : case cudaErrorSharedObjectInitFailed:
2622 : return error_t::cuda_shared_object_init_failed;
2623 : case cudaErrorOperatingSystem:
2624 : return error_t::cuda_operating_system;
2625 : case cudaErrorInvalidResourceHandle:
2626 : return error_t::cuda_invalid_resource_handle;
2627 : case cudaErrorIllegalState:
2628 : return error_t::cuda_illegal_state;
2629 : case cudaErrorSymbolNotFound:
2630 : return error_t::cuda_symbol_not_found;
2631 : case cudaErrorNotReady:
2632 : return error_t::cuda_not_ready;
2633 : case cudaErrorIllegalAddress:
2634 : return error_t::cuda_illegal_address;
2635 : case cudaErrorLaunchOutOfResources:
2636 : return error_t::cuda_launch_out_of_resources;
2637 : case cudaErrorLaunchTimeout:
2638 : return error_t::cuda_launch_timeout;
2639 : case cudaErrorLaunchIncompatibleTexturing:
2640 : return error_t::cuda_launch_incompatible_texturing;
2641 : case cudaErrorPeerAccessAlreadyEnabled:
2642 : return error_t::cuda_peer_access_already_enabled;
2643 : case cudaErrorPeerAccessNotEnabled:
2644 : return error_t::cuda_peer_access_not_enabled;
2645 : case cudaErrorSetOnActiveProcess:
2646 : return error_t::cuda_set_on_active_process;
2647 : case cudaErrorContextIsDestroyed:
2648 : return error_t::cuda_context_is_destroyed;
2649 : case cudaErrorAssert:
2650 : return error_t::cuda_assert;
2651 : case cudaErrorTooManyPeers:
2652 : return error_t::cuda_too_many_peers;
2653 : case cudaErrorHostMemoryAlreadyRegistered:
2654 : return error_t::cuda_host_memory_already_registered;
2655 : case cudaErrorHostMemoryNotRegistered:
2656 : return error_t::cuda_host_memory_not_registered;
2657 : case cudaErrorHardwareStackError:
2658 : return error_t::cuda_hardware_stack_error;
2659 : case cudaErrorIllegalInstruction:
2660 : return error_t::cuda_illegal_instruction;
2661 : case cudaErrorMisalignedAddress:
2662 : return error_t::cuda_misaligned_address;
2663 : case cudaErrorInvalidAddressSpace:
2664 : return error_t::cuda_invalid_address_space;
2665 : case cudaErrorInvalidPc:
2666 : return error_t::cuda_invalid_pc;
2667 : case cudaErrorLaunchFailure:
2668 : return error_t::cuda_launch_failure;
2669 : case cudaErrorCooperativeLaunchTooLarge:
2670 : return error_t::cuda_cooperative_launch_too_large;
2671 : case cudaErrorNotPermitted:
2672 : return error_t::cuda_not_permitted;
2673 : case cudaErrorNotSupported:
2674 : return error_t::cuda_not_supported;
2675 : case cudaErrorSystemNotReady:
2676 : return error_t::cuda_system_not_ready;
2677 : case cudaErrorSystemDriverMismatch:
2678 : return error_t::cuda_system_driver_mismatch;
2679 : case cudaErrorCompatNotSupportedOnDevice:
2680 : return error_t::cuda_compat_not_supported_on_device;
2681 : case cudaErrorMpsConnectionFailed:
2682 : return error_t::cuda_mps_connection_failed;
2683 : case cudaErrorMpsRpcFailure:
2684 : return error_t::cuda_mps_rpc_failure;
2685 : case cudaErrorMpsServerNotReady:
2686 : return error_t::cuda_mps_server_not_ready;
2687 : case cudaErrorMpsMaxClientsReached:
2688 : return error_t::cuda_mps_max_clients_reached;
2689 : case cudaErrorMpsMaxConnectionsReached:
2690 : return error_t::cuda_mps_max_connections_reached;
2691 : case cudaErrorMpsClientTerminated:
2692 : return error_t::cuda_mps_client_terminated;
2693 : case cudaErrorCdpNotSupported:
2694 : return error_t::cuda_cdp_not_supported;
2695 : case cudaErrorCdpVersionMismatch:
2696 : return error_t::cuda_cdp_version_mismatch;
2697 : case cudaErrorStreamCaptureUnsupported:
2698 : return error_t::cuda_stream_capture_unsupported;
2699 : case cudaErrorStreamCaptureInvalidated:
2700 : return error_t::cuda_stream_capture_invalidated;
2701 : case cudaErrorStreamCaptureMerge:
2702 : return error_t::cuda_stream_capture_merge;
2703 : case cudaErrorStreamCaptureUnmatched:
2704 : return error_t::cuda_stream_capture_unmatched;
2705 : case cudaErrorStreamCaptureUnjoined:
2706 : return error_t::cuda_stream_capture_unjoined;
2707 : case cudaErrorStreamCaptureIsolation:
2708 : return error_t::cuda_stream_capture_isolation;
2709 : case cudaErrorStreamCaptureImplicit:
2710 : return error_t::cuda_stream_capture_implicit;
2711 : case cudaErrorCapturedEvent:
2712 : return error_t::cuda_captured_event;
2713 : case cudaErrorStreamCaptureWrongThread:
2714 : return error_t::cuda_stream_capture_wrong_thread;
2715 : case cudaErrorTimeout:
2716 : return error_t::cuda_timeout;
2717 : case cudaErrorGraphExecUpdateFailure:
2718 : return error_t::cuda_graph_exec_update_failure;
2719 : case cudaErrorExternalDevice:
2720 : return error_t::cuda_external_device;
2721 : case cudaErrorInvalidClusterSize:
2722 : return error_t::cuda_invalid_cluster_size;
2723 : case cudaErrorUnknown:
2724 : return error_t::cuda_unknown;
2725 : case cudaErrorApiFailureBase:
2726 : return error_t::cuda_api_failure_base;
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 :
2741 : namespace mx
2742 : {
2743 :
2744 : void error_t_vector( std::vector<error_t> & errcs )
2745 : {
2746 : errcs = { error_t::noerror,
2747 : error_t::error,
2748 : error_t::invalidarg,
2749 : error_t::invalidconfig,
2750 : error_t::notimpl,
2751 : error_t::paramnotset,
2752 : error_t::envnotset,
2753 : error_t::notfound,
2754 : error_t::sizeerr,
2755 : error_t::allocerr,
2756 : error_t::freeerr,
2757 : error_t::parseerr,
2758 : error_t::filesystem,
2759 : error_t::fileoerr,
2760 : error_t::filewerr,
2761 : error_t::filererr,
2762 : error_t::filecerr,
2763 : error_t::filenotfound,
2764 : error_t::fileempty,
2765 : error_t::dirnotfound,
2766 : error_t::dirempty,
2767 : error_t::procerr,
2768 : error_t::timeout,
2769 : error_t::liberr,
2770 : error_t::exception,
2771 : error_t::std_exception,
2772 : error_t::std_bad_alloc,
2773 : error_t::std_logic_error,
2774 : error_t::std_invalid_argument,
2775 : error_t::std_domain_error,
2776 : error_t::std_length_error,
2777 : error_t::std_out_of_range,
2778 : error_t::std_future_error,
2779 : error_t::std_bad_optional_access,
2780 : error_t::std_filesystem_error,
2781 : error_t::std_runtime_error,
2782 : error_t::std_range_error,
2783 : error_t::std_overflow_error,
2784 : error_t::std_underflow_error,
2785 : error_t::std_ios_base_failure,
2786 : error_t::std_format_error,
2787 : error_t::gnuploterr,
2788 : error_t::lapackerr,
2789 : error_t::e2big,
2790 : error_t::eacces,
2791 : error_t::eaddrinuse,
2792 : error_t::eaddrnotavail,
2793 : error_t::eafnosupport,
2794 : error_t::eagain,
2795 : error_t::ealready,
2796 : error_t::ebadf,
2797 : error_t::ebadmsg,
2798 : error_t::ebusy,
2799 : error_t::ecanceled,
2800 : error_t::echild,
2801 : error_t::econnaborted,
2802 : error_t::econnrefused,
2803 : error_t::econnreset,
2804 : error_t::edestaddrreq,
2805 : error_t::edom,
2806 : error_t::eexist,
2807 : error_t::efault,
2808 : error_t::efbig,
2809 : error_t::ehostunreach,
2810 : error_t::eidrm,
2811 : error_t::eilseq,
2812 : error_t::einprogress,
2813 : error_t::eintr,
2814 : error_t::einval,
2815 : error_t::eio,
2816 : error_t::eisconn,
2817 : error_t::eisdir,
2818 : error_t::eloop,
2819 : error_t::emfile,
2820 : error_t::emlink,
2821 : error_t::emsgsize,
2822 : error_t::enametoolong,
2823 : error_t::enetdown,
2824 : error_t::enetreset,
2825 : error_t::enetunreach,
2826 : error_t::enfile,
2827 : error_t::enobufs,
2828 : error_t::enodata,
2829 : error_t::enodev,
2830 : error_t::enoent,
2831 : error_t::enoexec,
2832 : error_t::enolck,
2833 : error_t::enolink,
2834 : error_t::enomem,
2835 : error_t::enomsg,
2836 : error_t::enoprotoopt,
2837 : error_t::enospc,
2838 : error_t::enosr,
2839 : error_t::enostr,
2840 : error_t::enosys,
2841 : error_t::enotconn,
2842 : error_t::enotdir,
2843 : error_t::enotempty,
2844 : error_t::enotrecoverable,
2845 : error_t::enotsock,
2846 : error_t::enotsup,
2847 : error_t::enotty,
2848 : error_t::enxio,
2849 : error_t::eopnotsupp,
2850 : error_t::eoverflow,
2851 : error_t::eownerdead,
2852 : error_t::eperm,
2853 : error_t::epipe,
2854 : error_t::eproto,
2855 : error_t::eprotonosupport,
2856 : error_t::eprototype,
2857 : error_t::erange,
2858 : error_t::erofs,
2859 : error_t::espipe,
2860 : error_t::esrch,
2861 : error_t::etime,
2862 : error_t::etimedout,
2863 : error_t::etxtbsy,
2864 : error_t::ewouldblock,
2865 : error_t::exdev,
2866 : error_t::fits_same_file,
2867 : error_t::fits_too_many_files,
2868 : error_t::fits_file_not_opened,
2869 : error_t::fits_file_not_created,
2870 : error_t::fits_write_error,
2871 : error_t::fits_end_of_file,
2872 : error_t::fits_read_error,
2873 : error_t::fits_file_not_closed,
2874 : error_t::fits_array_too_big,
2875 : error_t::fits_readonly_file,
2876 : error_t::fits_memory_allocation,
2877 : error_t::fits_bad_fileptr,
2878 : error_t::fits_null_input_ptr,
2879 : error_t::fits_seek_error,
2880 : error_t::fits_bad_nettimeout,
2881 : error_t::fits_bad_url_prefix,
2882 : error_t::fits_too_many_drivers,
2883 : error_t::fits_driver_init_failed,
2884 : error_t::fits_no_matching_driver,
2885 : error_t::fits_url_parse_error,
2886 : error_t::fits_range_parse_error,
2887 : error_t::fits_shared_badarg,
2888 : error_t::fits_shared_nulptr,
2889 : error_t::fits_shared_tabfull,
2890 : error_t::fits_shared_notinit,
2891 : error_t::fits_shared_ipcerr,
2892 : error_t::fits_shared_nomem,
2893 : error_t::fits_shared_again,
2894 : error_t::fits_shared_nofile,
2895 : error_t::fits_shared_noresize,
2896 : error_t::fits_header_not_empty,
2897 : error_t::fits_key_no_exist,
2898 : error_t::fits_key_out_bounds,
2899 : error_t::fits_value_undefined,
2900 : error_t::fits_no_quote,
2901 : error_t::fits_bad_index_key,
2902 : error_t::fits_bad_keychar,
2903 : error_t::fits_bad_order,
2904 : error_t::fits_not_pos_int,
2905 : error_t::fits_no_end,
2906 : error_t::fits_bad_bitpix,
2907 : error_t::fits_bad_naxis,
2908 : error_t::fits_bad_naxes,
2909 : error_t::fits_bad_pcount,
2910 : error_t::fits_bad_gcount,
2911 : error_t::fits_bad_tfields,
2912 : error_t::fits_neg_width,
2913 : error_t::fits_neg_rows,
2914 : error_t::fits_col_not_found,
2915 : error_t::fits_bad_simple,
2916 : error_t::fits_no_simple,
2917 : error_t::fits_no_bitpix,
2918 : error_t::fits_no_naxis,
2919 : error_t::fits_no_naxes,
2920 : error_t::fits_no_xtension,
2921 : error_t::fits_not_atable,
2922 : error_t::fits_not_btable,
2923 : error_t::fits_no_pcount,
2924 : error_t::fits_no_gcount,
2925 : error_t::fits_no_tfields,
2926 : error_t::fits_no_tbcol,
2927 : error_t::fits_no_tform,
2928 : error_t::fits_not_image,
2929 : error_t::fits_bad_tbcol,
2930 : error_t::fits_not_table,
2931 : error_t::fits_col_too_wide,
2932 : error_t::fits_col_not_unique,
2933 : error_t::fits_bad_row_width,
2934 : error_t::fits_unknown_ext,
2935 : error_t::fits_unknown_rec,
2936 : error_t::fits_end_junk,
2937 : error_t::fits_bad_header_fill,
2938 : error_t::fits_bad_data_fill,
2939 : error_t::fits_bad_tform,
2940 : error_t::fits_bad_tform_dtype,
2941 : error_t::fits_bad_tdim,
2942 : error_t::fits_bad_heap_ptr,
2943 : error_t::fits_bad_hdu_num,
2944 : error_t::fits_bad_col_num,
2945 : error_t::fits_neg_file_pos,
2946 : error_t::fits_neg_bytes,
2947 : error_t::fits_bad_row_num,
2948 : error_t::fits_bad_elem_num,
2949 : error_t::fits_not_ascii_col,
2950 : error_t::fits_not_logical_col,
2951 : error_t::fits_bad_atable_format,
2952 : error_t::fits_bad_btable_format,
2953 : error_t::fits_no_null,
2954 : error_t::fits_not_vari_len,
2955 : error_t::fits_bad_dimen,
2956 : error_t::fits_bad_pix_num,
2957 : error_t::fits_zero_scale,
2958 : error_t::fits_neg_axis,
2959 : error_t::fits_not_group_table,
2960 : error_t::fits_hdu_already_member,
2961 : error_t::fits_member_not_found,
2962 : error_t::fits_group_not_found,
2963 : error_t::fits_bad_group_id,
2964 : error_t::fits_too_many_hdus_tracked,
2965 : error_t::fits_hdu_already_tracked,
2966 : error_t::fits_bad_option,
2967 : error_t::fits_identical_pointers,
2968 : error_t::fits_bad_group_attach,
2969 : error_t::fits_bad_group_detach,
2970 : error_t::fits_ngp_no_memory,
2971 : error_t::fits_ngp_read_err,
2972 : error_t::fits_ngp_nul_ptr,
2973 : error_t::fits_ngp_empty_curline,
2974 : error_t::fits_ngp_unread_queue_full,
2975 : error_t::fits_ngp_inc_nesting,
2976 : error_t::fits_ngp_err_fopen,
2977 : error_t::fits_ngp_eof,
2978 : error_t::fits_ngp_bad_arg,
2979 : error_t::fits_ngp_token_not_expect,
2980 : error_t::fits_bad_i2c,
2981 : error_t::fits_bad_f2c,
2982 : error_t::fits_bad_intkey,
2983 : error_t::fits_bad_logicalkey,
2984 : error_t::fits_bad_floatkey,
2985 : error_t::fits_bad_doublekey,
2986 : error_t::fits_bad_c2i,
2987 : error_t::fits_bad_c2f,
2988 : error_t::fits_bad_c2d,
2989 : error_t::fits_bad_datatype,
2990 : error_t::fits_bad_decim,
2991 : error_t::fits_num_overflow,
2992 : error_t::fits_data_compression_err,
2993 : error_t::fits_data_decompression_err,
2994 : error_t::fits_bad_date,
2995 : error_t::fits_parse_syntax_err,
2996 : error_t::fits_parse_bad_type,
2997 : error_t::fits_parse_lrg_vector,
2998 : error_t::fits_parse_no_output,
2999 : error_t::fits_parse_bad_col,
3000 : error_t::fits_parse_bad_output,
3001 : error_t::fits_angle_too_big,
3002 : error_t::fits_bad_wcs_val,
3003 : error_t::fits_wcs_error,
3004 : error_t::fits_bad_wcs_proj,
3005 : error_t::fits_no_wcs_key,
3006 : error_t::fits_approx_wcs_key,
3007 : error_t::cuda_success,
3008 : error_t::cuda_invalid_value,
3009 : error_t::cuda_memory_allocation,
3010 : error_t::cuda_initialization_error,
3011 : error_t::cuda_cudart_unloading,
3012 : error_t::cuda_profiler_disabled,
3013 : error_t::cuda_profiler_not_initialized,
3014 : error_t::cuda_profiler_already_started,
3015 : error_t::cuda_profiler_already_stopped,
3016 : error_t::cuda_invalid_configuration,
3017 : error_t::cuda_invalid_pitch_value,
3018 : error_t::cuda_invalid_symbol,
3019 : error_t::cuda_invalid_host_pointer,
3020 : error_t::cuda_invalid_device_pointer,
3021 : error_t::cuda_invalid_texture,
3022 : error_t::cuda_invalid_texture_binding,
3023 : error_t::cuda_invalid_channel_descriptor,
3024 : error_t::cuda_invalid_memcpy_direction,
3025 : error_t::cuda_address_of_constant,
3026 : error_t::cuda_texture_fetch_failed,
3027 : error_t::cuda_texture_not_bound,
3028 : error_t::cuda_synchronization_error,
3029 : error_t::cuda_invalid_filter_setting,
3030 : error_t::cuda_invalid_norm_setting,
3031 : error_t::cuda_mixed_device_execution,
3032 : error_t::cuda_not_yet_implemented,
3033 : error_t::cuda_memory_value_too_large,
3034 : error_t::cuda_stub_library,
3035 : error_t::cuda_insufficient_driver,
3036 : error_t::cuda_call_requires_newer_driver,
3037 : error_t::cuda_invalid_surface,
3038 : error_t::cuda_duplicate_variable_name,
3039 : error_t::cuda_duplicate_texture_name,
3040 : error_t::cuda_duplicate_surface_name,
3041 : error_t::cuda_devices_unavailable,
3042 : error_t::cuda_incompatible_driver_context,
3043 : error_t::cuda_missing_configuration,
3044 : error_t::cuda_prior_launch_failure,
3045 : error_t::cuda_launch_max_depth_exceeded,
3046 : error_t::cuda_launch_file_scoped_tex,
3047 : error_t::cuda_launch_file_scoped_surf,
3048 : error_t::cuda_sync_depth_exceeded,
3049 : error_t::cuda_launch_pending_count_exceeded,
3050 : error_t::cuda_invalid_device_function,
3051 : error_t::cuda_no_device,
3052 : error_t::cuda_invalid_device,
3053 : error_t::cuda_device_not_licensed,
3054 : error_t::cuda_software_validity_not_established,
3055 : error_t::cuda_startup_failure,
3056 : error_t::cuda_invalid_kernel_image,
3057 : error_t::cuda_device_uninitialized,
3058 : error_t::cuda_map_buffer_object_failed,
3059 : error_t::cuda_unmap_buffer_object_failed,
3060 : error_t::cuda_array_is_mapped,
3061 : error_t::cuda_already_mapped,
3062 : error_t::cuda_no_kernel_image_for_device,
3063 : error_t::cuda_already_acquired,
3064 : error_t::cuda_not_mapped,
3065 : error_t::cuda_not_mapped_as_array,
3066 : error_t::cuda_not_mapped_as_pointer,
3067 : error_t::cuda_e_c_c_uncorrectable,
3068 : error_t::cuda_unsupported_limit,
3069 : error_t::cuda_device_already_in_use,
3070 : error_t::cuda_peer_access_unsupported,
3071 : error_t::cuda_invalid_ptx,
3072 : error_t::cuda_invalid_graphics_context,
3073 : error_t::cuda_nvlink_uncorrectable,
3074 : error_t::cuda_jit_compiler_not_found,
3075 : error_t::cuda_unsupported_ptx_version,
3076 : error_t::cuda_jit_compilation_disabled,
3077 : error_t::cuda_unsupported_exec_affinity,
3078 : error_t::cuda_invalid_source,
3079 : error_t::cuda_file_not_found,
3080 : error_t::cuda_shared_object_symbol_not_found,
3081 : error_t::cuda_shared_object_init_failed,
3082 : error_t::cuda_operating_system,
3083 : error_t::cuda_invalid_resource_handle,
3084 : error_t::cuda_illegal_state,
3085 : error_t::cuda_symbol_not_found,
3086 : error_t::cuda_not_ready,
3087 : error_t::cuda_illegal_address,
3088 : error_t::cuda_launch_out_of_resources,
3089 : error_t::cuda_launch_timeout,
3090 : error_t::cuda_launch_incompatible_texturing,
3091 : error_t::cuda_peer_access_already_enabled,
3092 : error_t::cuda_peer_access_not_enabled,
3093 : error_t::cuda_set_on_active_process,
3094 : error_t::cuda_context_is_destroyed,
3095 : error_t::cuda_assert,
3096 : error_t::cuda_too_many_peers,
3097 : error_t::cuda_host_memory_already_registered,
3098 : error_t::cuda_host_memory_not_registered,
3099 : error_t::cuda_hardware_stack_error,
3100 : error_t::cuda_illegal_instruction,
3101 : error_t::cuda_misaligned_address,
3102 : error_t::cuda_invalid_address_space,
3103 : error_t::cuda_invalid_pc,
3104 : error_t::cuda_launch_failure,
3105 : error_t::cuda_cooperative_launch_too_large,
3106 : error_t::cuda_not_permitted,
3107 : error_t::cuda_not_supported,
3108 : error_t::cuda_system_not_ready,
3109 : error_t::cuda_system_driver_mismatch,
3110 : error_t::cuda_compat_not_supported_on_device,
3111 : error_t::cuda_mps_connection_failed,
3112 : error_t::cuda_mps_rpc_failure,
3113 : error_t::cuda_mps_server_not_ready,
3114 : error_t::cuda_mps_max_clients_reached,
3115 : error_t::cuda_mps_max_connections_reached,
3116 : error_t::cuda_mps_client_terminated,
3117 : error_t::cuda_cdp_not_supported,
3118 : error_t::cuda_cdp_version_mismatch,
3119 : error_t::cuda_stream_capture_unsupported,
3120 : error_t::cuda_stream_capture_invalidated,
3121 : error_t::cuda_stream_capture_merge,
3122 : error_t::cuda_stream_capture_unmatched,
3123 : error_t::cuda_stream_capture_unjoined,
3124 : error_t::cuda_stream_capture_isolation,
3125 : error_t::cuda_stream_capture_implicit,
3126 : error_t::cuda_captured_event,
3127 : error_t::cuda_stream_capture_wrong_thread,
3128 : error_t::cuda_timeout,
3129 : error_t::cuda_graph_exec_update_failure,
3130 : error_t::cuda_external_device,
3131 : error_t::cuda_invalid_cluster_size,
3132 : error_t::cuda_unknown,
3133 : error_t::cuda_api_failure_base};
3134 :
3135 : } //error_t_vector
3136 :
3137 : void 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
3215 : void 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
|