public static UpdateGRVm Thermo() { var initData = SimGridFloatSamples.RandUniform0_1(GridSpan, 1234); var ggRet = new UpdateGRVm(GridSpan, GridSpan, BetaBoundsW, EnergyBoundsW, BetaDelta, ProcIsingIntBitsEnergy, update_params: UpdateParams); ggRet.GraphLatticeVm.SetUpdater(GraphLatticeVmEx.DrawGridCell_float_BW_mod256, initData); ggRet.UpdateVm.OnUpdateUI.Subscribe(p => UpdateGGView(p, ggRet)); Thermal_bp.Init(initData.Data, initData.Width, BlockSize); return(ggRet); }
public static ProcResult ProcIsingIntBitsEnergy(object vm) { var ggvm = (UpdateGRVm)vm; return(Thermal_bp.UpdateH(ggvm.UpdateVm.StepsPerUpdate, Rate)); }