def func_inference(crosscat):
     synthesizer = GibbsCrossCat(crosscat)
     n_step = 540 if integration else 1
     for _step in xrange(n_step):
         synthesizer.transition_row_assignments()
         synthesizer.transition_hypers_row_divide()
         synthesizer.transition_hypers_distributions()
         synthesizer.transition_view_assignments()
     return synthesizer
def test_dependencies_no_cpp():
    prng = get_prng(2)
    ensemble = CrossCatEnsemble(outputs=(0, 1),
                                inputs=[],
                                Ci=[(0, 1)],
                                distributions=[('normal', None)] * 2,
                                chains=5,
                                rng=prng)
    ensemble.observe(0, {0: 0, 1: 1})
    synthesizer = GibbsCrossCat(ensemble.cgpms[0], Ci=ensemble.Ci)
    synthesizer.transition_view_assignments()