⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tensortest.cpp

📁 Tensor类
💻 CPP
字号:
/* TensorTest.cpp                           Version from  05/05/01 17:07PM  */
/* Contents ----------------------------------------------------------------**
**									                                                        **
**  Tensor Tests                                                            **
**																		                                      **
**--------------------------------------------------------------------------**
**                                                                          **
** COPYRIGHT (C) 1997 by Melnikov Mike. All rights reserved.                **
** For any comments or suggestions mailto:zmike@andnow.ru                   **
**                                                                          **
** -------------------------------------------------------------------------*/

#include "stdafx.h"

#include "Tensor.h"

#include <iOSTREAM>

int main(int argc, char* argv[])
{
   Tensor2 result1,result2(2),result3(2),result4(2),result5(2),result6(2);

    Tensor2 t1(2);       t1[0][0] = 1.0;
                         t1[1][0] = 2.0;
                         t1[0][1] = 3.0;
                         t1[1][1] = 4.0;

    Tensor2 t2(2);       t2[0][0] = 5.0;
                         t2[1][0] = 6.0;
                         t2[0][1] = 7.0;
                         t2[1][1] = 8.0;


    Tensor1 t3(2);
    t3[0] = 1.0;
    t3[1] = 2.0;     

   convolution(result1["11"],t1["ij"],t2["ji"]); // 69
   assert((double)(TensorElement<>&)result1["11"]==69);
    
   convolution(result2["11"],t1["ij"],t2["ij"]); // 70
   assert((double)(TensorElement<>&)result2["11"]==70);

   convolution(result4["11"],t1["2j"],t2["j1"]);   // 34
   assert((double)(TensorElement<>&)result4["11"]==34);
  
   convolution(result5["1i"],t3["1"],t2["i1"]);    
   result5["1j"].printf(std::cout);  //  5 , 6

   convolution(result6["ij"],t1["ja"],t2["ai"]);    
    result6["ab"].printf(std::cout);      //23 34 
                                          //31 46

    result3 = t1 + t2*2;
    result3["ij"].printf(std::cout);      // 11 17
                                          // 14 20

    ~(result3);
    result3["ij"].printf(std::cout);      // 00 00
                                          // 00 00
    Tensor4 t4(3);
    for(int i=0;i<3;i++)
    for(int j=0;j<3;j++)
    for(int k=0;k<3;k++)
    for(int l=0;l<3;l++)
    {
      t4[i][j][k][l] = i*3*3*3+j*3*3+k*3+l;
    }
    std::cout << "press any key to continue"; getchar();

    t4["ijkl"].printf(std::cout);      

    std::cout << "press any key to continue"; getchar();


//    Tensor2 t[2];
  //  double q[2];
    //t2.averaging(&t[0],q,2);

    Tensor4 ti(2),t5(2);
    {
      for(int i=0;i<2;i++)
      for(int j=0;j<2;j++)
      for(int k=0;k<2;k++)
      for(int l=0;l<2;l++)
      {
        t5[i][j][k][l] = i*2*2*2+j*2*2+k*2+l;
      }
    }
    inverse(t5)["ijkl"].printf(std::cout);      
    std::cout << "press any key to continue"; getchar();

	  return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -