Merge pull request #1015 from huili2/astyle_all_UT

astyle all
This commit is contained in:
ruil2 2014-06-26 10:25:56 +08:00
commit e1152f9483
85 changed files with 4734 additions and 4529 deletions

View File

@ -32,8 +32,7 @@
#import <UIKit/UIKit.h>
@interface DEMOViewController : UIViewController
{
@interface DEMOViewController : UIViewController {
BOOL bEnableFlag;
}
@property (strong, nonatomic) NSMutableArray* resFileArray;

View File

@ -161,7 +161,8 @@ int ParseLayerConfig (CReadConfig& cRdLayerCfg, const int iLayer, SEncParamExt&
return -1;
}
if (pDLayer->iMaxSpatialBitrate < pDLayer->iSpatialBitrate) {
fprintf (stderr, "Invalid max spatial(#%d) bitrate(%d) setting::: < layerBitrate(%d)!\n", iLayer, pDLayer->iMaxSpatialBitrate, pDLayer->iSpatialBitrate);
fprintf (stderr, "Invalid max spatial(#%d) bitrate(%d) setting::: < layerBitrate(%d)!\n", iLayer,
pDLayer->iMaxSpatialBitrate, pDLayer->iSpatialBitrate);
return -1;
}
}
@ -461,8 +462,7 @@ int ParseCommandLine (int argc, char** argv, SSourcePicture* pSrcPic, SEncParamE
else if (!strcmp (pCommand, "-numl") && (n < argc)) {
pSvcParam.iSpatialLayerNum = atoi (argv[n++]);
}
else if (!strcmp (pCommand, "-lconfig") && (n < argc)) {
} else if (!strcmp (pCommand, "-lconfig") && (n < argc)) {
unsigned int iLayer = atoi (argv[n++]);
sFileSet.strLayerCfgFile[iLayer].assign (argv[n++]);
CReadConfig cRdLayerCfg (sFileSet.strLayerCfgFile[iLayer]);

View File

@ -71,7 +71,8 @@ void DeblockingBSCalcEnc_neon (int8_t* pNzc, SMVUnitXY* pMv, int32_t iBoundryFla
#endif
#if defined(HAVE_NEON_AARCH64)
void WelsNonZeroCount_AArch64_neon (int8_t* pNonZeroCount);
void DeblockingBSCalcEnc_AArch64_neon (int8_t* pNzc, SMVUnitXY* pMv, int32_t iBoundryFlag, int32_t iMbStride, uint8_t (*pBS)[4][4]);
void DeblockingBSCalcEnc_AArch64_neon (int8_t* pNzc, SMVUnitXY* pMv, int32_t iBoundryFlag, int32_t iMbStride,
uint8_t (*pBS)[4][4]);
#endif
#if defined(__cplusplus)
}

View File

@ -237,3 +237,4 @@ void WelsRcFreeMemory (void* pCtx);
}
#endif //RC_H

View File

@ -61,7 +61,8 @@ const int32_t g_kiQpToQstepTable[52] = { 63, 71, 79, 89, 100, 112, 12
635, 713, 800, 898, 1008, 1131, 1270, 1425, 1600, 1796,
2016, 2263, 2540, 2851, 3200, 3592, 4032, 4525, 5080, 5702,
6400, 7184, 8063, 9051, 10159, 11404, 12800, 14368, 16127, 18102,
20319,22807}; //WELS_ROUND(INT_MULTIPLY*pow (2.0, (iQP - 4.0) / 6.0))
20319, 22807
}; //WELS_ROUND(INT_MULTIPLY*pow (2.0, (iQP - 4.0) / 6.0))
void RcInitLayerMemory (SWelsSvcRc* pWelsSvcRc, CMemoryAlign* pMA, const int32_t kiMaxTl) {
const int32_t kiSliceNum = pWelsSvcRc->iSliceNum;
@ -135,9 +136,11 @@ void RcInitSequenceParameter (sWelsEncCtx* pEncCtx) {
pWelsSvcRc->iSkipBufferRatio = SKIP_RATIO;
pWelsSvcRc->iQpRangeUpperInFrame = (QP_RANGE_UPPER_MODE1 * MAX_BITS_VARY_PERCENTAGE - ((QP_RANGE_UPPER_MODE1 - QP_RANGE_MODE0) *
pWelsSvcRc->iQpRangeUpperInFrame = (QP_RANGE_UPPER_MODE1 * MAX_BITS_VARY_PERCENTAGE - ((
QP_RANGE_UPPER_MODE1 - QP_RANGE_MODE0) *
pWelsSvcRc->iRcVaryRatio)) / MAX_BITS_VARY_PERCENTAGE;
pWelsSvcRc->iQpRangeLowerInFrame = (QP_RANGE_LOWER_MODE1 * MAX_BITS_VARY_PERCENTAGE - ((QP_RANGE_LOWER_MODE1 - QP_RANGE_MODE0) *
pWelsSvcRc->iQpRangeLowerInFrame = (QP_RANGE_LOWER_MODE1 * MAX_BITS_VARY_PERCENTAGE - ((
QP_RANGE_LOWER_MODE1 - QP_RANGE_MODE0) *
pWelsSvcRc->iRcVaryRatio)) / MAX_BITS_VARY_PERCENTAGE;
if (iMbWidth <= MB_WIDTH_THRESHOLD_90P) {
@ -223,7 +226,8 @@ void RcUpdateBitrateFps (sWelsEncCtx* pEncCtx) {
SSpatialLayerInternal* pDLayerParamInternal = &pEncCtx->pSvcParam->sDependencyLayers[pEncCtx->uiDependencyId];
const int32_t kiGopSize = (1 << pDLayerParamInternal->iDecompositionStages);
const int32_t kiHighestTid = pDLayerParamInternal->iHighestTemporalId;
int32_t input_iBitsPerFrame = WELS_ROUND(pDLayerParam->iSpatialBitrate * INT_MULTIPLY / pDLayerParamInternal->fInputFrameRate);
int32_t input_iBitsPerFrame = WELS_ROUND (pDLayerParam->iSpatialBitrate * INT_MULTIPLY /
pDLayerParamInternal->fInputFrameRate);
const int32_t kiGopBits = WELS_DIV_ROUND (input_iBitsPerFrame * kiGopSize, INT_MULTIPLY);
int32_t i;
@ -236,8 +240,10 @@ void RcUpdateBitrateFps (sWelsEncCtx* pEncCtx) {
for (i = 0; i <= kiHighestTid; i++) {
const int64_t kdConstraitBits = kiGopBits * pTOverRc[i].iTlayerWeight;
pTOverRc[i].iMinBitsTl = WELS_DIV_ROUND(kdConstraitBits * iMinBitsRatio, INT_MULTIPLY * MAX_BITS_VARY_PERCENTAGE * WEIGHT_MULTIPLY);
pTOverRc[i].iMaxBitsTl = WELS_DIV_ROUND(kdConstraitBits * iMaxBitsRatio, INT_MULTIPLY * MAX_BITS_VARY_PERCENTAGE * WEIGHT_MULTIPLY);
pTOverRc[i].iMinBitsTl = WELS_DIV_ROUND (kdConstraitBits * iMinBitsRatio,
INT_MULTIPLY * MAX_BITS_VARY_PERCENTAGE * WEIGHT_MULTIPLY);
pTOverRc[i].iMaxBitsTl = WELS_DIV_ROUND (kdConstraitBits * iMaxBitsRatio,
INT_MULTIPLY * MAX_BITS_VARY_PERCENTAGE * WEIGHT_MULTIPLY);
}
//When bitrate is changed, pBuffer size should be updated
pWelsSvcRc->iBufferSizeSkip = WELS_DIV_ROUND (pWelsSvcRc->iBitRate * pWelsSvcRc->iSkipBufferRatio, INT_MULTIPLY);
@ -465,14 +471,16 @@ void RcCalculatePictureQp (sWelsEncCtx* pEncCtx) {
pWelsSvcRc->iLastCalculatedQScale = iLumaQp;
if (pEncCtx->pSvcParam->bEnableAdaptiveQuant) {
iLumaQp = WELS_CLIP3 ((iLumaQp*INT_MULTIPLY - pEncCtx->pVaa->sAdaptiveQuantParam.iAverMotionTextureIndexToDeltaQp)/INT_MULTIPLY, GOM_MIN_QP_MODE, MAX_LOW_BR_QP);
iLumaQp = WELS_CLIP3 ((iLumaQp * INT_MULTIPLY - pEncCtx->pVaa->sAdaptiveQuantParam.iAverMotionTextureIndexToDeltaQp) /
INT_MULTIPLY, GOM_MIN_QP_MODE, MAX_LOW_BR_QP);
}
pEncCtx->iGlobalQp = iLumaQp;
return;
} else {
int64_t iCmplxRatio = WELS_DIV_ROUND64(pEncCtx->pVaa->sComplexityAnalysisParam.iFrameComplexity *INT_MULTIPLY, pTOverRc->iFrameCmplxMean);
int64_t iCmplxRatio = WELS_DIV_ROUND64 (pEncCtx->pVaa->sComplexityAnalysisParam.iFrameComplexity * INT_MULTIPLY,
pTOverRc->iFrameCmplxMean);
iCmplxRatio = WELS_CLIP3 (iCmplxRatio, INT_MULTIPLY - FRAME_CMPLX_RATIO_RANGE, INT_MULTIPLY + FRAME_CMPLX_RATIO_RANGE);
pWelsSvcRc->iQStep = WELS_DIV_ROUND ((pTOverRc->iLinearCmplx * iCmplxRatio), (pWelsSvcRc->iTargetBits * INT_MULTIPLY));
@ -501,7 +509,8 @@ void RcCalculatePictureQp (sWelsEncCtx* pEncCtx) {
#ifndef _NOT_USE_AQ_FOR_TEST_
if (pEncCtx->pSvcParam->bEnableAdaptiveQuant) {
iLumaQp = WELS_DIV_ROUND(iLumaQp*INT_MULTIPLY - pEncCtx->pVaa->sAdaptiveQuantParam.iAverMotionTextureIndexToDeltaQp,INT_MULTIPLY);
iLumaQp = WELS_DIV_ROUND (iLumaQp * INT_MULTIPLY - pEncCtx->pVaa->sAdaptiveQuantParam.iAverMotionTextureIndexToDeltaQp,
INT_MULTIPLY);
if (pEncCtx->pSvcParam->iRCMode != RC_LOW_BW_MODE)
iLumaQp = WELS_CLIP3 (iLumaQp, pWelsSvcRc->iMinQp, pWelsSvcRc->iMaxQp);
@ -637,7 +646,8 @@ void RcGomTargetBits (sWelsEncCtx* pEncCtx, const int32_t kiSliceId) {
if (0 == iSumSad)
iAllocateBits = WELS_DIV_ROUND (iLeftBits, (iLastGomIndex - kiComplexityIndex));
else
iAllocateBits = WELS_DIV_ROUND((int64_t)iLeftBits * pWelsSvcRc_Base->pCurrentFrameGomSad[kiComplexityIndex + 1], iSumSad);
iAllocateBits = WELS_DIV_ROUND ((int64_t)iLeftBits * pWelsSvcRc_Base->pCurrentFrameGomSad[kiComplexityIndex + 1],
iSumSad);
}
pSOverRc->iGomTargetBits = iAllocateBits;
@ -783,7 +793,8 @@ void RcUpdateIntraComplexity (sWelsEncCtx* pEncCtx) {
if (iAlpha < (INT_MULTIPLY / 4)) iAlpha = INT_MULTIPLY / 4;
int64_t iIntraCmplx = pWelsSvcRc->iQStep * pWelsSvcRc->iFrameDqBits;
pWelsSvcRc->iIntraComplexity = WELS_DIV_ROUND(((INT_MULTIPLY - iAlpha) * pWelsSvcRc->iIntraComplexity + iAlpha * iIntraCmplx), INT_MULTIPLY);
pWelsSvcRc->iIntraComplexity = WELS_DIV_ROUND (((INT_MULTIPLY - iAlpha) * pWelsSvcRc->iIntraComplexity + iAlpha *
iIntraCmplx), INT_MULTIPLY);
pWelsSvcRc->iIntraMbCount = pWelsSvcRc->iNumberMbFrame;
pWelsSvcRc->iIdrNum++;
@ -800,7 +811,8 @@ void RcUpdateFrameComplexity (sWelsEncCtx* pEncCtx) {
pTOverRc->iLinearCmplx = ((int64_t)pWelsSvcRc->iFrameDqBits) * pWelsSvcRc->iQStep;
} else {
pTOverRc->iLinearCmplx = WELS_DIV_ROUND64 ((LINEAR_MODEL_DECAY_FACTOR * (int64_t)pTOverRc->iLinearCmplx
+ (INT_MULTIPLY - LINEAR_MODEL_DECAY_FACTOR) * (int64_t)(pWelsSvcRc->iFrameDqBits * pWelsSvcRc->iQStep)), INT_MULTIPLY);
+ (INT_MULTIPLY - LINEAR_MODEL_DECAY_FACTOR) * (int64_t) (pWelsSvcRc->iFrameDqBits * pWelsSvcRc->iQStep)),
INT_MULTIPLY);
}
int32_t iAlpha = WELS_DIV_ROUND (INT_MULTIPLY, (1 + pTOverRc->iPFrameNum));
if (iAlpha < SMOOTH_FACTOR_MIN_VALUE)

View File

@ -165,13 +165,15 @@ EResult CAdaptiveQuantization::Process (int32_t iType, SPixMap* pSrcPixMap, SPix
pMotionTexture = m_sAdaptiveQuantParam.pMotionTextureUnit;
for (j = 0; j < iMbHeight; j ++) {
for (i = 0; i < iMbWidth; i++) {
int64_t a = WELS_DIV_ROUND64((int64_t)(pMotionTexture->uiTextureIndex) *AQ_INT_MULTIPLY * AQ_TIME_INT_MULTIPLY, iAverageTextureIndex);
int64_t a = WELS_DIV_ROUND64 ((int64_t) (pMotionTexture->uiTextureIndex) * AQ_INT_MULTIPLY * AQ_TIME_INT_MULTIPLY,
iAverageTextureIndex);
iQStep = WELS_DIV_ROUND64 ((a - AQ_TIME_INT_MULTIPLY) * AQ_QSTEP_INT_MULTIPLY, (a + MODEL_ALPHA));
iLumaTextureDeltaQp = MODEL_TIME * iQStep;// range +- 6
iMotionTextureIndexToDeltaQp = ((int32_t) (iLumaTextureDeltaQp / (AQ_TIME_INT_MULTIPLY)));
a = WELS_DIV_ROUND64(((int64_t)pMotionTexture->uiMotionIndex)*AQ_INT_MULTIPLY * AQ_TIME_INT_MULTIPLY, iAverageMotionIndex);
a = WELS_DIV_ROUND64 (((int64_t)pMotionTexture->uiMotionIndex) * AQ_INT_MULTIPLY * AQ_TIME_INT_MULTIPLY,
iAverageMotionIndex);
iQStep = WELS_DIV_ROUND64 ((a - AQ_TIME_INT_MULTIPLY) * AQ_QSTEP_INT_MULTIPLY, (a + MODEL_ALPHA));
iLumaMotionDeltaQp = MODEL_TIME * iQStep;// range +- 6
@ -180,7 +182,8 @@ EResult CAdaptiveQuantization::Process (int32_t iType, SPixMap* pSrcPixMap, SPix
iMotionTextureIndexToDeltaQp += ((int32_t) (iLumaMotionDeltaQp / (AQ_TIME_INT_MULTIPLY)));
}
m_sAdaptiveQuantParam.pMotionTextureIndexToDeltaQp[j * iMbWidth + i] = (int8_t)(iMotionTextureIndexToDeltaQp/AQ_QSTEP_INT_MULTIPLY);
m_sAdaptiveQuantParam.pMotionTextureIndexToDeltaQp[j * iMbWidth + i] = (int8_t) (iMotionTextureIndexToDeltaQp /
AQ_QSTEP_INT_MULTIPLY);
iAverMotionTextureIndexToDeltaQp += iMotionTextureIndexToDeltaQp;
pMotionTexture++;
}

View File

@ -24,7 +24,9 @@ template<typename M, typename R> class gmp_args_nm_0_ret : public gmp_args_base
public:
gmp_args_nm_0_ret (M m, R* r) :
m_ (m), r_ (r) {}
virtual bool returns_value() const { return true; }
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = m_();
@ -59,7 +61,9 @@ template<typename C, typename M, typename R> class gmp_args_m_0_ret : public gmp
public:
gmp_args_m_0_ret (C o, M m, R* r) :
o_ (o), m_ (m), r_ (r) {}
virtual bool returns_value() const { return true; }
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = ((*o_).*m_)();
@ -95,7 +99,9 @@ template<typename M, typename A0, typename R> class gmp_args_nm_1_ret : public g
public:
gmp_args_nm_1_ret (M m, A0 a0, R* r) :
m_ (m), r_ (r), a0_ (a0) {}
virtual bool returns_value() const { return true; }
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = m_ (a0_);
@ -132,7 +138,9 @@ template<typename C, typename M, typename A0, typename R> class gmp_args_m_1_ret
public:
gmp_args_m_1_ret (C o, M m, A0 a0, R* r) :
o_ (o), m_ (m), r_ (r), a0_ (a0) {}
virtual bool returns_value() const { return true; }
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = ((*o_).*m_) (a0_);
@ -170,7 +178,9 @@ template<typename M, typename A0, typename A1, typename R> class gmp_args_nm_2_r
public:
gmp_args_nm_2_ret (M m, A0 a0, A1 a1, R* r) :
m_ (m), r_ (r), a0_ (a0), a1_ (a1) {}
virtual bool returns_value() const { return true; }
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = m_ (a0_, a1_);
@ -209,7 +219,9 @@ template<typename C, typename M, typename A0, typename A1, typename R> class gmp
public:
gmp_args_m_2_ret (C o, M m, A0 a0, A1 a1, R* r) :
o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1) {}
virtual bool returns_value() const { return true; }
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = ((*o_).*m_) (a0_, a1_);
@ -249,7 +261,9 @@ template<typename M, typename A0, typename A1, typename A2, typename R> class gm
public:
gmp_args_nm_3_ret (M m, A0 a0, A1 a1, A2 a2, R* r) :
m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2) {}
virtual bool returns_value() const { return true; }
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = m_ (a0_, a1_, a2_);
@ -286,11 +300,14 @@ template<typename C, typename M, typename A0, typename A1, typename A2> class gm
// 3 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename R> class gmp_args_m_3_ret : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename R> class gmp_args_m_3_ret : public
gmp_args_base {
public:
gmp_args_m_3_ret (C o, M m, A0 a0, A1 a1, A2 a2, R* r) :
o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2) {}
virtual bool returns_value() const { return true; }
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = ((*o_).*m_) (a0_, a1_, a2_);
@ -328,11 +345,14 @@ template<typename M, typename A0, typename A1, typename A2, typename A3> class g
// 4 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename R> class gmp_args_nm_4_ret : public gmp_args_base {
template<typename M, typename A0, typename A1, typename A2, typename A3, typename R> class gmp_args_nm_4_ret : public
gmp_args_base {
public:
gmp_args_nm_4_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, R* r) :
m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3) {}
virtual bool returns_value() const { return true; }
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = m_ (a0_, a1_, a2_, a3_);
@ -350,7 +370,8 @@ template<typename M, typename A0, typename A1, typename A2, typename A3, typenam
// 4 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3> class gmp_args_m_4 : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3> class gmp_args_m_4 : public
gmp_args_base {
public:
gmp_args_m_4 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3) :
o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3) {}
@ -371,11 +392,14 @@ template<typename C, typename M, typename A0, typename A1, typename A2, typename
// 4 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename R> class gmp_args_m_4_ret : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename R> class
gmp_args_m_4_ret : public gmp_args_base {
public:
gmp_args_m_4_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, R* r) :
o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3) {}
virtual bool returns_value() const { return true; }
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_);
@ -394,7 +418,8 @@ template<typename C, typename M, typename A0, typename A1, typename A2, typename
// 5 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4> class gmp_args_nm_5 : public gmp_args_base {
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4> class gmp_args_nm_5 : public
gmp_args_base {
public:
gmp_args_nm_5 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) :
m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4) {}
@ -415,11 +440,14 @@ template<typename M, typename A0, typename A1, typename A2, typename A3, typenam
// 5 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename R> class gmp_args_nm_5_ret : public gmp_args_base {
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename R> class
gmp_args_nm_5_ret : public gmp_args_base {
public:
gmp_args_nm_5_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, R* r) :
m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4) {}
virtual bool returns_value() const { return true; }
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = m_ (a0_, a1_, a2_, a3_, a4_);
@ -438,7 +466,8 @@ template<typename M, typename A0, typename A1, typename A2, typename A3, typenam
// 5 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4> class gmp_args_m_5 : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4> class gmp_args_m_5 :
public gmp_args_base {
public:
gmp_args_m_5 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) :
o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4) {}
@ -460,11 +489,14 @@ template<typename C, typename M, typename A0, typename A1, typename A2, typename
// 5 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename R> class gmp_args_m_5_ret : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename R> class
gmp_args_m_5_ret : public gmp_args_base {
public:
gmp_args_m_5_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, R* r) :
o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4) {}
virtual bool returns_value() const { return true; }
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_);
@ -484,7 +516,8 @@ template<typename C, typename M, typename A0, typename A1, typename A2, typename
// 6 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5> class gmp_args_nm_6 : public gmp_args_base {
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5> class gmp_args_nm_6 :
public gmp_args_base {
public:
gmp_args_nm_6 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) :
m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5) {}
@ -506,11 +539,14 @@ template<typename M, typename A0, typename A1, typename A2, typename A3, typenam
// 6 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename R> class gmp_args_nm_6_ret : public gmp_args_base {
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename R> class
gmp_args_nm_6_ret : public gmp_args_base {
public:
gmp_args_nm_6_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, R* r) :
m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5) {}
virtual bool returns_value() const { return true; }
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_);
@ -530,7 +566,8 @@ template<typename M, typename A0, typename A1, typename A2, typename A3, typenam
// 6 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5> class gmp_args_m_6 : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5> class
gmp_args_m_6 : public gmp_args_base {
public:
gmp_args_m_6 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) :
o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5) {}
@ -553,11 +590,14 @@ template<typename C, typename M, typename A0, typename A1, typename A2, typename
// 6 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename R> class gmp_args_m_6_ret : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename R>
class gmp_args_m_6_ret : public gmp_args_base {
public:
gmp_args_m_6_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, R* r) :
o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5) {}
virtual bool returns_value() const { return true; }
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_);
@ -578,7 +618,8 @@ template<typename C, typename M, typename A0, typename A1, typename A2, typename
// 7 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6> class gmp_args_nm_7 : public gmp_args_base {
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6> class
gmp_args_nm_7 : public gmp_args_base {
public:
gmp_args_nm_7 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) :
m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6) {}
@ -601,11 +642,14 @@ template<typename M, typename A0, typename A1, typename A2, typename A3, typenam
// 7 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename R> class gmp_args_nm_7_ret : public gmp_args_base {
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename R>
class gmp_args_nm_7_ret : public gmp_args_base {
public:
gmp_args_nm_7_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, R* r) :
m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6) {}
virtual bool returns_value() const { return true; }
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_);
@ -626,7 +670,8 @@ template<typename M, typename A0, typename A1, typename A2, typename A3, typenam
// 7 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6> class gmp_args_m_7 : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
class gmp_args_m_7 : public gmp_args_base {
public:
gmp_args_m_7 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) :
o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6) {}
@ -650,11 +695,14 @@ template<typename C, typename M, typename A0, typename A1, typename A2, typename
// 7 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename R> class gmp_args_m_7_ret : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename R>
class gmp_args_m_7_ret : public gmp_args_base {
public:
gmp_args_m_7_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, R* r) :
o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6) {}
virtual bool returns_value() const { return true; }
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_);
@ -676,7 +724,8 @@ template<typename C, typename M, typename A0, typename A1, typename A2, typename
// 8 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7> class gmp_args_nm_8 : public gmp_args_base {
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
class gmp_args_nm_8 : public gmp_args_base {
public:
gmp_args_nm_8 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) :
m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7) {}
@ -700,11 +749,14 @@ template<typename M, typename A0, typename A1, typename A2, typename A3, typenam
// 8 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename R> class gmp_args_nm_8_ret : public gmp_args_base {
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename R>
class gmp_args_nm_8_ret : public gmp_args_base {
public:
gmp_args_nm_8_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, R* r) :
m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7) {}
virtual bool returns_value() const { return true; }
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_);
@ -726,7 +778,8 @@ template<typename M, typename A0, typename A1, typename A2, typename A3, typenam
// 8 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7> class gmp_args_m_8 : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
class gmp_args_m_8 : public gmp_args_base {
public:
gmp_args_m_8 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) :
o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7) {}
@ -751,11 +804,14 @@ template<typename C, typename M, typename A0, typename A1, typename A2, typename
// 8 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename R> class gmp_args_m_8_ret : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename R>
class gmp_args_m_8_ret : public gmp_args_base {
public:
gmp_args_m_8_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, R* r) :
o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7) {}
virtual bool returns_value() const { return true; }
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_);
@ -778,7 +834,8 @@ template<typename C, typename M, typename A0, typename A1, typename A2, typename
// 9 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8> class gmp_args_nm_9 : public gmp_args_base {
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
class gmp_args_nm_9 : public gmp_args_base {
public:
gmp_args_nm_9 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) :
m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8) {}
@ -803,11 +860,14 @@ template<typename M, typename A0, typename A1, typename A2, typename A3, typenam
// 9 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename R> class gmp_args_nm_9_ret : public gmp_args_base {
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename R>
class gmp_args_nm_9_ret : public gmp_args_base {
public:
gmp_args_nm_9_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, R* r) :
m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8) {}
virtual bool returns_value() const { return true; }
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_);
@ -830,7 +890,8 @@ template<typename M, typename A0, typename A1, typename A2, typename A3, typenam
// 9 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8> class gmp_args_m_9 : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
class gmp_args_m_9 : public gmp_args_base {
public:
gmp_args_m_9 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) :
o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8) {}
@ -856,11 +917,14 @@ template<typename C, typename M, typename A0, typename A1, typename A2, typename
// 9 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename R> class gmp_args_m_9_ret : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename R>
class gmp_args_m_9_ret : public gmp_args_base {
public:
gmp_args_m_9_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, R* r) :
o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8) {}
virtual bool returns_value() const { return true; }
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_);
@ -884,7 +948,8 @@ template<typename C, typename M, typename A0, typename A1, typename A2, typename
// 10 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9> class gmp_args_nm_10 : public gmp_args_base {
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
class gmp_args_nm_10 : public gmp_args_base {
public:
gmp_args_nm_10 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) :
m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9) {}
@ -910,11 +975,14 @@ template<typename M, typename A0, typename A1, typename A2, typename A3, typenam
// 10 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename R> class gmp_args_nm_10_ret : public gmp_args_base {
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename R>
class gmp_args_nm_10_ret : public gmp_args_base {
public:
gmp_args_nm_10_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, R* r) :
m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9) {}
virtual bool returns_value() const { return true; }
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_);
@ -938,7 +1006,8 @@ template<typename M, typename A0, typename A1, typename A2, typename A3, typenam
// 10 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9> class gmp_args_m_10 : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
class gmp_args_m_10 : public gmp_args_base {
public:
gmp_args_m_10 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) :
o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9) {}
@ -965,11 +1034,15 @@ template<typename C, typename M, typename A0, typename A1, typename A2, typename
// 10 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename R> class gmp_args_m_10_ret : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename R>
class gmp_args_m_10_ret : public gmp_args_base {
public:
gmp_args_m_10_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, R* r) :
o_(o), m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9) {}
virtual bool returns_value() const { return true; }
o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8),
a9_ (a9) {}
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_);
@ -994,10 +1067,12 @@ template<typename C, typename M, typename A0, typename A1, typename A2, typename
// 11 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10> class gmp_args_nm_11 : public gmp_args_base {
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10>
class gmp_args_nm_11 : public gmp_args_base {
public:
gmp_args_nm_11 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10) :
m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9), a10_(a10) {}
m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9),
a10_ (a10) {}
void Run() {
m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_);
@ -1021,11 +1096,15 @@ template<typename M, typename A0, typename A1, typename A2, typename A3, typenam
// 11 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename R> class gmp_args_nm_11_ret : public gmp_args_base {
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename R>
class gmp_args_nm_11_ret : public gmp_args_base {
public:
gmp_args_nm_11_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, R* r) :
m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9), a10_(a10) {}
virtual bool returns_value() const { return true; }
m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9),
a10_ (a10) {}
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_);
@ -1050,10 +1129,12 @@ template<typename M, typename A0, typename A1, typename A2, typename A3, typenam
// 11 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10> class gmp_args_m_11 : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10>
class gmp_args_m_11 : public gmp_args_base {
public:
gmp_args_m_11 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10) :
o_(o), m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9), a10_(a10) {}
o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9),
a10_ (a10) {}
void Run() {
((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_);
@ -1078,11 +1159,15 @@ template<typename C, typename M, typename A0, typename A1, typename A2, typename
// 11 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename R> class gmp_args_m_11_ret : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename R>
class gmp_args_m_11_ret : public gmp_args_base {
public:
gmp_args_m_11_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, R* r) :
o_(o), m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9), a10_(a10) {}
virtual bool returns_value() const { return true; }
o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8),
a9_ (a9), a10_ (a10) {}
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_);
@ -1108,10 +1193,12 @@ template<typename C, typename M, typename A0, typename A1, typename A2, typename
// 12 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11> class gmp_args_nm_12 : public gmp_args_base {
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11>
class gmp_args_nm_12 : public gmp_args_base {
public:
gmp_args_nm_12 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11) :
m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9), a10_(a10), a11_(a11) {}
m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9), a10_ (a10),
a11_ (a11) {}
void Run() {
m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_);
@ -1136,11 +1223,15 @@ template<typename M, typename A0, typename A1, typename A2, typename A3, typenam
// 12 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename R> class gmp_args_nm_12_ret : public gmp_args_base {
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename R>
class gmp_args_nm_12_ret : public gmp_args_base {
public:
gmp_args_nm_12_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, R* r) :
m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9), a10_(a10), a11_(a11) {}
virtual bool returns_value() const { return true; }
m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9),
a10_ (a10), a11_ (a11) {}
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_);
@ -1166,10 +1257,12 @@ template<typename M, typename A0, typename A1, typename A2, typename A3, typenam
// 12 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11> class gmp_args_m_12 : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11>
class gmp_args_m_12 : public gmp_args_base {
public:
gmp_args_m_12 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11) :
o_(o), m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9), a10_(a10), a11_(a11) {}
o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9),
a10_ (a10), a11_ (a11) {}
void Run() {
((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_);
@ -1195,11 +1288,16 @@ template<typename C, typename M, typename A0, typename A1, typename A2, typename
// 12 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename R> class gmp_args_m_12_ret : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename R>
class gmp_args_m_12_ret : public gmp_args_base {
public:
gmp_args_m_12_ret(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, R *r) :
o_(o), m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9), a10_(a10), a11_(a11) {}
virtual bool returns_value() const { return true; }
gmp_args_m_12_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11,
R* r) :
o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8),
a9_ (a9), a10_ (a10), a11_ (a11) {}
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_);
@ -1226,10 +1324,12 @@ template<typename C, typename M, typename A0, typename A1, typename A2, typename
// 13 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12> class gmp_args_nm_13 : public gmp_args_base {
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12>
class gmp_args_nm_13 : public gmp_args_base {
public:
gmp_args_nm_13 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12) :
m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9), a10_(a10), a11_(a11), a12_(a12) {}
m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9), a10_ (a10),
a11_ (a11), a12_ (a12) {}
void Run() {
m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_);
@ -1255,11 +1355,16 @@ template<typename M, typename A0, typename A1, typename A2, typename A3, typenam
// 13 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename R> class gmp_args_nm_13_ret : public gmp_args_base {
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename R>
class gmp_args_nm_13_ret : public gmp_args_base {
public:
gmp_args_nm_13_ret(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, R *r) :
m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9), a10_(a10), a11_(a11), a12_(a12) {}
virtual bool returns_value() const { return true; }
gmp_args_nm_13_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11,
A12 a12, R* r) :
m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9),
a10_ (a10), a11_ (a11), a12_ (a12) {}
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_);
@ -1286,10 +1391,13 @@ template<typename M, typename A0, typename A1, typename A2, typename A3, typenam
// 13 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12> class gmp_args_m_13 : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12>
class gmp_args_m_13 : public gmp_args_base {
public:
gmp_args_m_13(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12) :
o_(o), m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9), a10_(a10), a11_(a11), a12_(a12) {}
gmp_args_m_13 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11,
A12 a12) :
o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9),
a10_ (a10), a11_ (a11), a12_ (a12) {}
void Run() {
((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_);
@ -1316,11 +1424,16 @@ template<typename C, typename M, typename A0, typename A1, typename A2, typename
// 13 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename R> class gmp_args_m_13_ret : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename R>
class gmp_args_m_13_ret : public gmp_args_base {
public:
gmp_args_m_13_ret(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, R *r) :
o_(o), m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9), a10_(a10), a11_(a11), a12_(a12) {}
virtual bool returns_value() const { return true; }
gmp_args_m_13_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11,
A12 a12, R* r) :
o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8),
a9_ (a9), a10_ (a10), a11_ (a11), a12_ (a12) {}
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_);
@ -1348,10 +1461,13 @@ template<typename C, typename M, typename A0, typename A1, typename A2, typename
// 14 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13> class gmp_args_nm_14 : public gmp_args_base {
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13>
class gmp_args_nm_14 : public gmp_args_base {
public:
gmp_args_nm_14(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13) :
m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9), a10_(a10), a11_(a11), a12_(a12), a13_(a13) {}
gmp_args_nm_14 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12,
A13 a13) :
m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9), a10_ (a10),
a11_ (a11), a12_ (a12), a13_ (a13) {}
void Run() {
m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_, a13_);
@ -1378,11 +1494,16 @@ template<typename M, typename A0, typename A1, typename A2, typename A3, typenam
// 14 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename R> class gmp_args_nm_14_ret : public gmp_args_base {
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename R>
class gmp_args_nm_14_ret : public gmp_args_base {
public:
gmp_args_nm_14_ret(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, R *r) :
m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9), a10_(a10), a11_(a11), a12_(a12), a13_(a13) {}
virtual bool returns_value() const { return true; }
gmp_args_nm_14_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11,
A12 a12, A13 a13, R* r) :
m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9),
a10_ (a10), a11_ (a11), a12_ (a12), a13_ (a13) {}
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_, a13_);
@ -1410,10 +1531,13 @@ template<typename M, typename A0, typename A1, typename A2, typename A3, typenam
// 14 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13> class gmp_args_m_14 : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13>
class gmp_args_m_14 : public gmp_args_base {
public:
gmp_args_m_14(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13) :
o_(o), m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9), a10_(a10), a11_(a11), a12_(a12), a13_(a13) {}
gmp_args_m_14 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11,
A12 a12, A13 a13) :
o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9),
a10_ (a10), a11_ (a11), a12_ (a12), a13_ (a13) {}
void Run() {
((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_, a13_);
@ -1441,11 +1565,16 @@ template<typename C, typename M, typename A0, typename A1, typename A2, typename
// 14 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename R> class gmp_args_m_14_ret : public gmp_args_base {
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename R>
class gmp_args_m_14_ret : public gmp_args_base {
public:
gmp_args_m_14_ret(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, R *r) :
o_(o), m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9), a10_(a10), a11_(a11), a12_(a12), a13_(a13) {}
virtual bool returns_value() const { return true; }
gmp_args_m_14_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11,
A12 a12, A13 a13, R* r) :
o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8),
a9_ (a9), a10_ (a10), a11_ (a11), a12_ (a12), a13_ (a13) {}
virtual bool returns_value() const {
return true;
}
void Run() {
*r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_, a13_);
@ -1667,7 +1796,8 @@ gmp_args_m_6<C, M, A0, A1, A2, A3, A4, A5>* WrapTask(C o, M m, A0 a0, A1 a1, A2
// 6 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename R>
gmp_args_m_6_ret<C, M, A0, A1, A2, A3, A4, A5, R>* WrapTaskRet(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, R* r) {
gmp_args_m_6_ret<C, M, A0, A1, A2, A3, A4, A5, R>* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5,
R* r) {
return new gmp_args_m_6_ret<C, M, A0, A1, A2, A3, A4, A5, R>
(o, m, a0, a1, a2, a3, a4, a5, r);
}
@ -1681,7 +1811,8 @@ gmp_args_nm_7<M, A0, A1, A2, A3, A4, A5, A6>* WrapTaskNM(M m, A0 a0, A1 a1, A2 a
// 7 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename R>
gmp_args_nm_7_ret<M, A0, A1, A2, A3, A4, A5, A6, R>* WrapTaskNMRet(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, R* r) {
gmp_args_nm_7_ret<M, A0, A1, A2, A3, A4, A5, A6, R>* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5,
A6 a6, R* r) {
return new gmp_args_nm_7_ret<M, A0, A1, A2, A3, A4, A5, A6, R>
(m, a0, a1, a2, a3, a4, a5, a6, r);
}
@ -1695,203 +1826,232 @@ gmp_args_m_7<C, M, A0, A1, A2, A3, A4, A5, A6>* WrapTask(C o, M m, A0 a0, A1 a1,
// 7 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename R>
gmp_args_m_7_ret<C, M, A0, A1, A2, A3, A4, A5, A6, R>* WrapTaskRet(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, R* r) {
gmp_args_m_7_ret<C, M, A0, A1, A2, A3, A4, A5, A6, R>* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5,
A6 a6, R* r) {
return new gmp_args_m_7_ret<C, M, A0, A1, A2, A3, A4, A5, A6, R>
(o, m, a0, a1, a2, a3, a4, a5, a6, r);
}
// 8 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
gmp_args_nm_8<M, A0, A1, A2, A3, A4, A5, A6, A7>* WrapTaskNM(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) {
gmp_args_nm_8<M, A0, A1, A2, A3, A4, A5, A6, A7>* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6,
A7 a7) {
return new gmp_args_nm_8<M, A0, A1, A2, A3, A4, A5, A6, A7>
(m, a0, a1, a2, a3, a4, a5, a6, a7);
}
// 8 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename R>
gmp_args_nm_8_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, R>* WrapTaskNMRet(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, R* r) {
gmp_args_nm_8_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, R>* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5,
A6 a6, A7 a7, R* r) {
return new gmp_args_nm_8_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, R>
(m, a0, a1, a2, a3, a4, a5, a6, a7, r);
}
// 8 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
gmp_args_m_8<C, M, A0, A1, A2, A3, A4, A5, A6, A7>* WrapTask(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) {
gmp_args_m_8<C, M, A0, A1, A2, A3, A4, A5, A6, A7>* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6,
A7 a7) {
return new gmp_args_m_8<C, M, A0, A1, A2, A3, A4, A5, A6, A7>
(o, m, a0, a1, a2, a3, a4, a5, a6, a7);
}
// 8 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename R>
gmp_args_m_8_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, R>* WrapTaskRet(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, R* r) {
gmp_args_m_8_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, R>* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4,
A5 a5, A6 a6, A7 a7, R* r) {
return new gmp_args_m_8_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, R>
(o, m, a0, a1, a2, a3, a4, a5, a6, a7, r);
}
// 9 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
gmp_args_nm_9<M, A0, A1, A2, A3, A4, A5, A6, A7, A8>* WrapTaskNM(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) {
gmp_args_nm_9<M, A0, A1, A2, A3, A4, A5, A6, A7, A8>* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6,
A7 a7, A8 a8) {
return new gmp_args_nm_9<M, A0, A1, A2, A3, A4, A5, A6, A7, A8>
(m, a0, a1, a2, a3, a4, a5, a6, a7, a8);
}
// 9 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename R>
gmp_args_nm_9_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, R>* WrapTaskNMRet(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, R* r) {
gmp_args_nm_9_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, R>* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4,
A5 a5, A6 a6, A7 a7, A8 a8, R* r) {
return new gmp_args_nm_9_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, R>
(m, a0, a1, a2, a3, a4, a5, a6, a7, a8, r);
}
// 9 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
gmp_args_m_9<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8>* WrapTask(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) {
gmp_args_m_9<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8>* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5,
A6 a6, A7 a7, A8 a8) {
return new gmp_args_m_9<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8>
(o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8);
}
// 9 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename R>
gmp_args_m_9_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, R>* WrapTaskRet(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, R* r) {
gmp_args_m_9_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, R>* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4,
A5 a5, A6 a6, A7 a7, A8 a8, R* r) {
return new gmp_args_m_9_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, R>
(o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, r);
}
// 10 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
gmp_args_nm_10<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9>* WrapTaskNM(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) {
gmp_args_nm_10<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9>* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5,
A6 a6, A7 a7, A8 a8, A9 a9) {
return new gmp_args_nm_10<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9>
(m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
}
// 10 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename R>
gmp_args_nm_10_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, R>* WrapTaskNMRet(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, R* r) {
gmp_args_nm_10_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, R>* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4,
A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, R* r) {
return new gmp_args_nm_10_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, R>
(m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, r);
}
// 10 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
gmp_args_m_10<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9>* WrapTask(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) {
gmp_args_m_10<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9>* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4,
A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) {
return new gmp_args_m_10<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9>
(o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
}
// 10 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename R>
gmp_args_m_10_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, R>* WrapTaskRet(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, R* r) {
gmp_args_m_10_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, R>* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3,
A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, R* r) {
return new gmp_args_m_10_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, R>
(o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, r);
}
// 11 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10>
gmp_args_nm_11<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>* WrapTaskNM(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10) {
gmp_args_nm_11<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4,
A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10) {
return new gmp_args_nm_11<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>
(m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
}
// 11 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename R>
gmp_args_nm_11_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R>* WrapTaskNMRet(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, R* r) {
gmp_args_nm_11_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R>* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, A3 a3,
A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, R* r) {
return new gmp_args_nm_11_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R>
(m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, r);
}
// 11 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10>
gmp_args_m_11<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>* WrapTask(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10) {
gmp_args_m_11<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4,
A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10) {
return new gmp_args_m_11<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>
(o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
}
// 11 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename R>
gmp_args_m_11_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R>* WrapTaskRet(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, R* r) {
gmp_args_m_11_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R>* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2,
A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, R* r) {
return new gmp_args_m_11_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R>
(o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, r);
}
// 12 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11>
gmp_args_nm_12<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>* WrapTaskNM(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11) {
gmp_args_nm_12<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4,
A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11) {
return new gmp_args_nm_12<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>
(m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
}
// 12 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename R>
gmp_args_nm_12_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R>* WrapTaskNMRet(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, R* r) {
gmp_args_nm_12_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R>* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2,
A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, R* r) {
return new gmp_args_nm_12_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R>
(m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, r);
}
// 12 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11>
gmp_args_m_12<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>* WrapTask(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11) {
gmp_args_m_12<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3,
A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11) {
return new gmp_args_m_12<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>
(o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
}
// 12 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename R>
gmp_args_m_12_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R>* WrapTaskRet(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, R* r) {
gmp_args_m_12_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R>* WrapTaskRet (C o, M m, A0 a0, A1 a1,
A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, R* r) {
return new gmp_args_m_12_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R>
(o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, r);
}
// 13 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12>
gmp_args_nm_13<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12>* WrapTaskNM(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12) {
gmp_args_nm_13<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12>* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3,
A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12) {
return new gmp_args_nm_13<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12>
(m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
}
// 13 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename R>
gmp_args_nm_13_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R>* WrapTaskNMRet(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, R* r) {
gmp_args_nm_13_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R>* WrapTaskNMRet (M m, A0 a0, A1 a1,
A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, R* r) {
return new gmp_args_nm_13_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R>
(m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, r);
}
// 13 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12>
gmp_args_m_13<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12>* WrapTask(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12) {
gmp_args_m_13<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12>* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2,
A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12) {
return new gmp_args_m_13<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12>
(o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
}
// 13 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename R>
gmp_args_m_13_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R>* WrapTaskRet(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, R* r) {
gmp_args_m_13_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R>* WrapTaskRet (C o, M m, A0 a0, A1 a1,
A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, R* r) {
return new gmp_args_m_13_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R>
(o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, r);
}
// 14 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13>
gmp_args_nm_14<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13>* WrapTaskNM(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13) {
gmp_args_nm_14<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13>* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2,
A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13) {
return new gmp_args_nm_14<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13>
(m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
}
// 14 arguments --
template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename R>
gmp_args_nm_14_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R>* WrapTaskNMRet(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, R* r) {
gmp_args_nm_14_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R>* WrapTaskNMRet (M m, A0 a0, A1 a1,
A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, R* r) {
return new gmp_args_nm_14_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R>
(m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, r);
}
// 14 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13>
gmp_args_m_14<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13>* WrapTask(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13) {
gmp_args_m_14<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13>* WrapTask (C o, M m, A0 a0, A1 a1,
A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13) {
return new gmp_args_m_14<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13>
(o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
}
// 14 arguments --
template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename R>
gmp_args_m_14_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R>* WrapTaskRet(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, R* r) {
gmp_args_m_14_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R>* WrapTaskRet (C o, M m, A0 a0,
A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, R* r) {
return new gmp_args_m_14_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R>
(o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, r);
}

View File

@ -14,8 +14,10 @@ class BaseEncoderTest {
BaseEncoderTest();
void SetUp();
void TearDown();
void EncodeFile(const char* fileName, EUsageType usageType, int width, int height, float frameRate, SliceModeEnum slices, bool denoise, int layers, Callback* cbk);
void EncodeStream(InputStream* in, EUsageType usageType, int width, int height, float frameRate, SliceModeEnum slices, bool denoise, int layers, Callback* cbk);
void EncodeFile (const char* fileName, EUsageType usageType, int width, int height, float frameRate,
SliceModeEnum slices, bool denoise, int layers, Callback* cbk);
void EncodeStream (InputStream* in, EUsageType usageType, int width, int height, float frameRate, SliceModeEnum slices,
bool denoise, int layers, Callback* cbk);
private:
ISVCEncoder* encoder_;

View File

@ -81,19 +81,22 @@ void BaseDecoderTest::DecodeFrame(const uint8_t* src, int sliceSize, Callback* c
if (bufInfo.iBufferStatus == 1 && cbk != NULL) {
const Frame frame = {
{ // y plane
{
// y plane
data[0],
bufInfo.UsrData.sSystemBuffer.iWidth,
bufInfo.UsrData.sSystemBuffer.iHeight,
bufInfo.UsrData.sSystemBuffer.iStride[0]
},
{ // u plane
{
// u plane
data[1],
bufInfo.UsrData.sSystemBuffer.iWidth / 2,
bufInfo.UsrData.sSystemBuffer.iHeight / 2,
bufInfo.UsrData.sSystemBuffer.iStride[1]
},
{ // v plane
{
// v plane
data[2],
bufInfo.UsrData.sSystemBuffer.iWidth / 2,
bufInfo.UsrData.sSystemBuffer.iHeight / 2,

View File

@ -7,8 +7,7 @@
using namespace std;
bool YUVPixelDataGenerator( uint8_t* pPointer, int32_t iWidth, int32_t iHeight, int32_t iStride )
{
bool YUVPixelDataGenerator (uint8_t* pPointer, int32_t iWidth, int32_t iHeight, int32_t iStride) {
#define SRC_FRAME_WIDTH (160)
#define SRC_FRAME_HEIGHT (96)
@ -44,8 +43,7 @@ bool YUVPixelDataGenerator( uint8_t* pPointer, int32_t iWidth, int32_t iHeight,
return false;
}
void RandomPixelDataGenerator( uint8_t* pPointer, int32_t iWidth, int32_t iHeight, int32_t iStride, int32_t iIdx )
{
void RandomPixelDataGenerator (uint8_t* pPointer, int32_t iWidth, int32_t iHeight, int32_t iStride, int32_t iIdx) {
uint8_t* pLocalPointer = pPointer;
srand ((uint32_t) (time (NULL) + iIdx));
for (int32_t j = 0; j < iHeight; j++) {
@ -57,11 +55,9 @@ void RandomPixelDataGenerator( uint8_t* pPointer, int32_t iWidth, int32_t iHeigh
}
void RandomResidueDataGenerator( uint16_t* pPointer, int32_t iWidth, int32_t iHeight, int32_t iStride )
{
void RandomResidueDataGenerator (uint16_t* pPointer, int32_t iWidth, int32_t iHeight, int32_t iStride) {
}
void RandomCoeffDataGenerator( uint16_t* pPointer, int32_t iWidth, int32_t iHeight, int32_t iStride )
{
void RandomCoeffDataGenerator (uint16_t* pPointer, int32_t iWidth, int32_t iHeight, int32_t iStride) {
}

View File

@ -141,6 +141,8 @@ GENERATE_LUMA_UT (LumaEq4H_AArch64_neon, DeblockLumaEq4H_AArch64_neon_wrap, Debl
GENERATE_CHROMA_UT (ChromaLt4V_AArch64_neon, DeblockChromaLt4V_AArch64_neon, DeblockChromaLt4V_c, WELS_CPU_NEON, 0)
GENERATE_CHROMA_UT (ChromaLt4H_AArch64_neon, DeblockChromaLt4H_AArch64_neon, DeblockChromaLt4H_c, WELS_CPU_NEON, 1)
GENERATE_CHROMA_UT (ChromaEq4V_AArch64_neon, DeblockChromaEq4V_AArch64_neon_wrap, DeblockChromaEq4V_c_wrap, WELS_CPU_NEON, 0)
GENERATE_CHROMA_UT (ChromaEq4H_AArch64_neon, DeblockChromaEq4H_AArch64_neon_wrap, DeblockChromaEq4H_c_wrap, WELS_CPU_NEON, 1)
GENERATE_CHROMA_UT (ChromaEq4V_AArch64_neon, DeblockChromaEq4V_AArch64_neon_wrap, DeblockChromaEq4V_c_wrap,
WELS_CPU_NEON, 0)
GENERATE_CHROMA_UT (ChromaEq4H_AArch64_neon, DeblockChromaEq4H_AArch64_neon_wrap, DeblockChromaEq4H_c_wrap,
WELS_CPU_NEON, 1)
#endif

View File

@ -211,7 +211,8 @@ void WelsIDctT4Anchor( uint8_t *p_dst, int16_t dct[16] ) {
}
}
TEST (DecodeMbAuxTest, WelsIDctT4Rec_c) {
int16_t iRefDct[16]; uint8_t iRefDst[16*FDEC_STRIDE];
int16_t iRefDct[16];
uint8_t iRefDst[16 * FDEC_STRIDE];
ENFORCE_STACK_ALIGN_1D (int16_t, iDct, 16, 16);
ENFORCE_STACK_ALIGN_1D (uint8_t, iPred, 16 * FDEC_STRIDE, 16);
ENFORCE_STACK_ALIGN_1D (uint8_t, iRec, 16 * FDEC_STRIDE, 16);
@ -273,7 +274,8 @@ void WelsIDctT8Anchor( uint8_t *p_dst, int16_t dct[4][16] ) {
WelsIDctT4Anchor (&p_dst[4 * FDEC_STRIDE + 4], dct[3]);
}
TEST (DecodeMbAuxTest, WelsIDctFourT4Rec_c) {
int16_t iRefDct[4][16]; uint8_t iRefDst[16*FDEC_STRIDE];
int16_t iRefDct[4][16];
uint8_t iRefDst[16 * FDEC_STRIDE];
ENFORCE_STACK_ALIGN_1D (int16_t, iDct, 64, 16);
ENFORCE_STACK_ALIGN_1D (uint8_t, iPred, 16 * FDEC_STRIDE, 16);
ENFORCE_STACK_ALIGN_1D (uint8_t, iRec, 16 * FDEC_STRIDE, 16);
@ -369,7 +371,8 @@ TEST(DecodeMbAuxTest, WelsIDctRecI16x16Dc_sse2) {
iRefDst[i * FDEC_STRIDE + j] = iPred[i * FDEC_STRIDE + j] = rand() & 255;
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
iRefDct[i][j] = iDct[i*4+j] = (rand() & ((1<<15)-1)) - (1<<14); //2^14 limit, (2^15+32) will cause overflow for SSE2.
iRefDct[i][j] = iDct[i * 4 + j] = (rand() & ((1 << 15) - 1)) - (1 <<
14); //2^14 limit, (2^15+32) will cause overflow for SSE2.
WelsIDctRecI16x16DcAnchor (iRefDst, iRefDct);
WelsIDctRecI16x16Dc_sse2 (iRec, FDEC_STRIDE, iPred, FDEC_STRIDE, iDct);
int ok = -1;

View File

@ -165,7 +165,8 @@ TEST(EncodeMbAuxTest, WelsDctT4_c) {
EXPECT_EQ (iDctRef[j][i], iDct[i * 4 + j]);
}
TEST (EncodeMbAuxTest, WelsDctFourT4_c) {
int16_t iDctRef[4][4][4]; uint8_t uiPix1[16*FENC_STRIDE], uiPix2[16*FDEC_STRIDE];
int16_t iDctRef[4][4][4];
uint8_t uiPix1[16 * FENC_STRIDE], uiPix2[16 * FDEC_STRIDE];
int16_t iDct[16 * 4];
srand ((unsigned int)time (NULL));
for (int i = 0; i < 8; i++)
@ -367,7 +368,8 @@ int32_t WelsHadamardQuant2x2SkipAnchor(int16_t *rs, int16_t ff, int16_t mf) {
pDct[1] = s[0] - s[2];
pDct[2] = s[1] + s[3];
pDct[3] = s[1] - s[3];
return ((WELS_ABS(pDct[0]) > threshold) || (WELS_ABS(pDct[1]) > threshold) || (WELS_ABS(pDct[2]) > threshold) || (WELS_ABS(pDct[3]) > threshold));
return ((WELS_ABS (pDct[0]) > threshold) || (WELS_ABS (pDct[1]) > threshold) || (WELS_ABS (pDct[2]) > threshold)
|| (WELS_ABS (pDct[3]) > threshold));
}
TEST (EncodeMbAuxTest, WelsHadamardQuant2x2Skip_c) {

View File

@ -25,8 +25,7 @@ TEST(GetIntraPredictorTest, TestGetI4x4LumaPredV) {
delete []pPred;
}
TEST(GetIntraPredictorTest, TestGetI4x4LumaPredH)
{
TEST (GetIntraPredictorTest, TestGetI4x4LumaPredH) {
const int32_t kiStride = rand() % 256 + 16;
const uint32_t kiStride2 = (kiStride << 1) - 1;
const uint32_t kiStride3 = kiStride + kiStride2;

View File

@ -39,7 +39,8 @@ TEST(MemoryAlignTest, WelsMallocAndFreeOnceFunctionVerify) {
CMemoryAlign cTestMa (kuiTestAlignSize);
const uint32_t uiSize = kuiTestDataSize;
const char strUnitTestTag[100] = "pUnitTestData";
const uint32_t kuiUsedCacheLineSize = ((kuiTestAlignSize == 0) || (kuiTestAlignSize & 0x0F)) ? (16) : (kuiTestAlignSize);
const uint32_t kuiUsedCacheLineSize = ((kuiTestAlignSize == 0)
|| (kuiTestAlignSize & 0x0F)) ? (16) : (kuiTestAlignSize);
const uint32_t kuiExtraAlignSize = kuiUsedCacheLineSize - 1;
const uint32_t kuiExpectedSize = sizeof (void**) + sizeof (int32_t) + kuiExtraAlignSize + uiSize;
uint8_t* pUnitTestData = static_cast<uint8_t*> (cTestMa.WelsMalloc (uiSize, strUnitTestTag));
@ -48,8 +49,7 @@ TEST(MemoryAlignTest, WelsMallocAndFreeOnceFunctionVerify) {
EXPECT_EQ (kuiExpectedSize, cTestMa.WelsGetMemoryUsage());
cTestMa.WelsFree (pUnitTestData, strUnitTestTag);
EXPECT_EQ (kuiZero, cTestMa.WelsGetMemoryUsage());
}
else {
} else {
EXPECT_EQ (NULL, pUnitTestData);
EXPECT_EQ (kuiZero, cTestMa.WelsGetMemoryUsage());
cTestMa.WelsFree (pUnitTestData, strUnitTestTag);

View File

@ -115,7 +115,8 @@ TEST_F(MotionEstimateTest, TestDiamondSearch) {
//the last selection may be affected by MVDcost, that is when (0,0) will be better
//when comparing (1,1) and (1,0), due to the difference between MVD cost, it is possible that (1,0) is selected while the best match is (1,1)
bFoundMatch = ((sMe.sMv.iMvX==(sTargetMv.iMvX))||(sMe.sMv.iMvX==0)) && ((sMe.sMv.iMvY==(sTargetMv.iMvY))||(sMe.sMv.iMvY==0));
bFoundMatch = ((sMe.sMv.iMvX == (sTargetMv.iMvX)) || (sMe.sMv.iMvX == 0)) && ((sMe.sMv.iMvY == (sTargetMv.iMvY))
|| (sMe.sMv.iMvY == 0));
}
if (bDataGeneratorSucceed) {
//if DataGenerator never succeed, there is no meaning to check iTryTimes
@ -210,8 +211,7 @@ TEST_F(MotionEstimateTest, TestHorizontalSearch) {
}
#ifdef X86_ASM
TEST_F(MotionEstimateTest, TestVerticalSearch_SSE41)
{
TEST_F (MotionEstimateTest, TestVerticalSearch_SSE41) {
int32_t iTmp = 1;
uint32_t uiCPUFlags = WelsCPUFeatureDetect (&iTmp);
if ((uiCPUFlags & WELS_CPU_SSE41) == 0) return ;
@ -219,8 +219,7 @@ TEST_F(MotionEstimateTest, TestVerticalSearch_SSE41)
DoLineTest (VerticalFullSearchUsingSSE41, true);
}
TEST_F(MotionEstimateTest, TestHorizontalSearch_SSE41)
{
TEST_F (MotionEstimateTest, TestHorizontalSearch_SSE41) {
int32_t iTmp = 1;
uint32_t uiCPUFlags = WelsCPUFeatureDetect (&iTmp);
if ((uiCPUFlags & WELS_CPU_SSE41) == 0) return ;
@ -249,9 +248,11 @@ public:
ASSERT_TRUE (NULL != m_pSrcBlock);
m_pMvdCostTable = (uint16_t*)m_pMa->WelsMalloc (52 * m_uiMvdTableSize * sizeof (uint16_t), "m_pMvdCostTable");
ASSERT_TRUE (NULL != m_pMvdCostTable);
m_pFeatureSearchPreparation = (SFeatureSearchPreparation*)m_pMa->WelsMalloc (sizeof (SFeatureSearchPreparation), "m_pFeatureSearchPreparation");
m_pFeatureSearchPreparation = (SFeatureSearchPreparation*)m_pMa->WelsMalloc (sizeof (SFeatureSearchPreparation),
"m_pFeatureSearchPreparation");
ASSERT_TRUE (NULL != m_pFeatureSearchPreparation);
m_pScreenBlockFeatureStorage = (SScreenBlockFeatureStorage*)m_pMa->WelsMalloc (sizeof (SScreenBlockFeatureStorage), "m_pScreenBlockFeatureStorage");
m_pScreenBlockFeatureStorage = (SScreenBlockFeatureStorage*)m_pMa->WelsMalloc (sizeof (SScreenBlockFeatureStorage),
"m_pScreenBlockFeatureStorage");
ASSERT_TRUE (NULL != m_pScreenBlockFeatureStorage);
}
virtual void TearDown() {
@ -375,9 +376,12 @@ TEST_F(FeatureMotionEstimateTest, TestFeatureSearch) {
bool bMvMatch = sMe.sMv.iMvX == sTargetMv.iMvX && sMe.sMv.iMvY == sTargetMv.iMvY;
bool bFeatureMatch =
( *(m_pScreenBlockFeatureStorage->pFeatureOfBlockPointer +(m_iHeight/2+sTargetMv.iMvY)*(m_iWidth-8)+(m_iWidth/2+sTargetMv.iMvX))
== *(m_pScreenBlockFeatureStorage->pFeatureOfBlockPointer +(m_iHeight/2+sMe.sMv.iMvY)*(m_iWidth-8)+(m_iWidth/2+sMe.sMv.iMvX)) )
&& ((sMe.pMvdCost[sMe.sMv.iMvY<<2]+sMe.pMvdCost[sMe.sMv.iMvX<<2]) <= (sMe.pMvdCost[sTargetMv.iMvY<<2]+sMe.pMvdCost[sTargetMv.iMvX<<2]));
(* (m_pScreenBlockFeatureStorage->pFeatureOfBlockPointer + (m_iHeight / 2 + sTargetMv.iMvY) * (m_iWidth - 8) +
(m_iWidth / 2 + sTargetMv.iMvX))
== * (m_pScreenBlockFeatureStorage->pFeatureOfBlockPointer + (m_iHeight / 2 + sMe.sMv.iMvY) * (m_iWidth - 8) +
(m_iWidth / 2 + sMe.sMv.iMvX)))
&& ((sMe.pMvdCost[sMe.sMv.iMvY << 2] + sMe.pMvdCost[sMe.sMv.iMvX << 2]) <= (sMe.pMvdCost[sTargetMv.iMvY << 2] +
sMe.pMvdCost[sTargetMv.iMvX << 2]));
//the last selection may be affected by MVDcost, that is when smaller Mv will be better
bFoundMatch = bMvMatch || bFeatureMatch;

View File

@ -95,8 +95,10 @@ TEST(IntraSadSatdFuncTest, WelsSampleSatdThree4x4_sse2){
pEnc[i] = rand() % 256;
for (int i = 0; i < 512; i++)
pDst[i] = rand() % 256;
tmpa = WelsSampleSatdIntra4x4Combined3_c(pDec+128, iLineSizeDec, pEnc,iLineSizeEnc, pDst, &iBestMode_c, lambda[iPredMode == 2], lambda[iPredMode == 1], lambda[iPredMode == 0]);
tmpb = WelsSampleSatdThree4x4_sse2(pDec+128, iLineSizeDec, pEnc,iLineSizeEnc, pDst, &iBestMode_a, lambda[iPredMode == 2], lambda[iPredMode == 1], lambda[iPredMode == 0]);
tmpa = WelsSampleSatdIntra4x4Combined3_c (pDec + 128, iLineSizeDec, pEnc, iLineSizeEnc, pDst, &iBestMode_c,
lambda[iPredMode == 2], lambda[iPredMode == 1], lambda[iPredMode == 0]);
tmpb = WelsSampleSatdThree4x4_sse2 (pDec + 128, iLineSizeDec, pEnc, iLineSizeEnc, pDst, &iBestMode_a,
lambda[iPredMode == 2], lambda[iPredMode == 1], lambda[iPredMode == 0]);
ASSERT_EQ (tmpa, tmpb);
ASSERT_EQ (iBestMode_c, iBestMode_a);
cMemoryAlign.WelsFree (pDec, "pDec");
@ -130,8 +132,10 @@ TEST(IntraSadSatdFuncTest, WelsIntraChroma8x8Combined3Satd_sse41){
}
for (int i = 0; i < 512; i++)
pDstChma[i] = rand() % 256;
tmpa = WelsSampleSatdIntra8x8Combined3_c(pDecCb+128, iLineSizeDec, pEncCb,iLineSizeEnc,&iBestMode_c, iLambda, pDstChma, pDecCr+128, pEncCr);
tmpb = WelsIntraChroma8x8Combined3Satd_sse41(pDecCb+128, iLineSizeDec, pEncCb,iLineSizeEnc,&iBestMode_a, iLambda, pDstChma, pDecCr+128, pEncCr);
tmpa = WelsSampleSatdIntra8x8Combined3_c (pDecCb + 128, iLineSizeDec, pEncCb, iLineSizeEnc, &iBestMode_c, iLambda,
pDstChma, pDecCr + 128, pEncCr);
tmpb = WelsIntraChroma8x8Combined3Satd_sse41 (pDecCb + 128, iLineSizeDec, pEncCb, iLineSizeEnc, &iBestMode_a, iLambda,
pDstChma, pDecCr + 128, pEncCr);
ASSERT_EQ (tmpa, tmpb);
ASSERT_EQ (iBestMode_c, iBestMode_a);
cMemoryAlign.WelsFree (pDecCb, "pDecCb");
@ -514,7 +518,8 @@ TEST_F(SadSatdAssemblyFuncTest, WelsSampleSad4x4_mmx) {
for (int i = 0; i < (m_iStrideB << 2); i++)
m_pPixSrcB[i] = rand() % 256;
EXPECT_EQ(WelsSampleSad4x4_c(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSad4x4_mmx(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB));
EXPECT_EQ (WelsSampleSad4x4_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSad4x4_mmx (m_pPixSrcA,
m_iStrideA, m_pPixSrcB, m_iStrideB));
}
@ -528,7 +533,8 @@ TEST_F(SadSatdAssemblyFuncTest, WelsSampleSad8x8_sse21) {
for (int i = 0; i < (m_iStrideB << 3); i++)
m_pPixSrcB[i] = rand() % 256;
EXPECT_EQ(WelsSampleSad8x8_c(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSad8x8_sse21(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB ));
EXPECT_EQ (WelsSampleSad8x8_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSad8x8_sse21 (m_pPixSrcA,
m_iStrideA, m_pPixSrcB, m_iStrideB));
}
TEST_F (SadSatdAssemblyFuncTest, WelsSampleSad8x16_sse2) {
@ -540,7 +546,8 @@ TEST_F(SadSatdAssemblyFuncTest, WelsSampleSad8x16_sse2) {
for (int i = 0; i < (m_iStrideB << 4); i++)
m_pPixSrcB[i] = rand() % 256;
EXPECT_EQ(WelsSampleSad8x16_c(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSad8x16_sse2(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB));
EXPECT_EQ (WelsSampleSad8x16_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSad8x16_sse2 (m_pPixSrcA,
m_iStrideA, m_pPixSrcB, m_iStrideB));
}
TEST_F (SadSatdAssemblyFuncTest, WelsSampleSad16x8_sse2) {
@ -552,7 +559,8 @@ TEST_F(SadSatdAssemblyFuncTest, WelsSampleSad16x8_sse2) {
for (int i = 0; i < (m_iStrideB << 3); i++)
m_pPixSrcB[i] = rand() % 256;
EXPECT_EQ(WelsSampleSad16x8_c(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSad16x8_sse2(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB));
EXPECT_EQ (WelsSampleSad16x8_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSad16x8_sse2 (m_pPixSrcA,
m_iStrideA, m_pPixSrcB, m_iStrideB));
}
TEST_F (SadSatdAssemblyFuncTest, WelsSampleSad16x16_sse2) {
@ -564,7 +572,8 @@ TEST_F(SadSatdAssemblyFuncTest, WelsSampleSad16x16_sse2) {
for (int i = 0; i < (m_iStrideB << 4); i++)
m_pPixSrcB[i] = rand() % 256;
EXPECT_EQ(WelsSampleSad16x16_c(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSad16x16_sse2(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB));
EXPECT_EQ (WelsSampleSad16x16_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSad16x16_sse2 (m_pPixSrcA,
m_iStrideA, m_pPixSrcB, m_iStrideB));
}
TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd4x4_sse2) {
@ -576,7 +585,8 @@ TEST_F(SadSatdAssemblyFuncTest, WelsSampleSatd4x4_sse2) {
for (int i = 0; i < (m_iStrideB << 2); i++)
m_pPixSrcB[i] = rand() % 256;
EXPECT_EQ(WelsSampleSatd4x4_c(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSatd4x4_sse2(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB));
EXPECT_EQ (WelsSampleSatd4x4_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSatd4x4_sse2 (m_pPixSrcA,
m_iStrideA, m_pPixSrcB, m_iStrideB));
}
TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd8x8_sse2) {
@ -588,7 +598,8 @@ TEST_F(SadSatdAssemblyFuncTest, WelsSampleSatd8x8_sse2) {
for (int i = 0; i < (m_iStrideB << 3); i++)
m_pPixSrcB[i] = rand() % 256;
EXPECT_EQ(WelsSampleSatd8x8_c(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSatd8x8_sse2(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB ));
EXPECT_EQ (WelsSampleSatd8x8_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSatd8x8_sse2 (m_pPixSrcA,
m_iStrideA, m_pPixSrcB, m_iStrideB));
}
TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd8x16_sse2) {
@ -600,7 +611,8 @@ TEST_F(SadSatdAssemblyFuncTest, WelsSampleSatd8x16_sse2) {
for (int i = 0; i < (m_iStrideB << 4); i++)
m_pPixSrcB[i] = rand() % 256;
EXPECT_EQ(WelsSampleSatd8x16_c(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSatd8x16_sse2(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB));
EXPECT_EQ (WelsSampleSatd8x16_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSatd8x16_sse2 (m_pPixSrcA,
m_iStrideA, m_pPixSrcB, m_iStrideB));
}
TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd16x8_sse2) {
@ -612,7 +624,8 @@ TEST_F(SadSatdAssemblyFuncTest, WelsSampleSatd16x8_sse2) {
for (int i = 0; i < (m_iStrideB << 3); i++)
m_pPixSrcB[i] = rand() % 256;
EXPECT_EQ(WelsSampleSatd16x8_c(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSatd16x8_sse2(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB));
EXPECT_EQ (WelsSampleSatd16x8_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSatd16x8_sse2 (m_pPixSrcA,
m_iStrideA, m_pPixSrcB, m_iStrideB));
}
TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd16x16_sse2) {
@ -624,7 +637,8 @@ TEST_F(SadSatdAssemblyFuncTest, WelsSampleSatd16x16_sse2) {
for (int i = 0; i < (m_iStrideB << 4); i++)
m_pPixSrcB[i] = rand() % 256;
EXPECT_EQ(WelsSampleSatd16x16_c(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSatd16x16_sse2(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB));
EXPECT_EQ (WelsSampleSatd16x16_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSatd16x16_sse2 (m_pPixSrcA,
m_iStrideA, m_pPixSrcB, m_iStrideB));
}
TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd4x4_sse41) {
@ -636,7 +650,8 @@ TEST_F(SadSatdAssemblyFuncTest, WelsSampleSatd4x4_sse41) {
for (int i = 0; i < (m_iStrideB << 2); i++)
m_pPixSrcB[i] = rand() % 256;
EXPECT_EQ(WelsSampleSatd4x4_c(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSatd4x4_sse41(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB));
EXPECT_EQ (WelsSampleSatd4x4_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSatd4x4_sse41 (m_pPixSrcA,
m_iStrideA, m_pPixSrcB, m_iStrideB));
}
TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd8x8_sse41) {
@ -648,7 +663,8 @@ TEST_F(SadSatdAssemblyFuncTest, WelsSampleSatd8x8_sse41) {
for (int i = 0; i < (m_iStrideB << 3); i++)
m_pPixSrcB[i] = rand() % 256;
EXPECT_EQ(WelsSampleSatd8x8_c(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSatd8x8_sse41(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB ));
EXPECT_EQ (WelsSampleSatd8x8_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSatd8x8_sse41 (m_pPixSrcA,
m_iStrideA, m_pPixSrcB, m_iStrideB));
}
TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd8x16_sse41) {
@ -660,7 +676,8 @@ TEST_F(SadSatdAssemblyFuncTest, WelsSampleSatd8x16_sse41) {
for (int i = 0; i < (m_iStrideB << 4); i++)
m_pPixSrcB[i] = rand() % 256;
EXPECT_EQ(WelsSampleSatd8x16_c(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSatd8x16_sse41(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB));
EXPECT_EQ (WelsSampleSatd8x16_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSatd8x16_sse41 (m_pPixSrcA,
m_iStrideA, m_pPixSrcB, m_iStrideB));
}
TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd16x8_sse41) {
@ -672,7 +689,8 @@ TEST_F(SadSatdAssemblyFuncTest, WelsSampleSatd16x8_sse41) {
for (int i = 0; i < (m_iStrideB << 3); i++)
m_pPixSrcB[i] = rand() % 256;
EXPECT_EQ(WelsSampleSatd16x8_c(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSatd16x8_sse41(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB));
EXPECT_EQ (WelsSampleSatd16x8_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSatd16x8_sse41 (m_pPixSrcA,
m_iStrideA, m_pPixSrcB, m_iStrideB));
}
TEST_F (SadSatdAssemblyFuncTest, WelsSampleSatd16x16_sse41) {
@ -684,7 +702,8 @@ TEST_F(SadSatdAssemblyFuncTest, WelsSampleSatd16x16_sse41) {
for (int i = 0; i < (m_iStrideB << 4); i++)
m_pPixSrcB[i] = rand() % 256;
EXPECT_EQ(WelsSampleSatd16x16_c(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB), WelsSampleSatd16x16_sse41(m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB));
EXPECT_EQ (WelsSampleSatd16x16_c (m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB),
WelsSampleSatd16x16_sse41 (m_pPixSrcA, m_iStrideA, m_pPixSrcB, m_iStrideB));
}
TEST_F (SadSatdAssemblyFuncTest, WelsSampleSadFour16x16_sse2) {

View File

@ -16,8 +16,7 @@ using namespace nsWelsVP;
ASSERT_TRUE(0); \
}
TEST(ScrollDetectionTest,TestScroll)
{
TEST (ScrollDetectionTest, TestScroll) {
unsigned char* pSrc, *pRef;
int iWidthSets[4] = {640, 1024, 1280, 1980};
int iHeightSets[4] = {360, 768, 720, 1080};
@ -43,7 +42,8 @@ TEST(ScrollDetectionTest,TestScroll)
if ((j + iScrollMv) >= 0 && (j + iScrollMv) < iHeight)
for (int i = 0; i < iWidth; i++) {
memcpy (pSrcTmp , &pRefTmp[ (j + iScrollMv)*iStride], iWidth * sizeof (unsigned char));
} else {
}
else {
for (int i = 0; i < iWidth; i++)
pSrcTmp[i] = rand() % 256;
}

View File

@ -54,8 +54,7 @@ extern "C" {
* This structure will hold context information for the hashing
* operation
*/
typedef struct SHA1Context
{
typedef struct SHA1Context {
unsigned Message_Digest[5]; /* Message Digest (output) */
unsigned Length_Low; /* Message length in bits */