亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? astoragearray.cpp

?? 微軟的基于HMM的人臉識別原代碼, 非常經典的說
?? CPP
字號:
/*M///////////////////////////////////////////////////////////////////////////////////////
//
//  IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
//
//  By downloading, copying, installing or using the software you agree to this license.
//  If you do not agree to this license, do not download, install,
//  copy or use the software.
//
//
//                        Intel License Agreement
//                For Open Source Computer Vision Library
//
// Copyright (C) 2000, Intel Corporation, all rights reserved.
// Third party copyrights are property of their respective owners.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
//   * Redistribution's of source code must retain the above copyright notice,
//     this list of conditions and the following disclaimer.
//
//   * Redistribution's in binary form must reproduce the above copyright notice,
//     this list of conditions and the following disclaimer in the documentation
//     and/or other materials provided with the distribution.
//
//   * The name of Intel Corporation may not be used to endorse or promote products
//     derived from this software without specific prior written permission.
//
// This software is provided by the copyright holders and contributors "as is" and
// any express or implied warranties, including, but not limited to, the implied
// warranties of merchantability and fitness for a particular purpose are disclaimed.
// In no event shall the Intel Corporation or contributors be liable for any direct,
// indirect, incidental, special, exemplary, or consequential damages
// (including, but not limited to, procurement of substitute goods or services;
// loss of use, data, or profits; or business interruption) however caused
// and on any theory of liability, whether in contract, strict liability,
// or tort (including negligence or otherwise) arising in any way out of
// the use of this software, even if advised of the possibility of such damage.
//
//M*/

#include "CvTest.h"
#include "CV.hpp"

static char* funcName  = "Constructors/Destructors and all other functions";
static char* testName  = "CvArray class";
static char* testClass = "Algorithm";

#define SIZE 10
#define CAPACITY 20

#pragma warning(disable:4702) /* unreachable code */

template <class Val> static int foaCvArray()
{
    int Errors = 0;

    /* Checking constructors */

    /* Check empty constructor */
    CvArray<Val> arrayEmpty;
    if( arrayEmpty.get_capacity() != 0 )
        return trsResult( TRS_FAIL, "Bad empty constructor (wrong capacity)" );
    if( arrayEmpty.get_size() != 0 )
        return trsResult( TRS_FAIL, "Bad empty constructor (wrong size)" );
    if( arrayEmpty.get_array() != 0 )
        return trsResult( TRS_FAIL, "Bad empty constructor (wrong array)" );

    /* Check one-parameter constructor */
    CvArray<Val> arrayOne( SIZE );
    if( arrayOne.get_size() != SIZE )
        return trsResult( TRS_FAIL, "Bad one-parameter constructor (wrong size)" );
    if( arrayOne.get_capacity() != SIZE )
        return trsResult( TRS_FAIL, "Bad one-parameter constructor (wrong capacity)" );
    if( arrayOne.get_array() == 0 )
        return trsResult( TRS_FAIL, "Bad one-parameter constructor (wrong array)" );

    /* Check two-parameter constructor */
    CvArray<Val> arrayTwo( SIZE, CAPACITY );
    if( arrayTwo.get_size() != SIZE )
        return trsResult( TRS_FAIL, "Bad two-parameter constructor (wrong size)" );
    if( arrayTwo.get_capacity() != CAPACITY )
        return trsResult( TRS_FAIL, "Bad two-parameter constructor (wrong capacity)" );
    if( arrayTwo.get_array() == 0 )
        return trsResult( TRS_FAIL, "Bad two-parameter constructor (wrong array)" );

    /* Filling array */
    CvArray<Val>::value_type* array0 = arrayTwo.get_array();
    for( CvArray<Val>::idx_type i = 0; i < SIZE; i++ )
        array0[i] = (CvArray<Val>::value_type)i;

    /* Check copy constructor */
    CvArray<Val> arrayCopy( arrayTwo );
    if( arrayTwo.get_size() != arrayCopy.get_size() )
        return trsResult( TRS_FAIL, "Bad two-parameter constructor (wrong size)" );
    if( arrayTwo.get_capacity() != arrayCopy.get_capacity() )
        return trsResult( TRS_FAIL, "Bad two-parameter constructor (wrong capacity)" );
    CvArray<Val>::value_type* array1 = arrayCopy.get_array();
    for( i = 0; i < SIZE; i++ ) if( array0[i] != array1[i] )
        return trsResult( TRS_FAIL, "Bad two-parameter constructor (wrong array)" );

    /* Check begin & raw_begin functions */
    CvArray<Val>::iterator iter = arrayCopy.begin();
    CvArray<Val>::iterator iterRaw = arrayCopy.raw_begin();
    if( iter.get_begin() != array1 )
    {
        Errors++;
        trsWrite( ATS_LST | ATS_CON, "Error: begin() function (wrong begin)\n" );
    }
    if( iter.get_current() != array1 )
    {
        Errors++;
        trsWrite( ATS_LST | ATS_CON, "Error: begin() function (wrong current)\n" );
    }
    if( iterRaw.get_begin() != array1 )
    {
        Errors++;
        trsWrite( ATS_LST | ATS_CON, "Error: raw_begin() function (wrong begin)\n" );
    }
    if( iterRaw.get_current() != array1 )
    {
        Errors++;
        trsWrite( ATS_LST | ATS_CON, "Error: raw_begin() function (wrong current)\n" );
    }

    /* Check end & raw_end functions */
    iter = arrayCopy.end();
    iterRaw = arrayCopy.raw_end();
    if( iter.get_begin() != array1 )
    {
        Errors++;
        trsWrite( ATS_LST | ATS_CON, "Error: end() function (wrong begin)\n" );
    }
    if( iter.get_current() != &array1[arrayCopy.get_size() - 1] )
    {
        Errors++;
        trsWrite( ATS_LST | ATS_CON, "Error: end() function (wrong current)\n" );
    }
    if( iterRaw.get_begin() != array1 )
    {
        Errors++;
        trsWrite( ATS_LST | ATS_CON, "Error: raw_end() function (wrong begin)\n" );
    }
    if( iterRaw.get_current() != &array1[arrayCopy.get_size() - 1] )
    {
        Errors++;
        trsWrite( ATS_LST | ATS_CON, "Error: raw_end() function (wrong current)\n" );
    }

    /* Check operator= */
    arrayEmpty = arrayCopy;
    if( arrayEmpty.get_size() != arrayCopy.get_size() )
    {
        Errors++;
        trsWrite( ATS_LST | ATS_CON, "Error: operator= (wrong size)\n" );
    }
    if( arrayEmpty.get_capacity() != arrayCopy.get_capacity() )
    {
        Errors++;
        trsWrite( ATS_LST | ATS_CON, "Error: operator= (wrong capacity)\n" );
    }
    array0 = arrayEmpty.get_array();
    for( i = 0; i < arrayCopy.get_size(); i++ ) if( array0[i] != array1[i] )
    {
        Errors++;
        trsWrite( ATS_CON | ATS_LST, "Error: operator= (wrong array)" );
        break;
    }

    /* Check operator[] */
    array0 = arrayTwo.get_array();
    for( i = 0; i < arrayCopy.get_size(); i++ ) if( array0[i] != arrayCopy[i] )
    {
        Errors++;
        trsWrite( ATS_CON | ATS_LST, "Error: operator[] (wrong array)" );
        break;
    }

    /* Check query() function */
    for( i = 0; i < arrayCopy.get_size(); i++ ) if( array0[i] != arrayCopy.query(i) )
    {
        Errors++;
        trsWrite( ATS_CON | ATS_LST, "Error: query() function (wrong array)" );
        break;
    }

    /* Check remove() function */
    arrayTwo.remove( SIZE / 2 );
    if( array0[SIZE / 2] != 0 )
    {
        Errors++;
        trsWrite( ATS_CON | ATS_LST, "Error: remove() function (wrong array)" );
    }

    /* Check clear() function */
    arrayTwo.clear();
    for( i = 0; i < arrayTwo.get_size(); i++ ) if( array0[i] != 0 )
    {
        Errors++;
        trsWrite( ATS_CON | ATS_LST, "Error: clear() function (wrong array)" );
        break;
    }

    /* Check set_size() function */
    /* Check case, when new size < capacity */
    arrayTwo = arrayCopy;
    arrayCopy.set_size( SIZE + 1 );
    if( arrayCopy.get_size() != SIZE + 1 )
    {
        Errors++;
        trsWrite( ATS_CON | ATS_LST, "Error: set_size() function (wrong size)\n" );
    }
    if( arrayCopy.get_capacity() != CAPACITY )
    {
        Errors++;
        trsWrite( ATS_CON | ATS_LST, "Error: set_size() function (wrong capasity)\n" );
    }
    for( i = 0; i < arrayTwo.get_size(); i++ ) if( arrayTwo[i] != arrayCopy[i] )
    {
        Errors++;
        trsWrite( ATS_LST | ATS_CON, "Error: set_size() function (old data changed)\n" );
        break;
    }
    for( i = arrayTwo.get_size();i < arrayCopy.get_size(); i++ )
        if( arrayCopy[i] != 0 )
        {
            Errors++;
            trsWrite( ATS_LST | ATS_CON,
                      "Error: set_size() function (new data not empty)\n" );
            break;
        }
    /* Check case, when new size > capacity */
    arrayCopy = arrayTwo;
    arrayCopy.set_size( CAPACITY + 10 );
    if( arrayCopy.get_size() != CAPACITY + 10 )
    {
        Errors++;
        trsWrite( ATS_CON | ATS_LST, "Error: set_size() function (wrong size)\n" );
    }
    if( arrayCopy.get_capacity() != CAPACITY + 10 )
    {
        Errors++;
        trsWrite( ATS_CON | ATS_LST, "Error: set_size() function (wrong capasity)\n" );
    }
    for( i = 0; i < arrayTwo.get_size(); i++ ) if( arrayTwo[i] != arrayCopy[i] )
    {
        Errors++;
        trsWrite( ATS_LST | ATS_CON, "Error: set_size() function (old data changed)\n" );
        break;
    }
    for( i = arrayTwo.get_size(); i < arrayCopy.get_size(); i++ )
        if( arrayCopy[i] != 0 )
        {
            Errors++;
            trsWrite( ATS_LST | ATS_CON,
                      "Error: set_size() function (new data not empty)\n" );
            break;
        }

    /* Check set_capacity() function */
    arrayCopy = arrayTwo;
    arrayCopy.set_capacity( CAPACITY + 1 );
    if( arrayCopy.get_size() != SIZE )
    {
        Errors++;
        trsWrite( ATS_CON | ATS_LST, "Error: set_capacity() function (wrong size)\n" );
    }
    if( arrayCopy.get_capacity() != CAPACITY + 1 )
    {
        Errors++;
        trsWrite( ATS_CON | ATS_LST, "Error: set_capacity() function (wrong capasity)\n" );
    }
    for( i = 0; i < arrayCopy.get_size(); i++ ) if( arrayTwo[i] != arrayCopy[i] )
    {
        Errors++;
        trsWrite( ATS_LST | ATS_CON, "Error: set_capacity() function (data changed)\n" );
        break;
    }

    return Errors == 0 ? TRS_OK : trsResult( TRS_FAIL, "Fixed %d errors", Errors );
}


#define INT   0
#define FLOAT 1
#define SHORT 2

static int foaCvArrayType( void* param )
{
    int Param = (int)param;
    switch (Param)
    {
    case INT:
        return foaCvArray<int>();
    case FLOAT:
        return foaCvArray<float>();
    case SHORT:
        return foaCvArray<short>();
    default:
        return trsResult( TRS_FAIL, "Wrong parameter" );
    }
}


void InitAStorageArray()
{
    trsRegArg( funcName, testName, testClass, foaCvArrayType, INT   );
    trsRegArg( funcName, testName, testClass, foaCvArrayType, FLOAT );
    trsRegArg( funcName, testName, testClass, foaCvArrayType, SHORT );
    return;
}

/* End of file. */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品视频在线免费观看| 麻豆精品视频在线观看视频| 在线观看日韩高清av| 日日摸夜夜添夜夜添精品视频 | 91美女在线观看| 午夜伊人狠狠久久| 国产精品久久网站| 日韩欧美激情一区| 91免费在线看| 国产成人精品亚洲午夜麻豆| 三级精品在线观看| 亚洲视频在线一区二区| 精品日韩一区二区| 6080亚洲精品一区二区| 91视频观看视频| 国产激情一区二区三区| 三级在线观看一区二区| 亚洲精品自拍动漫在线| 国产精品国产三级国产普通话蜜臀| 欧美v亚洲v综合ⅴ国产v| 欧美无乱码久久久免费午夜一区| 国产69精品一区二区亚洲孕妇| 免费在线观看一区二区三区| 一区二区激情视频| 亚洲女爱视频在线| 中文字幕永久在线不卡| 国产精品久久久久毛片软件| 欧美成人福利视频| 欧美一区二区视频免费观看| 欧洲视频一区二区| 色诱视频网站一区| 99国产欧美另类久久久精品| 国产99一区视频免费| 国产在线麻豆精品观看| 麻豆freexxxx性91精品| 免费一区二区视频| 麻豆精品在线播放| 久久精品国产免费| 久久99久久精品欧美| 蜜桃视频一区二区| 麻豆精品在线看| 久久99国产精品麻豆| 激情五月婷婷综合网| 极品少妇xxxx偷拍精品少妇| 国产在线精品一区二区| 国产综合色精品一区二区三区| 久久疯狂做爰流白浆xx| 国产一区二区剧情av在线| 久久99国内精品| 国产一区二区不卡老阿姨| 国产成人av网站| 91亚洲国产成人精品一区二区三 | 蜜桃视频第一区免费观看| 日韩成人精品在线| 日韩高清不卡一区二区| 久久精品噜噜噜成人88aⅴ| 精品无人码麻豆乱码1区2区| 激情综合五月天| 成人黄色片在线观看| eeuss国产一区二区三区| 在线观看成人小视频| 欧美日韩国产另类一区| 日韩视频免费观看高清完整版 | 丁香另类激情小说| 成人国产一区二区三区精品| 色综合天天性综合| 欧美日韩国产一区二区三区地区| 日韩一区二区三区在线观看| 精品日韩一区二区三区免费视频| 国产亚洲一区二区在线观看| 中文字幕一区av| 亚洲成人精品在线观看| 美女国产一区二区| 成人涩涩免费视频| 欧美视频一区在线| 精品久久久久久无| ...xxx性欧美| 免费在线欧美视频| 成人一道本在线| 欧美日韩免费视频| 久久久久久综合| 亚洲一区二区高清| 国产一二三精品| 欧洲生活片亚洲生活在线观看| 精品国偷自产国产一区| 亚洲乱码国产乱码精品精98午夜 | 亚洲高清在线视频| 大陆成人av片| 欧美久久久久久久久| 日本一区二区三区电影| 三级久久三级久久久| av电影一区二区| 欧美变态tickling挠脚心| 亚洲欧美另类久久久精品2019| 免费成人在线影院| 色婷婷国产精品久久包臀| 欧美精品一区二区久久久| 亚洲制服欧美中文字幕中文字幕| 国产一区二区伦理| 91.麻豆视频| 亚洲欧美经典视频| 国产一区二区三区蝌蚪| 欧美日韩和欧美的一区二区| 国产精品麻豆网站| 国模套图日韩精品一区二区| 欧美日韩国产美| 1024精品合集| 国产69精品久久99不卡| 7777精品伊人久久久大香线蕉的| 136国产福利精品导航| 国产麻豆一精品一av一免费 | 91麻豆精品91久久久久久清纯| 国产精品私人自拍| 美女视频黄 久久| 欧美在线你懂得| 国产精品电影一区二区三区| 精品亚洲国产成人av制服丝袜| 欧美老肥妇做.爰bbww视频| 亚洲欧美区自拍先锋| 不卡的看片网站| 日本一区二区三区免费乱视频| 久久99精品国产麻豆婷婷| 欧美人动与zoxxxx乱| 亚洲一二三四区不卡| 91麻豆福利精品推荐| 亚洲欧洲另类国产综合| 成人sese在线| 中文字幕乱码日本亚洲一区二区 | 亚洲欧美日韩中文字幕一区二区三区 | 成人毛片在线观看| 2020国产成人综合网| 久久精品国产成人一区二区三区| 91精品国产综合久久蜜臀 | 成人精品鲁一区一区二区| 久久久久久久久久久久久久久99 | 亚洲啪啪综合av一区二区三区| 丁香天五香天堂综合| 国产色91在线| 懂色av一区二区在线播放| 国产午夜精品一区二区三区四区| 国内精品免费在线观看| 久久久久久久精| 成人精品在线视频观看| 国产精品国产馆在线真实露脸 | 精品一区二区免费在线观看| 制服丝袜亚洲精品中文字幕| 免费成人你懂的| 久久先锋资源网| 国产成人丝袜美腿| 国产精品久久久久三级| 91色porny在线视频| 亚洲精品高清在线观看| 欧美日韩视频不卡| 久久国产精品色| 国产欧美1区2区3区| jvid福利写真一区二区三区| 亚洲精品成人悠悠色影视| 欧美亚日韩国产aⅴ精品中极品| 亚洲成人av在线电影| 欧美zozo另类异族| 成人精品小蝌蚪| 亚洲综合无码一区二区| 91精品国产乱码久久蜜臀| 狠狠色综合色综合网络| 国产精品久久久久久亚洲毛片| 欧美午夜精品免费| 久久er99热精品一区二区| 亚洲国产精品av| 欧美日韩亚洲高清一区二区| 久久国产精品99久久久久久老狼 | 欧美日韩电影一区| 久久精品国产一区二区三区免费看| 久久天堂av综合合色蜜桃网| 91尤物视频在线观看| 日本麻豆一区二区三区视频| 久久嫩草精品久久久精品一| 色综合久久久久综合99| 日本va欧美va精品| 国产精品初高中害羞小美女文| 欧美日韩国产一级片| 成人精品一区二区三区四区| 偷拍一区二区三区四区| 国产女主播一区| 91精品视频网| 91美女视频网站| 国产在线观看一区二区| 一区二区三区在线免费观看| 久久久九九九九| 欧美久久久久久久久久 | 日韩欧美三级在线| 99re在线视频这里只有精品| 蜜臀va亚洲va欧美va天堂| 亚洲丝袜另类动漫二区| 久久伊人蜜桃av一区二区| 欧美日韩一区二区在线视频| 国产成人精品亚洲午夜麻豆| 日韩高清不卡一区二区三区| 亚洲精品亚洲人成人网| 久久久99久久| 欧美电影免费观看高清完整版在线|