///
/// Copyright (c) 2018-2019 Arm Limited.
///
/// SPDX-License-Identifier: MIT
///
/// Permission is hereby granted, free of charge, to any person obtaining a copy
/// of this software and associated documentation files (the "Software"), to
/// deal in the Software without restriction, including without limitation the
/// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
/// sell copies of the Software, and to permit persons to whom the Software is
/// furnished to do so, subject to the following conditions:
///
/// The above copyright notice and this permission notice shall be included in all
/// copies or substantial portions of the Software.
///
/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
/// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
/// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
/// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
/// SOFTWARE.
///
namespace arm_compute
{
/**

@page functions_list List of functions

@tableofcontents

@section S6_1 Neon functions

- @ref IFunction
    - @ref INESimpleFunction
        - @ref NEArithmeticAddition
        - @ref NEArithmeticSubtraction
        - @ref NEBoundingBoxTransform
        - @ref NECast
        - @ref NEComplexPixelWiseMultiplication
        - @ref NEConvolution3x3
        - @ref NEConvolutionRectangle
        - @ref NEElementwiseComparison
        - @ref NEElementwiseComparisonStatic
        - @ref NEElementwiseDivision
        - @ref NEElementwiseMax
        - @ref NEElementwiseMin
        - @ref NEElementwiseSquaredDiff
        - @ref NEExpLayer
        - @ref NELogicalAnd
        - @ref NELogicalNot
        - @ref NELogicalOr
        - @ref NENonMaximaSuppression3x3
        - @ref NEPixelWiseMultiplication
        - @ref NEPReluLayer
        - @ref NEROIAlignLayer
        - @ref NERoundLayer
        - @ref NERsqrtLayer
        - @ref NESelect
        - @ref NEStridedSlice
    - @ref INESimpleFunctionNoBorder
        - @ref NEActivationLayer
        - @ref NEBatchToSpaceLayer
        - @ref NEBitwiseAnd
        - @ref NEBitwiseNot
        - @ref NEBitwiseOr
        - @ref NEBitwiseXor
        - @ref NEChannelShuffleLayer
        - @ref NECopy
        - @ref NEDepthConvertLayer
        - @ref NEFlattenLayer
        - @ref NEFloor
        - @ref NEFullyConnectedLayerReshapeWeights
        - @ref NEGather
        - @ref NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint
        - @ref NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint
        - @ref NEMeanStdDevNormalizationLayer
        - @ref NEPermute
        - @ref NEPriorBoxLayer
        - @ref NEReorgLayer
        - @ref NEReshapeLayer
        - @ref NEReverse
        - @ref NESlice
        - @ref NETile
        - @ref NETranspose
    - @ref NEArgMinMaxLayer
    - @ref NEBatchNormalizationLayer
    - @ref NEComplexPixelWiseMultiplication
    - @ref NEConcatenateLayer
    - @ref NEConvertFullyConnectedWeights
    - @ref NEConvolutionLayer
    - @ref NEConvolutionLayerReshapeWeights
    - @ref NEConvolutionSquare &lt;matrix_size&gt;
    - @ref NECropResize
    - @ref NEDeconvolutionLayer
    - @ref NEDepthwiseConvolutionAssemblyDispatch
    - @ref NEDepthwiseConvolutionLayer
    - @ref NEDequantizationLayer
    - @ref NEDetectionPostProcessLayer
    - @ref NEDirectConvolutionLayer
    - @ref NEFFT1D
    - @ref NEFFT2D
    - @ref NEFFTConvolutionLayer
    - @ref NEFill
    - @ref NEFillBorder
    - @ref NEFullyConnectedLayer
    - @ref NEFuseBatchNormalization
    - @ref NEGEMM
    - @ref NEGEMMAssemblyDispatch
    - @ref NEGEMMConv2d
    - @ref NEGEMMConvolutionLayer
    - @ref NEGEMMLowpMatrixMultiplyCore
    - @ref NEGenerateProposalsLayer
    - @ref NEInstanceNormalizationLayer
    - @ref NEL2NormalizeLayer
    - @ref NELSTMLayer
    - @ref NELSTMLayerQuantized
    - @ref NEQLSTMLayer
    - @ref NEMaxUnpoolingLayer
    - @ref NENormalizationLayer
    - @ref NEPadLayer
    - @ref NEPoolingLayer
    - @ref NEQuantizationLayer
    - @ref NERange
    - @ref NEReduceMean
    - @ref NEReductionOperation
    - @ref NERNNLayer
    - @ref NEROIPoolingLayer
    - @ref NEScale
    - @ref NESoftmaxLayerGeneric &lt;IS_LOG&gt;
    - @ref NESpaceToBatchLayer
    - @ref NESpaceToDepthLayer
    - @ref NESplit
    - @ref NEStackLayer
    - @ref NEUnstack
    - @ref NEWinogradConvolutionLayer

@section S6_2 OpenCL functions

- @ref IFunction
    - @ref CLBatchNormalizationLayer
    - @ref CLBatchToSpaceLayer
    - @ref CLCannyEdge
    - @ref CLComplexPixelWiseMultiplication
    - @ref CLConcatenateLayer
    - @ref CLConvolutionLayer
    - @ref CLConvolutionLayerReshapeWeights
    - @ref CLConvolutionSquare &lt;matrix_size&gt;
    - @ref CLCropResize
    - @ref CLDeconvolutionLayer
    - @ref CLDeconvolutionLayerUpsample
    - @ref CLDepthToSpaceLayer
    - @ref CLDepthwiseConvolutionLayer
    - @ref CLDequantizationLayer
    - @ref CLDirectConvolutionLayer
    - @ref CLDirectDeconvolutionLayer
    - @ref CLEqualizeHistogram
    - @ref CLFastCorners
    - @ref CLFFT1D
    - @ref CLFFT2D
    - @ref CLFFTConvolutionLayer
    - @ref CLFullyConnectedLayer
    - @ref CLFuseBatchNormalization
    - @ref CLGaussian5x5
    - @ref CLGaussianPyramid
        - @ref CLGaussianPyramidHalf
        - @ref CLGaussianPyramidOrb
    - @ref CLGEMM
    - @ref CLGEMMConvolutionLayer
    - @ref CLGEMMDeconvolutionLayer
    - @ref CLGEMMLowpMatrixMultiplyCore
    - @ref CLGenerateProposalsLayer
    - @ref CLHarrisCorners
    - @ref CLHistogram
    - @ref CLHOGDescriptor
    - @ref CLHOGDetector
    - @ref CLHOGGradient
    - @ref CLHOGMultiDetection
    - @ref CLIntegralImage
    - @ref CLL2NormalizeLayer
    - @ref CLLaplacianPyramid
    - @ref CLLaplacianReconstruct
    - @ref CLLogicalAnd
    - @ref CLLogicalNot
    - @ref CLLogicalOr
    - @ref CLLSTMLayer
    - @ref CLLSTMLayerQuantized
    - @ref CLQLSTMLayer
    - @ref CLMaxUnpoolingLayer
    - @ref CLMeanStdDev
    - @ref CLMinMaxLocation
    - @ref CLNormalizationLayer
    - @ref CLNormalizePlanarYUVLayer
    - @ref CLOpticalFlow
    - @ref CLPadLayer
    - @ref CLQuantizationLayer
    - @ref CLReduceMean
    - @ref CLReductionOperation
    - @ref CLRNNLayer
    - @ref CLSobel5x5
    - @ref CLSobel7x7
    - @ref CLSoftmaxLayerGeneric &lt;IS_LOG&gt;
    - @ref CLSpaceToBatchLayer
    - @ref CLSpaceToDepthLayer
    - @ref CLSplit
    - @ref CLStackLayer
    - @ref CLUnstack
    - @ref CLWinogradConvolutionLayer
    - @ref ICLSimpleFunction
        - @ref CLAbsoluteDifference
        - @ref CLAccumulate
        - @ref CLAccumulateSquared
        - @ref CLAccumulateWeighted
        - @ref CLActivationLayer
        - @ref CLArgMinMaxLayer
        - @ref CLArithmeticAddition
        - @ref CLArithmeticDivision
        - @ref CLArithmeticSubtraction
        - @ref CLBitwiseAnd
        - @ref CLBitwiseNot
        - @ref CLBitwiseOr
        - @ref CLBitwiseXor
        - @ref CLBoundingBoxTransform
        - @ref CLBox3x3
        - @ref CLCast
        - @ref CLChannelCombine
        - @ref CLChannelExtract
        - @ref CLChannelShuffleLayer
        - @ref CLColorConvert
        - @ref CLComparison
        - @ref CLComparisonStatic
        - @ref CLConvertFullyConnectedWeights
        - @ref CLConvolution3x3
        - @ref CLConvolutionRectangle
        - @ref CLCopy
        - @ref CLDepthConvertLayer
        - @ref CLDerivative
        - @ref CLDilate
        - @ref CLElementwiseMax
        - @ref CLElementwiseMin
        - @ref CLElementwiseSquaredDiff
        - @ref CLErode
        - @ref CLExpLayer
        - @ref CLFill
        - @ref CLFillBorder
        - @ref CLFlattenLayer
        - @ref CLFloor
        - @ref CLFullyConnectedLayerReshapeWeights
        - @ref CLGather
        - @ref CLGaussian3x3
        - @ref CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint
        - @ref CLGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPoint
        - @ref CLGEMMLowpQuantizeDownInt32ScaleByFixedPointKernel
        - @ref CLMagnitude
        - @ref CLMeanStdDevNormalizationLayer
        - @ref CLMedian3x3
        - @ref CLNonLinearFilter
        - @ref CLNonMaximaSuppression3x3
        - @ref CLPermute
        - @ref CLPhase
        - @ref CLPixelWiseMultiplication
        - @ref CLPoolingLayer
        - @ref CLPReluLayer
        - @ref CLPriorBoxLayer
        - @ref CLRange
        - @ref CLRemap
        - @ref CLReorgLayer
        - @ref CLReshapeLayer
        - @ref CLReverse
        - @ref CLROIAlignLayer
        - @ref CLROIPoolingLayer
        - @ref CLRsqrtLayer
        - @ref CLScale
        - @ref CLScharr3x3
        - @ref CLSelect
        - @ref CLSlice
        - @ref CLSobel3x3
        - @ref CLStridedSlice
        - @ref CLTableLookup
        - @ref CLThreshold
        - @ref CLTile
        - @ref CLTranspose
        - @ref CLWarpAffine
        - @ref CLWarpPerspective
        - @ref CLWinogradInputTransform

@section S6_3 CPP functions

 - @ref IFunction
    - @ref CPPDetectionOutputLayer
    - @ref CPPDetectionPostProcessLayer
    - @ref ICPPSimpleFunction
        - @ref CPPBoxWithNonMaximaSuppressionLimit
        - @ref CPPPermute
        - @ref CPPTopKV
        - @ref CPPUpsample

*/
} // namespace
