Ignore:
Timestamp:
Dec 4, 2010, 11:54:32 PM (14 years ago)
Author:
Frederik Heber <heber@…>
Branches:
Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
Children:
c134d9
Parents:
cca9ef
git-author:
Frederik Heber <heber@…> (11/15/10 14:02:38)
git-committer:
Frederik Heber <heber@…> (12/04/10 23:54:32)
Message:

Made gslmatrix obsolete.

File:
1 moved

Legend:

Unmodified
Added
Removed
  • src/unittests/MatrixContentSymmetricUnittest.cpp

    rcca9ef r0d4424  
    77
    88/*
    9  * gslmatrixunittest.cpp
     9 * MatrixContentSymmetricUnittest.cpp
    1010 *
    1111 *  Created on: Jan 8, 2010
     
    2424#include <cppunit/ui/text/TestRunner.h>
    2525
    26 #include "gslmatrixsymmetricunittest.hpp"
     26#include "MatrixContentSymmetricUnittest.hpp"
     27
     28#include "LinearAlgebra/MatrixContent.hpp"
    2729
    2830#ifdef HAVE_TESTRUNNER
     
    3335
    3436// Registers the fixture into the 'registry'
    35 CPPUNIT_TEST_SUITE_REGISTRATION( GSLMatrixSymmetricTest );
    36 
    37 
    38 void GSLMatrixSymmetricTest::setUp()
    39 {
    40   m = new GSLMatrix(3,3);
    41 };
    42 
    43 void GSLMatrixSymmetricTest::tearDown()
     37CPPUNIT_TEST_SUITE_REGISTRATION( MatrixContentSymmetricTest );
     38
     39
     40void MatrixContentSymmetricTest::setUp()
     41{
     42  m = new MatrixContent(3,3);
     43};
     44
     45void MatrixContentSymmetricTest::tearDown()
    4446{
    4547  delete(m);
     
    4951 *
    5052 */
    51 void GSLMatrixSymmetricTest::AccessTest()
     53void MatrixContentSymmetricTest::AccessTest()
    5254{
    5355  // check whether all elements are initially zero
    5456  for (int i=0;i<3;i++)
    5557    for (int j=0;j<3;j++)
    56       CPPUNIT_ASSERT_EQUAL( 0., m->Get(i,j) );
     58      CPPUNIT_ASSERT_EQUAL( 0., m->at(i,j) );
    5759
    5860  // set
    5961  for (int i=0;i<3;i++)
    6062    for (int j=0;j<3;j++)
    61       m->Set(i,j, i*3+j );
     63      m->set(i,j, i*3+j );
    6264
    6365  // and check
     
    6567  for (int i=0;i<3;i++)
    6668    for (int j=0;j<3;j++) {
    67       CPPUNIT_ASSERT_EQUAL( (double)(i*3+j), m->Get(i,j) );
     69      CPPUNIT_ASSERT_EQUAL( (double)(i*3+j), m->at(i,j) );
    6870      ptr = m->Pointer(i,j);
    6971      CPPUNIT_ASSERT_EQUAL( (double)(i*3+j), *ptr );
     
    7375  for (int i=0;i<3;i++)
    7476    for (int j=0;j<3;j++)
    75       m->Set(i,j, i*3+j );
    76   GSLMatrix *dest = new GSLMatrix(3,3);
     77      m->set(i,j, i*3+j );
     78  MatrixContent *dest = new MatrixContent(3,3);
    7779  *dest = *m;
    7880  for (int i=0;i<3;i++)
    7981    for (int j=0;j<3;j++)
    80       CPPUNIT_ASSERT_EQUAL( dest->Get(i,j), m->Get(i,j) );
     82      CPPUNIT_ASSERT_EQUAL( dest->at(i,j), m->at(i,j) );
    8183  delete(dest);
    8284
    8385  // out of bounds
    84   //CPPUNIT_ASSERT_EQUAL(0., v->Get(4,2) );
    85   //CPPUNIT_ASSERT_EQUAL(0., v->Get(2,17) );
    86   //CPPUNIT_ASSERT_EQUAL(0., v->Get(1024,140040) );
    87   //CPPUNIT_ASSERT_EQUAL(0., v->Get(-1,0) );
    88   //CPPUNIT_ASSERT_EQUAL(0., v->Get(0,-1) );
    89   //CPPUNIT_ASSERT_EQUAL(0., v->Get(-1,-1) );
     86  //CPPUNIT_ASSERT_EQUAL(0., v->at(4,2) );
     87  //CPPUNIT_ASSERT_EQUAL(0., v->at(2,17) );
     88  //CPPUNIT_ASSERT_EQUAL(0., v->at(1024,140040) );
     89  //CPPUNIT_ASSERT_EQUAL(0., v->at(-1,0) );
     90  //CPPUNIT_ASSERT_EQUAL(0., v->at(0,-1) );
     91  //CPPUNIT_ASSERT_EQUAL(0., v->at(-1,-1) );
    9092};
    9193
     
    9395 *
    9496 */
    95 void GSLMatrixSymmetricTest::InitializationTest()
     97void MatrixContentSymmetricTest::InitializationTest()
    9698{
    9799  // set zero
    98   m->SetZero();
    99   for (int i=0;i<3;i++)
    100     for (int j=0;j<3;j++)
    101       CPPUNIT_ASSERT_EQUAL( 0., m->Get(i,j) );
     100  m->setZero();
     101  for (int i=0;i<3;i++)
     102    for (int j=0;j<3;j++)
     103      CPPUNIT_ASSERT_EQUAL( 0., m->at(i,j) );
    102104
    103105  // set all
    104   m->SetAll(1.5);
    105   for (int i=0;i<3;i++)
    106     for (int j=0;j<3;j++)
    107       CPPUNIT_ASSERT_EQUAL( 1.5, m->Get(i,j) );
     106  m->setValue(1.5);
     107  for (int i=0;i<3;i++)
     108    for (int j=0;j<3;j++)
     109      CPPUNIT_ASSERT_EQUAL( 1.5, m->at(i,j) );
    108110
    109111  // set basis
    110   m->SetIdentity();
    111   for (int i=0;i<3;i++)
    112     for (int j=0;j<3;j++)
    113       CPPUNIT_ASSERT_EQUAL( i == j ? 1. : 0. , m->Get(i,j) );
     112  m->setIdentity();
     113  for (int i=0;i<3;i++)
     114    for (int j=0;j<3;j++)
     115      CPPUNIT_ASSERT_EQUAL( i == j ? 1. : 0. , m->at(i,j) );
    114116
    115117  // set from array
     
    117119                     0., 1., 0.,
    118120                     0., 0., 1. };
    119   m->SetFromDoubleArray(array);
    120   for (int i=0;i<3;i++)
    121     for (int j=0;j<3;j++)
    122       CPPUNIT_ASSERT_EQUAL( i == j ? 1. : 0. , m->Get(i,j) );
     121  m->setFromDoubleArray(array);
     122  for (int i=0;i<3;i++)
     123    for (int j=0;j<3;j++)
     124      CPPUNIT_ASSERT_EQUAL( i == j ? 1. : 0. , m->at(i,j) );
    123125
    124126};
     
    127129 *
    128130 */
    129 void GSLMatrixSymmetricTest::CopyTest()
     131void MatrixContentSymmetricTest::CopyTest()
    130132{
    131133  // set basis
    132   GSLMatrix *dest = NULL;
     134  MatrixContent *dest = NULL;
    133135  for (int i=0;i<3;i++) {
    134     m->SetAll(i);
    135     dest = new GSLMatrix(m);
    136     for (int j=0;j<3;j++)
    137       CPPUNIT_ASSERT_EQUAL( m->Get(i,j) , dest->Get(i,j) );
     136    m->setValue(i);
     137    dest = new MatrixContent(m);
     138    for (int j=0;j<3;j++)
     139      CPPUNIT_ASSERT_EQUAL( m->at(i,j) , dest->at(i,j) );
    138140
    139141    delete(dest);
     
    144146 *
    145147 */
    146 void GSLMatrixSymmetricTest::ExchangeTest()
     148void MatrixContentSymmetricTest::ExchangeTest()
    147149{
    148150  // set to 1,1,1,2, ...
    149151  for (int i=0;i<3;i++)
    150152    for (int j=0;j<3;j++)
    151       m->Set(i,j, i+1 );
     153      m->set(i,j, i+1 );
    152154
    153155  // swap such that nothing happens
     
    155157  for (int i=0;i<3;i++)
    156158    for (int j=0;j<3;j++)
    157       CPPUNIT_ASSERT_EQUAL( (double)i+1., m->Get(i,j) );
     159      CPPUNIT_ASSERT_EQUAL( (double)i+1., m->at(i,j) );
    158160
    159161  // swap two rows
     
    163165      switch (j) {
    164166        case 0:
    165           CPPUNIT_ASSERT_EQUAL( 1., m->Get(j,i) );
     167          CPPUNIT_ASSERT_EQUAL( 1., m->at(j,i) );
    166168          break;
    167169        case 1:
    168           CPPUNIT_ASSERT_EQUAL( 3., m->Get(j,i) );
     170          CPPUNIT_ASSERT_EQUAL( 3., m->at(j,i) );
    169171          break;
    170172        case 2:
    171           CPPUNIT_ASSERT_EQUAL( 2., m->Get(j,i) );
     173          CPPUNIT_ASSERT_EQUAL( 2., m->at(j,i) );
    172174          break;
    173175        default:
    174           CPPUNIT_ASSERT_EQUAL( -1., m->Get(i,j) );
     176          CPPUNIT_ASSERT_EQUAL( -1., m->at(i,j) );
    175177      }
    176178  // check that op is reversable
     
    178180  for (int i=0;i<3;i++)
    179181    for (int j=0;j<3;j++)
    180       CPPUNIT_ASSERT_EQUAL( (double)i+1., m->Get(i,j) );
     182      CPPUNIT_ASSERT_EQUAL( (double)i+1., m->at(i,j) );
    181183
    182184  // set to 1,2,3,1, ...
    183185  for (int i=0;i<3;i++)
    184186    for (int j=0;j<3;j++)
    185       m->Set(i,j, j+1. );
     187      m->set(i,j, j+1. );
    186188
    187189  // swap such that nothing happens
     
    189191  for (int i=0;i<3;i++)
    190192    for (int j=0;j<3;j++)
    191       CPPUNIT_ASSERT_EQUAL( (double)j+1., m->Get(i,j) );
     193      CPPUNIT_ASSERT_EQUAL( (double)j+1., m->at(i,j) );
    192194
    193195  // swap two columns
     
    197199      switch (j) {
    198200        case 0:
    199           CPPUNIT_ASSERT_EQUAL( 3., m->Get(i,j) );
     201          CPPUNIT_ASSERT_EQUAL( 3., m->at(i,j) );
    200202          break;
    201203        case 1:
    202           CPPUNIT_ASSERT_EQUAL( 2., m->Get(i,j) );
     204          CPPUNIT_ASSERT_EQUAL( 2., m->at(i,j) );
    203205          break;
    204206        case 2:
    205           CPPUNIT_ASSERT_EQUAL( 1., m->Get(i,j) );
     207          CPPUNIT_ASSERT_EQUAL( 1., m->at(i,j) );
    206208          break;
    207209        default:
    208           CPPUNIT_ASSERT_EQUAL( -1., m->Get(i,j) );
     210          CPPUNIT_ASSERT_EQUAL( -1., m->at(i,j) );
    209211      }
    210212  // check that op is reversable
     
    212214  for (int i=0;i<3;i++)
    213215    for (int j=0;j<3;j++)
    214       CPPUNIT_ASSERT_EQUAL( (double)j+1., m->Get(i,j) );
    215 
    216 
    217   // set to 1,2,3,4, ...
    218   for (int i=0;i<3;i++)
    219     for (int j=0;j<3;j++)
    220       m->Set(i,j, 3*i+j+1 );
     216      CPPUNIT_ASSERT_EQUAL( (double)j+1., m->at(i,j) );
     217
     218
     219  // set to 1,2,3, ...
     220  MatrixContent *n =  new MatrixContent(3,3);
     221  for (int i=0;i<3;i++)
     222    for (int j=0;j<3;j++) {
     223      m->set(i,j, 3*i+j+1 );
     224      n->set(i,j, 3*j+i+1 );
     225    }
    221226  // transpose
    222   m->Transpose();
    223   for (int i=0;i<3;i++)
    224     for (int j=0;j<3;j++)
    225       CPPUNIT_ASSERT_EQUAL( (double)(3*i+j+1), m->Get(j,i) );
     227  MatrixContent res = ((const MatrixContent)*m).transpose();
     228  CPPUNIT_ASSERT( *n == res );
    226229  // second transpose
    227   m->Transpose();
    228   for (int i=0;i<3;i++)
    229     for (int j=0;j<3;j++)
    230       CPPUNIT_ASSERT_EQUAL( (double)(3*i+j+1), m->Get(i,j) );
     230  res.transpose();
     231  CPPUNIT_ASSERT( *m == res );
    231232};
    232233
     
    234235 *
    235236 */
    236 void GSLMatrixSymmetricTest::PropertiesTest()
     237void MatrixContentSymmetricTest::PropertiesTest()
    237238{
    238239  // is zero
    239   m->SetZero();
     240  m->setZero();
    240241  CPPUNIT_ASSERT_EQUAL( true, m->IsNull() );
    241242  CPPUNIT_ASSERT_EQUAL( false, m->IsPositive() );
     
    244245
    245246  // is positive
    246   m->SetAll(0.5);
     247  m->setValue(0.5);
    247248  CPPUNIT_ASSERT_EQUAL( false, m->IsNull() );
    248249  CPPUNIT_ASSERT_EQUAL( true, m->IsPositive() );
     
    251252
    252253  // is negative
    253   m->SetAll(-0.1);
     254  m->setValue(-0.1);
    254255  CPPUNIT_ASSERT_EQUAL( false, m->IsNull() );
    255256  CPPUNIT_ASSERT_EQUAL( false, m->IsPositive() );
     
    261262                     0., 1., 1.,
    262263                     0., 0., 1. };
    263   m->SetFromDoubleArray(array);
     264  m->setFromDoubleArray(array);
    264265  CPPUNIT_ASSERT_EQUAL( true, m->IsPositiveDefinite() );
    265266
    266267  //determinant
    267   m->SetIdentity();
     268  m->setIdentity();
    268269  CPPUNIT_ASSERT_EQUAL( 1., m->Determinant() );
    269270
    270   m->SetZero();
     271  m->setZero();
    271272  CPPUNIT_ASSERT_EQUAL( 0., m->Determinant() );
    272273
    273   m->Set( 0, 0, 1.);
    274   m->Set( 1, 1, 1.);
    275   m->Set( 2, 1, 1.);
     274  m->set( 0, 0, 1.);
     275  m->set( 1, 1, 1.);
     276  m->set( 2, 1, 1.);
    276277  CPPUNIT_ASSERT_EQUAL( 0., m->Determinant() );
    277278 
     
    279280                     -3., 1., 1.,
    280281                     1., 5.5, 1. };
    281   m->SetFromDoubleArray(array2);
     282  m->setFromDoubleArray(array2);
    282283  CPPUNIT_ASSERT_EQUAL( -26.5, m->Determinant() );
    283284};
Note: See TracChangeset for help on using the changeset viewer.