Specialize E-step depending on whether the latent distribution is free/fixed
authorjpritikin <jpritikin@df83fd30-4cca-4c36-ab9d-e8b5583ccbd1>
Sat, 31 May 2014 01:01:21 +0000 (01:01 +0000)
committerjpritikin <jpritikin@df83fd30-4cca-4c36-ab9d-e8b5583ccbd1>
Sat, 31 May 2014 01:01:21 +0000 (01:01 +0000)
commitf089b5c823d3f4f743b0045a5d28ae8fea8daa7e
tree8b309fea36c147f4e9cc230725d1306f34a81eb7
parented1849312851a6d453b10ce5412a7bc073ac1d11
Specialize E-step depending on whether the latent distribution is free/fixed

Here is a cachegrind report for models/passing/ifa-drm1.R compare to the
previous commit.

--------------------------------------------------------------------------------
       Ir   I1mr  ILmr        Dr   D1mr   DLmr        Dw  D1mw   DLmw
--------------------------------------------------------------------------------
 -387,889 14,599  -339  -106,312 17,469 -2,184  -167,558  -966 -1,411  PROGRAM TOTALS

--------------------------------------------------------------------------------
         Ir  I1mr  ILmr         Dr   D1mr   DLmr         Dw   D1mw  DLmw  file:function
--------------------------------------------------------------------------------
-15,701,195  -489  -164 -4,202,130 -2,952      7 -2,240,096   -806  -176  src/omxExpectationBA81.cpp:ba81compute(omxExpectation*, char const*, char const*)
 14,145,386   152    56  3,879,420  1,725      0  1,890,272    758   176  src/omxExpectationBA81.cpp:BA81EngineBase<BA81EngineLatentFixed>::ba81Estep1()
  1,079,960    31     7    187,340      0      0    170,810      0     0  src/omxExpectationBA81.cpp:BA81EngineLatentFixed::normalizeWeights(int, double)
   -275,500   -19    -7   -275,500   -313      0          0      0     0  src/omxData.h:ba81compute(omxExpectation*, char const*, char const*)
    275,500     0     0    275,500    236      0          0      0     0  src/omxData.h:BA81EngineBase<BA81EngineLatentFixed>::ba81Estep1()
     58,957     0     0     11,818      0      0     11,780  1,444   453  /usr/include/c++/4.8/bits/stl_algobase.h:BA81EngineBase<BA81EngineLatentFixed>::ba81Estep1()
    -49,685   -19    -7          0      0      0    -12,407 -1,494  -458  /usr/include/c++/4.8/bits/stl_algobase.h:ba81compute(omxExpectation*, char const*, char const*)
     44,118    19     7     11,020     37      0      5,529      0     0  src/omxExpectationBA81.h:BA81EngineBase<BA81EngineLatentFixed>::ba81Estep1()
[snip]

git-svn-id: http://openmx.psyc.virginia.edu/svn/trunk@3498 df83fd30-4cca-4c36-ab9d-e8b5583ccbd1
src/omxData.cpp
src/omxExpectation.cpp
src/omxExpectation.h
src/omxExpectationBA81.cpp
src/omxExpectationBA81.h
src/omxFitFunctionBA81.cpp