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/MatrixContentUnittest.cpp

    rcca9ef r0d4424  
    77
    88/*
    9  * gslmatrixunittest.cpp
     9 * MatrixContentUnittest.cpp
    1010 *
    1111 *  Created on: Jan 8, 2010
     
    2424#include <cppunit/ui/text/TestRunner.h>
    2525
    26 #include "gslmatrixunittest.hpp"
     26#include "MatrixContentUnittest.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( GSLMatrixTest );
    36 
    37 
    38 void GSLMatrixTest::setUp()
    39 {
    40   m = new GSLMatrix(4,3);
    41 };
    42 
    43 void GSLMatrixTest::tearDown()
     37CPPUNIT_TEST_SUITE_REGISTRATION( MatrixContentTest );
     38
     39
     40void MatrixContentTest::setUp()
     41{
     42  m = new MatrixContent(4,3);
     43};
     44
     45void MatrixContentTest::tearDown()
    4446{
    4547  delete(m);
     
    4951 *
    5052 */
    51 void GSLMatrixTest::AccessTest()
     53void MatrixContentTest::AccessTest()
    5254{
    5355  // check whether all elements are initially zero
    5456  for (int i=0;i<4;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<4;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<4;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<4;i++)
    7476    for (int j=0;j<3;j++)
    75       m->Set(i,j, i*3+j );
    76   GSLMatrix *dest = new GSLMatrix(4,3);
     77      m->set(i,j, i*3+j );
     78  MatrixContent *dest = new MatrixContent(4,3);
    7779  *dest = *m;
    7880  for (int i=0;i<4;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(5,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(5,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 GSLMatrixTest::InitializationTest()
     97void MatrixContentTest::InitializationTest()
    9698{
    9799  // set zero
    98   m->SetZero();
    99   for (int i=0;i<4;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<4;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<4;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<4;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<4;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<4;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
     
    118120                     0., 0., 1.,
    119121                     0., 0., 0. };
    120   m->SetFromDoubleArray(array);
    121   for (int i=0;i<4;i++)
    122     for (int j=0;j<3;j++)
    123       CPPUNIT_ASSERT_EQUAL( i == j ? 1. : 0. , m->Get(i,j) );
     122  m->setFromDoubleArray(array);
     123  for (int i=0;i<4;i++)
     124    for (int j=0;j<3;j++)
     125      CPPUNIT_ASSERT_EQUAL( i == j ? 1. : 0. , m->at(i,j) );
    124126
    125127};
     
    128130 *
    129131 */
    130 void GSLMatrixTest::CopyTest()
     132void MatrixContentTest::CopyTest()
    131133{
    132134  // set basis
    133   GSLMatrix *dest = NULL;
     135  MatrixContent *dest = NULL;
    134136  for (int i=0;i<4;i++) {
    135     m->SetAll(i);
    136     dest = new GSLMatrix(m);
    137     for (int j=0;j<3;j++)
    138       CPPUNIT_ASSERT_EQUAL( m->Get(i,j) , dest->Get(i,j) );
     137    m->setValue(i);
     138    dest = new MatrixContent(m);
     139    for (int j=0;j<3;j++)
     140      CPPUNIT_ASSERT_EQUAL( m->at(i,j) , dest->at(i,j) );
    139141
    140142    delete(dest);
     
    145147 *
    146148 */
    147 void GSLMatrixTest::ExchangeTest()
     149void MatrixContentTest::ExchangeTest()
    148150{
    149151  // set to 1,1,1,2, ...
    150152  for (int i=0;i<4;i++)
    151153    for (int j=0;j<3;j++)
    152       m->Set(i,j, i+1 );
     154      m->set(i,j, i+1 );
    153155
    154156  // swap such that nothing happens
     
    156158  for (int i=0;i<4;i++)
    157159    for (int j=0;j<3;j++)
    158       CPPUNIT_ASSERT_EQUAL( (double)i+1., m->Get(i,j) );
     160      CPPUNIT_ASSERT_EQUAL( (double)i+1., m->at(i,j) );
    159161
    160162  // swap two rows
     
    164166      switch (i) {
    165167        case 0:
    166           CPPUNIT_ASSERT_EQUAL( 1., m->Get(i,j) );
     168          CPPUNIT_ASSERT_EQUAL( 1., m->at(i,j) );
    167169          break;
    168170        case 1:
    169           CPPUNIT_ASSERT_EQUAL( 3., m->Get(i,j) );
     171          CPPUNIT_ASSERT_EQUAL( 3., m->at(i,j) );
    170172          break;
    171173        case 2:
    172           CPPUNIT_ASSERT_EQUAL( 2., m->Get(i,j) );
     174          CPPUNIT_ASSERT_EQUAL( 2., m->at(i,j) );
    173175          break;
    174176        case 3:
    175           CPPUNIT_ASSERT_EQUAL( 4., m->Get(i,j) );
     177          CPPUNIT_ASSERT_EQUAL( 4., m->at(i,j) );
    176178          break;
    177179        default:
    178           CPPUNIT_ASSERT_EQUAL( -1., m->Get(i,j) );
     180          CPPUNIT_ASSERT_EQUAL( -1., m->at(i,j) );
    179181      }
    180182  // check that op is reversable
     
    182184  for (int i=0;i<4;i++)
    183185    for (int j=0;j<3;j++)
    184       CPPUNIT_ASSERT_EQUAL( (double)i+1., m->Get(i,j) );
     186      CPPUNIT_ASSERT_EQUAL( (double)i+1., m->at(i,j) );
    185187
    186188  // set to 1,2,3,1, ...
    187189  for (int i=0;i<4;i++)
    188190    for (int j=0;j<3;j++)
    189       m->Set(i,j, j+1. );
     191      m->set(i,j, j+1. );
    190192
    191193  // swap such that nothing happens
     
    193195  for (int i=0;i<4;i++)
    194196    for (int j=0;j<3;j++)
    195       CPPUNIT_ASSERT_EQUAL( (double)j+1., m->Get(i,j) );
     197      CPPUNIT_ASSERT_EQUAL( (double)j+1., m->at(i,j) );
    196198
    197199  // swap two columns
     
    201203      switch (j) {
    202204        case 0:
    203           CPPUNIT_ASSERT_EQUAL( 3., m->Get(i,j) );
     205          CPPUNIT_ASSERT_EQUAL( 3., m->at(i,j) );
    204206          break;
    205207        case 1:
    206           CPPUNIT_ASSERT_EQUAL( 2., m->Get(i,j) );
     208          CPPUNIT_ASSERT_EQUAL( 2., m->at(i,j) );
    207209          break;
    208210        case 2:
    209           CPPUNIT_ASSERT_EQUAL( 1., m->Get(i,j) );
     211          CPPUNIT_ASSERT_EQUAL( 1., m->at(i,j) );
    210212          break;
    211213        default:
    212           CPPUNIT_ASSERT_EQUAL( -1., m->Get(i,j) );
     214          CPPUNIT_ASSERT_EQUAL( -1., m->at(i,j) );
    213215      }
    214216  // check that op is reversable
     
    216218  for (int i=0;i<4;i++)
    217219    for (int j=0;j<3;j++)
    218       CPPUNIT_ASSERT_EQUAL( (double)j+1., m->Get(i,j) );
     220      CPPUNIT_ASSERT_EQUAL( (double)j+1., m->at(i,j) );
    219221
    220222
    221223  // set to 1,2,3,4, ...
    222   for (int i=0;i<4;i++)
    223     for (int j=0;j<3;j++)
    224       m->Set(i,j, 3*i+j+1 );
     224  MatrixContent *n =  new MatrixContent(3,4);
     225  for (int i=0;i<4;i++)
     226    for (int j=0;j<3;j++) {
     227      m->set(i,j, 3*i+j+1 );
     228      n->set(j,i, 3*i+j+1 );
     229    }
    225230  // transpose
    226   CPPUNIT_ASSERT_EQUAL( true, m->Transpose() );
    227   for (int i=0;i<4;i++)
    228     for (int j=0;j<3;j++)
    229       CPPUNIT_ASSERT_EQUAL( (double)(3*i+j+1), m->Get(j,i) );
     231  MatrixContent res = ((const MatrixContent)(*m)).transpose();
     232  CPPUNIT_ASSERT( *n == res );
    230233  // second transpose
    231   CPPUNIT_ASSERT_EQUAL( true, m->Transpose() );
    232   for (int i=0;i<4;i++)
    233     for (int j=0;j<3;j++)
    234       CPPUNIT_ASSERT_EQUAL( (double)(3*i+j+1), m->Get(i,j) );
     234  MatrixContent res2 = ((const MatrixContent)res).transpose();
     235  CPPUNIT_ASSERT( *m == res2 );
    235236};
    236237
     
    238239 *
    239240 */
    240 void GSLMatrixTest::PropertiesTest()
     241void MatrixContentTest::PropertiesTest()
    241242{
    242243  // is zero
    243   m->SetZero();
     244  m->setZero();
    244245  CPPUNIT_ASSERT_EQUAL( true, m->IsNull() );
    245246  CPPUNIT_ASSERT_EQUAL( false, m->IsPositive() );
     
    248249
    249250  // is positive
    250   m->SetAll(0.5);
     251  m->setValue(0.5);
    251252  CPPUNIT_ASSERT_EQUAL( false, m->IsNull() );
    252253  CPPUNIT_ASSERT_EQUAL( true, m->IsPositive() );
     
    255256
    256257  // is negative
    257   m->SetAll(-0.1);
     258  m->setValue(-0.1);
    258259  CPPUNIT_ASSERT_EQUAL( false, m->IsNull() );
    259260  CPPUNIT_ASSERT_EQUAL( false, m->IsPositive() );
Note: See TracChangeset for help on using the changeset viewer.