////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
// All Rights Reserved.
// Confidential and Proprietary - Qualcomm Technologies, Inc.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// THIS IS AUTO-GENERATED CODE.  PLEASE DO NOT EDIT (File bug reports against tools).
///
/// Auto-generated by: Parameter Parser V5.5.1 (2411131018)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// @file  statsnncommon.cpp
/// @brief Auto-generated Chromatix parameter file
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#include "statsnncommon.h"
#include "parametersetmanager.h"

STATSNNCOMMON_NAMESPACE_BEGIN

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// SetValue/GetValue Functions
/// Gets or sets the requested value
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// @brief Read enum value
/// @param entry [in] Symbol table entry
/// @param enumValue [out] Enum value to read
/// @param alignment [in] Symbol table byte alignment
/// @return true if successful
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
bool ReadEnum_chromatixStatsNNInfEngine(
    ParameterFileSymbolTableEntry* const entry,
    chromatixStatsNNInfEngine& enumValue,
    BYTE const alignment)
{
    bool result {false};

    UINT32 uintValue {entry->ReadEnum(&result, alignment)};

    if (result)
    {
        switch (uintValue)
        {
        case static_cast<UINT32>(chromatixStatsNNInfEngine::StatsNNInfBITML):
            enumValue = chromatixStatsNNInfEngine::StatsNNInfBITML;
            result    = true;
            break;
        case static_cast<UINT32>(chromatixStatsNNInfEngine::StatsNNInfAOSPNN):
            enumValue = chromatixStatsNNInfEngine::StatsNNInfAOSPNN;
            result    = true;
            break;
        case static_cast<UINT32>(chromatixStatsNNInfEngine::StatsNNInfMax):
            enumValue = chromatixStatsNNInfEngine::StatsNNInfMax;
            result    = true;
            break;
        default:
            PARAMETER_LOG_ERROR(entry->SetManager, "Invalid value(% u) converting UINT32 to chromatixStatsNNInfEngine", uintValue);
            break;
        }
    }
    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// @brief Read enum value
/// @param entry [in] Symbol table entry
/// @param enumValue [out] Enum value to read
/// @param alignment [in] Symbol table byte alignment
/// @return true if successful
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
bool ReadEnum_chromatixStatsNNHW(
    ParameterFileSymbolTableEntry* const entry,
    chromatixStatsNNHW& enumValue,
    BYTE const alignment)
{
    bool result {false};

    UINT32 uintValue {entry->ReadEnum(&result, alignment)};

    if (result)
    {
        switch (uintValue)
        {
        case static_cast<UINT32>(chromatixStatsNNHW::StatsNNInfHWDSP):
            enumValue = chromatixStatsNNHW::StatsNNInfHWDSP;
            result    = true;
            break;
        case static_cast<UINT32>(chromatixStatsNNHW::StatsNNInfHWNPU):
            enumValue = chromatixStatsNNHW::StatsNNInfHWNPU;
            result    = true;
            break;
        case static_cast<UINT32>(chromatixStatsNNHW::StatsNNInfHWGPU):
            enumValue = chromatixStatsNNHW::StatsNNInfHWGPU;
            result    = true;
            break;
        case static_cast<UINT32>(chromatixStatsNNHW::StatsNNInfHWCPU):
            enumValue = chromatixStatsNNHW::StatsNNInfHWCPU;
            result    = true;
            break;
        case static_cast<UINT32>(chromatixStatsNNHW::StatsNNInfHWMAX):
            enumValue = chromatixStatsNNHW::StatsNNInfHWMAX;
            result    = true;
            break;
        default:
            PARAMETER_LOG_ERROR(entry->SetManager, "Invalid value(% u) converting UINT32 to chromatixStatsNNHW", uintValue);
            break;
        }
    }
    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// @brief Read enum value
/// @param entry [in] Symbol table entry
/// @param enumValue [out] Enum value to read
/// @param alignment [in] Symbol table byte alignment
/// @return true if successful
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
bool ReadEnum_chromatixStatsNNInfProcessLevel(
    ParameterFileSymbolTableEntry* const entry,
    chromatixStatsNNInfProcessLevel& enumValue,
    BYTE const alignment)
{
    bool result {false};

    UINT32 uintValue {entry->ReadEnum(&result, alignment)};

    if (result)
    {
        switch (uintValue)
        {
        case static_cast<UINT32>(chromatixStatsNNInfProcessLevel::StatsNNInfProcessLevelLow):
            enumValue = chromatixStatsNNInfProcessLevel::StatsNNInfProcessLevelLow;
            result    = true;
            break;
        case static_cast<UINT32>(chromatixStatsNNInfProcessLevel::StatsNNInfProcessLevelMed):
            enumValue = chromatixStatsNNInfProcessLevel::StatsNNInfProcessLevelMed;
            result    = true;
            break;
        case static_cast<UINT32>(chromatixStatsNNInfProcessLevel::StatsNNInfProcessLevelHigh):
            enumValue = chromatixStatsNNInfProcessLevel::StatsNNInfProcessLevelHigh;
            result    = true;
            break;
        case static_cast<UINT32>(chromatixStatsNNInfProcessLevel::StatsNNInfProcessLevelMax):
            enumValue = chromatixStatsNNInfProcessLevel::StatsNNInfProcessLevelMax;
            result    = true;
            break;
        default:
            PARAMETER_LOG_ERROR(entry->SetManager, "Invalid value(% u) converting UINT32 to chromatixStatsNNInfProcessLevel", uintValue);
            break;
        }
    }
    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// @brief Read enum value
/// @param entry [in] Symbol table entry
/// @param enumValue [out] Enum value to read
/// @param alignment [in] Symbol table byte alignment
/// @return true if successful
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
bool ReadEnum_chromatixStatsNNPreProcessLevel(
    ParameterFileSymbolTableEntry* const entry,
    chromatixStatsNNPreProcessLevel& enumValue,
    BYTE const alignment)
{
    bool result {false};

    UINT32 uintValue {entry->ReadEnum(&result, alignment)};

    if (result)
    {
        switch (uintValue)
        {
        case static_cast<UINT32>(chromatixStatsNNPreProcessLevel::StatsNNPreProcessLevelLow):
            enumValue = chromatixStatsNNPreProcessLevel::StatsNNPreProcessLevelLow;
            result    = true;
            break;
        case static_cast<UINT32>(chromatixStatsNNPreProcessLevel::StatsNNPreProcessLevelMed):
            enumValue = chromatixStatsNNPreProcessLevel::StatsNNPreProcessLevelMed;
            result    = true;
            break;
        case static_cast<UINT32>(chromatixStatsNNPreProcessLevel::StatsNNPreProcessLevelHigh):
            enumValue = chromatixStatsNNPreProcessLevel::StatsNNPreProcessLevelHigh;
            result    = true;
            break;
        case static_cast<UINT32>(chromatixStatsNNPreProcessLevel::StatsNNPreProcessLevelMax):
            enumValue = chromatixStatsNNPreProcessLevel::StatsNNPreProcessLevelMax;
            result    = true;
            break;
        default:
            PARAMETER_LOG_ERROR(entry->SetManager, "Invalid value(% u) converting UINT32 to chromatixStatsNNPreProcessLevel", uintValue);
            break;
        }
    }
    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// @brief Read enum value
/// @param entry [in] Symbol table entry
/// @param enumValue [out] Enum value to read
/// @param alignment [in] Symbol table byte alignment
/// @return true if successful
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
bool ReadEnum_chromatixStatsNNPostProcessLevel(
    ParameterFileSymbolTableEntry* const entry,
    chromatixStatsNNPostProcessLevel& enumValue,
    BYTE const alignment)
{
    bool result {false};

    UINT32 uintValue {entry->ReadEnum(&result, alignment)};

    if (result)
    {
        switch (uintValue)
        {
        case static_cast<UINT32>(chromatixStatsNNPostProcessLevel::StatsNNPostProcessLevelLow):
            enumValue = chromatixStatsNNPostProcessLevel::StatsNNPostProcessLevelLow;
            result    = true;
            break;
        case static_cast<UINT32>(chromatixStatsNNPostProcessLevel::StatsNNPostProcessLevelMed):
            enumValue = chromatixStatsNNPostProcessLevel::StatsNNPostProcessLevelMed;
            result    = true;
            break;
        case static_cast<UINT32>(chromatixStatsNNPostProcessLevel::StatsNNPostProcessLevelHigh):
            enumValue = chromatixStatsNNPostProcessLevel::StatsNNPostProcessLevelHigh;
            result    = true;
            break;
        case static_cast<UINT32>(chromatixStatsNNPostProcessLevel::StatsNNPostProcessLevelMax):
            enumValue = chromatixStatsNNPostProcessLevel::StatsNNPostProcessLevelMax;
            result    = true;
            break;
        default:
            PARAMETER_LOG_ERROR(entry->SetManager, "Invalid value(% u) converting UINT32 to chromatixStatsNNPostProcessLevel", uintValue);
            break;
        }
    }
    return result;
}


STATSNNCOMMON_NAMESPACE_END
