#include <limits>
#include <string>
#include "src/tint/lang/core/intrinsic/type_matchers.h"
#include "src/tint/lang/core/type/abstract_float.h"
#include "src/tint/lang/core/type/abstract_int.h"
#include "src/tint/lang/core/type/abstract_numeric.h"
#include "src/tint/lang/wgsl/intrinsic/dialect.h"
#include "src/tint/utils/text/string_stream.h"
namespace tint::wgsl::intrinsic {
usingnamespacetint::core::intrinsic;
inline const core::type::AbstractFloat* BuildFa(intrinsic::MatchState& state,
const core::type::Type*) { … }
inline bool MatchFa(intrinsic::MatchState& state, const core::type::Type* ty) { … }
inline const core::type::AbstractInt* BuildIa(intrinsic::MatchState& state,
const core::type::Type*) { … }
inline bool MatchIa(intrinsic::MatchState& state, const core::type::Type* ty) { … }
namespace {
ConstEvalFunctionIndex;
IntrinsicInfo;
MatcherIndicesIndex;
MatchState;
Number;
NumberMatcher;
NumberMatcherIndex;
OverloadFlag;
OverloadFlags;
OverloadIndex;
OverloadInfo;
ParameterIndex;
ParameterInfo;
StringStream;
TemplateIndex;
Type;
TypeMatcher;
TypeMatcherIndex;
TemplateNumberMatcher;
TemplateTypeMatcher;
constexpr TypeMatcher kBoolMatcher { … };
constexpr TypeMatcher kI8Matcher { … };
constexpr TypeMatcher kU8Matcher { … };
constexpr TypeMatcher kIaMatcher { … };
constexpr TypeMatcher kFaMatcher { … };
constexpr TypeMatcher kI32Matcher { … };
constexpr TypeMatcher kU32Matcher { … };
constexpr TypeMatcher kF32Matcher { … };
constexpr TypeMatcher kF16Matcher { … };
constexpr TypeMatcher kVec2Matcher { … };
constexpr TypeMatcher kVec3Matcher { … };
constexpr TypeMatcher kVec4Matcher { … };
constexpr TypeMatcher kMat2X2Matcher { … };
constexpr TypeMatcher kMat2X3Matcher { … };
constexpr TypeMatcher kMat2X4Matcher { … };
constexpr TypeMatcher kMat3X2Matcher { … };
constexpr TypeMatcher kMat3X3Matcher { … };
constexpr TypeMatcher kMat3X4Matcher { … };
constexpr TypeMatcher kMat4X2Matcher { … };
constexpr TypeMatcher kMat4X3Matcher { … };
constexpr TypeMatcher kMat4X4Matcher { … };
constexpr TypeMatcher kVecMatcher { … };
constexpr TypeMatcher kMatMatcher { … };
constexpr TypeMatcher kPtrMatcher { … };
constexpr TypeMatcher kRefMatcher { … };
constexpr TypeMatcher kAtomicMatcher { … };
constexpr TypeMatcher kArrayMatcher { … };
constexpr TypeMatcher kSamplerMatcher { … };
constexpr TypeMatcher kSamplerComparisonMatcher { … };
constexpr TypeMatcher kTexture1DMatcher { … };
constexpr TypeMatcher kTexture2DMatcher { … };
constexpr TypeMatcher kTexture2DArrayMatcher { … };
constexpr TypeMatcher kTexture3DMatcher { … };
constexpr TypeMatcher kTextureCubeMatcher { … };
constexpr TypeMatcher kTextureCubeArrayMatcher { … };
constexpr TypeMatcher kTextureMultisampled2DMatcher { … };
constexpr TypeMatcher kTextureDepth2DMatcher { … };
constexpr TypeMatcher kTextureDepth2DArrayMatcher { … };
constexpr TypeMatcher kTextureDepthCubeMatcher { … };
constexpr TypeMatcher kTextureDepthCubeArrayMatcher { … };
constexpr TypeMatcher kTextureDepthMultisampled2DMatcher { … };
constexpr TypeMatcher kTextureStorage1DMatcher { … };
constexpr TypeMatcher kTextureStorage2DMatcher { … };
constexpr TypeMatcher kTextureStorage2DArrayMatcher { … };
constexpr TypeMatcher kTextureStorage3DMatcher { … };
constexpr TypeMatcher kTextureExternalMatcher { … };
constexpr TypeMatcher kPackedVec3Matcher { … };
constexpr TypeMatcher kInputAttachmentMatcher { … };
constexpr TypeMatcher kModfResultMatcher { … };
constexpr TypeMatcher kModfResultVecMatcher { … };
constexpr TypeMatcher kFrexpResultMatcher { … };
constexpr TypeMatcher kFrexpResultVecMatcher { … };
constexpr TypeMatcher kAtomicCompareExchangeResultMatcher { … };
constexpr TypeMatcher kScalarMatcher { … };
constexpr TypeMatcher kConcreteScalarMatcher { … };
constexpr TypeMatcher kScalarNoF32Matcher { … };
constexpr TypeMatcher kScalarNoF16Matcher { … };
constexpr TypeMatcher kScalarNoI32Matcher { … };
constexpr TypeMatcher kScalarNoU32Matcher { … };
constexpr TypeMatcher kScalarNoBoolMatcher { … };
constexpr TypeMatcher kFiaFiu32F16Matcher { … };
constexpr TypeMatcher kFiaFi32F16Matcher { … };
constexpr TypeMatcher kFiaFiu32Matcher { … };
constexpr TypeMatcher kFaF32Matcher { … };
constexpr TypeMatcher kFaF32F16Matcher { … };
constexpr TypeMatcher kIaIu32Matcher { … };
constexpr TypeMatcher kIaI32Matcher { … };
constexpr TypeMatcher kFiu32F16Matcher { … };
constexpr TypeMatcher kFiu32Matcher { … };
constexpr TypeMatcher kFi32F16Matcher { … };
constexpr TypeMatcher kFi32Matcher { … };
constexpr TypeMatcher kF32F16Matcher { … };
constexpr TypeMatcher kIu32Matcher { … };
constexpr NumberMatcher kF32TexelFormatMatcher { … };
constexpr NumberMatcher kI32TexelFormatMatcher { … };
constexpr NumberMatcher kU32TexelFormatMatcher { … };
constexpr NumberMatcher kReadMatcher { … };
constexpr NumberMatcher kWriteMatcher { … };
constexpr NumberMatcher kReadWriteMatcher { … };
constexpr NumberMatcher kReadableMatcher { … };
constexpr NumberMatcher kWritableMatcher { … };
constexpr NumberMatcher kFunctionPrivateWorkgroupMatcher { … };
constexpr NumberMatcher kWorkgroupOrStorageMatcher { … };
constexpr NumberMatcher kStorageMatcher { … };
constexpr NumberMatcher kWorkgroupMatcher { … };
constexpr TypeMatcher kTypeMatchers[] = …;
constexpr NumberMatcher kNumberMatchers[] = …;
constexpr MatcherIndex kMatcherIndices[] = …;
static_assert …;
constexpr ParameterInfo kParameters[] = …;
static_assert …;
constexpr TemplateInfo kTemplates[] = …;
static_assert …;
constexpr core::constant::Eval::Function kConstEvalFunctions[] = …;
static_assert …;
constexpr OverloadInfo kOverloads[] = …;
static_assert …;
constexpr IntrinsicInfo kBuiltins[] = …;
constexpr IntrinsicInfo kUnaryOperators[] = …;
constexpr uint8_t kUnaryOperatorAnd = …;
constexpr uint8_t kUnaryOperatorStar = …;
constexpr uint8_t kUnaryOperatorNot = …;
constexpr uint8_t kUnaryOperatorComplement = …;
constexpr uint8_t kUnaryOperatorMinus = …;
constexpr IntrinsicInfo kBinaryOperators[] = …;
constexpr uint8_t kBinaryOperatorPlus = …;
constexpr uint8_t kBinaryOperatorMinus = …;
constexpr uint8_t kBinaryOperatorStar = …;
constexpr uint8_t kBinaryOperatorDivide = …;
constexpr uint8_t kBinaryOperatorModulo = …;
constexpr uint8_t kBinaryOperatorXor = …;
constexpr uint8_t kBinaryOperatorAnd = …;
constexpr uint8_t kBinaryOperatorOr = …;
constexpr uint8_t kBinaryOperatorLogicalAnd = …;
constexpr uint8_t kBinaryOperatorLogicalOr = …;
constexpr uint8_t kBinaryOperatorEqual = …;
constexpr uint8_t kBinaryOperatorNotEqual = …;
constexpr uint8_t kBinaryOperatorLessThan = …;
constexpr uint8_t kBinaryOperatorGreaterThan = …;
constexpr uint8_t kBinaryOperatorLessThanEqual = …;
constexpr uint8_t kBinaryOperatorGreaterThanEqual = …;
constexpr uint8_t kBinaryOperatorShiftLeft = …;
constexpr uint8_t kBinaryOperatorShiftRight = …;
constexpr IntrinsicInfo kConstructorsAndConverters[] = …;
}
const core::intrinsic::TableData Dialect::kData{ … };
}