예제 #1
0
        public void UpdateStats()
        {
            var interactionEnergy = Spins.Aggregate(0.0, (sum, spin) => sum + spin.InteractionEnergy());

            TotalMagnetization = Spins.Aggregate(0.0, (sum, spin) => sum + spin.Value);
            TotalInteraction   = 0.5 * Coupling * interactionEnergy - Field * TotalMagnetization;
        }
예제 #2
0
 private static void ShowSpins(Spins spins)
 {
     foreach (var s in spins)
     {
         Console.Write($"{s} ");
     }
     Console.WriteLine();
 }
예제 #3
0
        public void Create()
        {
            var values          = new int[] { 0, 1, 2 };
            var spins           = new Spins(values.Select(v => new Spin(v)));
            var initInteraction = new Dense <double>(1);
            var ising           = OpenJij.MakeTransverseIsing <Dense <double> >(spins, initInteraction, 0.1, 2);

            this.DisposeAndCheckDisposedState(initInteraction);
            this.DisposeAndCheckDisposedState(ising);
        }
        private TransverseIsing(Spins initSpins, T initInteraction, double gamma, ulong numTrotterSlices)
        {
            if (initSpins == null)
            {
                throw new ArgumentNullException(nameof(initSpins));
            }

            this.GraphType = initInteraction.GraphType;
            this.FloatType = initInteraction.FloatType;

            this._Implement = CreateImplement <T>(this.GetType());
            this.NativePtr  = this._Implement.Create(initSpins, initInteraction, gamma, numTrotterSlices);
        }
        private ContinuousTimeIsing(Spins initSpins, T initInteraction, double gamma)
        {
            if (initSpins == null)
            {
                throw new ArgumentNullException(nameof(initSpins));
            }

            this.GraphType = initInteraction.GraphType;
            this.FloatType = initInteraction.FloatType;

            this._Implement = CreateImplement <T>(this.GetType());
            this.NativePtr  = this._Implement.Create(initSpins, initInteraction, gamma);
        }
예제 #6
0
        private ClassicalIsing(Spins initSpins, T initInteraction)
        {
            if (initSpins == null)
            {
                throw new ArgumentNullException(nameof(initSpins));
            }

            this.GraphType = initInteraction.GraphType;
            this.FloatType = initInteraction.FloatType;

            this._Implement = CreateImplement <T>(this.GetType());
            this.NativePtr  = this._Implement.Create(initSpins, initInteraction);
        }
예제 #7
0
        public ActionResult Win()
        {
            ModelState.Clear();
            var   uid  = User.Identity.GetUserId();
            Spins spin = (from b in db.Spins
                          where b.Client_ID == uid
                          select b).FirstOrDefault();

            var list = (from c in db.Coupons
                        where c.Client_ID == uid && c.Coupon_Status != "Used"
                        select c).ToList();

            ViewBag.SpinsLeft = spin.No_Spins;

            return(View(list));
        }
예제 #8
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    UserManager.AddToRole(user.Id, "Client");
                    Client client = new Client();
                    client.Client_ID = user.Id;
                    //client.user_name = model.user_name;
                    client.Client_Email = model.Email;
                    client.ClientCat_ID = 1;

                    Spins spin = new Spins();

                    spin.Client_ID = user.Id;

                    db.Spins.Add(spin);
                    db.Clients.Add(client);
                    db.SaveChanges();

                    #region MailCreate



                    string body = "Good Day" + "<br/>"
                                  + "<br/>"
                                  + "<h3>Thank You For Registering At Messanger King.. </h3>"
                                  + "<br/>"
                                  + "<br/>" + "<h4>Please Update Your Personal Details if You Have Not Already <br/> As Soon As You Have Done This You May Make A Booking With Us </h4>" +
                                  "<br/>" +
                                  "<br/>" +
                                  "<br/>" +

                                  "Regards, " +
                                  "<br/>" +
                                  "Messenger Kings Courier Management";

                    GmailClass gm = new GmailClass();
                    gm.Gmail("Messanger King ~ Account Creation", body, model.Email);;
                    #endregion MailCreate

                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771
                    // Send an email with this link
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                    return(RedirectToAction("Edit", "Clients", new { ID = client.Client_ID }));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }