purify
C++ Purify implementation with native circuit and BPP support
Loading...
Searching...
No Matches
error_bridge.hpp File Reference
#include <cassert>
#include "purify.h"
#include "purify/error.hpp"

Go to the source code of this file.

Namespaces

namespace  purify
 
namespace  purify::core_api_detail
 

Macros

#define PURIFY_FOR_EACH_ERROR_CODE(X)
 
#define PURIFY_FROM_CORE_CASE(cpp_code, c_code)
 
#define PURIFY_TO_CORE_CASE(cpp_code, c_code)
 

Functions

constexpr ErrorCode purify::core_api_detail::from_core_error_code (purify_error_code code) noexcept
 
constexpr purify_error_code purify::core_api_detail::to_core_error_code (ErrorCode code) noexcept
 

Macro Definition Documentation

◆ PURIFY_FOR_EACH_ERROR_CODE

#define PURIFY_FOR_EACH_ERROR_CODE (   X)
Value:
X(InvalidHex, PURIFY_ERROR_INVALID_HEX) \
X(InvalidHexLength, PURIFY_ERROR_INVALID_HEX_LENGTH) \
X(InvalidFixedSize, PURIFY_ERROR_INVALID_FIXED_SIZE) \
X(Overflow, PURIFY_ERROR_OVERFLOW) \
X(Underflow, PURIFY_ERROR_UNDERFLOW) \
X(NarrowingOverflow, PURIFY_ERROR_NARROWING_OVERFLOW) \
X(DivisionByZero, PURIFY_ERROR_DIVISION_BY_ZERO) \
X(BitIndexOutOfRange, PURIFY_ERROR_BIT_INDEX_OUT_OF_RANGE) \
X(RangeViolation, PURIFY_ERROR_RANGE_VIOLATION) \
X(EmptyInput, PURIFY_ERROR_EMPTY_INPUT) \
X(SizeMismatch, PURIFY_ERROR_SIZE_MISMATCH) \
X(MissingValue, PURIFY_ERROR_MISSING_VALUE) \
X(InvalidSymbol, PURIFY_ERROR_INVALID_SYMBOL) \
X(UnsupportedSymbol, PURIFY_ERROR_UNSUPPORTED_SYMBOL) \
X(UninitializedState, PURIFY_ERROR_UNINITIALIZED_STATE) \
X(IndexOutOfRange, PURIFY_ERROR_INDEX_OUT_OF_RANGE) \
X(InvalidDimensions, PURIFY_ERROR_INVALID_DIMENSIONS) \
X(NonBooleanValue, PURIFY_ERROR_NON_BOOLEAN_VALUE) \
X(EquationMismatch, PURIFY_ERROR_EQUATION_MISMATCH) \
X(BindingMismatch, PURIFY_ERROR_BINDING_MISMATCH) \
X(IoOpenFailed, PURIFY_ERROR_IO_OPEN_FAILED) \
X(IoWriteFailed, PURIFY_ERROR_IO_WRITE_FAILED) \
X(EntropyUnavailable, PURIFY_ERROR_ENTROPY_UNAVAILABLE) \
X(BackendRejectedInput, PURIFY_ERROR_BACKEND_REJECTED_INPUT) \
X(HashToCurveExhausted, PURIFY_ERROR_HASH_TO_CURVE_EXHAUSTED) \
X(UnexpectedSize, PURIFY_ERROR_UNEXPECTED_SIZE) \
X(GeneratorOrderCheckFailed, PURIFY_ERROR_GENERATOR_ORDER_CHECK_FAILED) \
X(InternalMismatch, PURIFY_ERROR_INTERNAL_MISMATCH) \
X(TranscriptCheckFailed, PURIFY_ERROR_TRANSCRIPT_CHECK_FAILED)
@ PURIFY_ERROR_IO_WRITE_FAILED
Definition purify.h:51
@ PURIFY_ERROR_HASH_TO_CURVE_EXHAUSTED
Definition purify.h:54
@ PURIFY_ERROR_MISSING_VALUE
Definition purify.h:41
@ PURIFY_ERROR_BIT_INDEX_OUT_OF_RANGE
Definition purify.h:37
@ PURIFY_ERROR_GENERATOR_ORDER_CHECK_FAILED
Definition purify.h:56
@ PURIFY_ERROR_INVALID_SYMBOL
Definition purify.h:42
@ PURIFY_ERROR_OVERFLOW
Definition purify.h:33
@ PURIFY_ERROR_EMPTY_INPUT
Definition purify.h:39
@ PURIFY_ERROR_INVALID_DIMENSIONS
Definition purify.h:46
@ PURIFY_ERROR_INVALID_HEX_LENGTH
Definition purify.h:31
@ PURIFY_ERROR_DIVISION_BY_ZERO
Definition purify.h:36
@ PURIFY_ERROR_UNDERFLOW
Definition purify.h:34
@ PURIFY_ERROR_NARROWING_OVERFLOW
Definition purify.h:35
@ PURIFY_ERROR_IO_OPEN_FAILED
Definition purify.h:50
@ PURIFY_ERROR_TRANSCRIPT_CHECK_FAILED
Definition purify.h:58
@ PURIFY_ERROR_EQUATION_MISMATCH
Definition purify.h:48
@ PURIFY_ERROR_ENTROPY_UNAVAILABLE
Definition purify.h:52
@ PURIFY_ERROR_INVALID_FIXED_SIZE
Definition purify.h:32
@ PURIFY_ERROR_SIZE_MISMATCH
Definition purify.h:40
@ PURIFY_ERROR_UNSUPPORTED_SYMBOL
Definition purify.h:43
@ PURIFY_ERROR_INTERNAL_MISMATCH
Definition purify.h:57
@ PURIFY_ERROR_BINDING_MISMATCH
Definition purify.h:49
@ PURIFY_ERROR_RANGE_VIOLATION
Definition purify.h:38
@ PURIFY_ERROR_BACKEND_REJECTED_INPUT
Definition purify.h:53
@ PURIFY_ERROR_NON_BOOLEAN_VALUE
Definition purify.h:47
@ PURIFY_ERROR_UNINITIALIZED_STATE
Definition purify.h:44
@ PURIFY_ERROR_INDEX_OUT_OF_RANGE
Definition purify.h:45
@ PURIFY_ERROR_UNEXPECTED_SIZE
Definition purify.h:55
@ PURIFY_ERROR_INVALID_HEX
Definition purify.h:30

Definition at line 14 of file error_bridge.hpp.

◆ PURIFY_FROM_CORE_CASE

#define PURIFY_FROM_CORE_CASE (   cpp_code,
  c_code 
)
Value:
case c_code: \
return ErrorCode::cpp_code;

◆ PURIFY_TO_CORE_CASE

#define PURIFY_TO_CORE_CASE (   cpp_code,
  c_code 
)
Value:
case ErrorCode::cpp_code: \
return c_code;