internal static PasswordStrengthEvaluator Create(int n, IProbabilisticPasswordModel model) { var t = new List <double>(n + 1) { double.MaxValue }; for (var i = 1; i <= n; ++i) { var samplePassword = model.GenerateSamplePassword(); var sampleProbability = model.CalculateProbability(samplePassword); t.Add(sampleProbability); } var a = new SearchableList <double>(t, DescendingComparer <double> .Instance); var c = new List <double>(n + 1) { 0 }; for (var i = 1; i <= n; ++i) { c.Add(c[i - 1] + 1 / (n * a[i])); } return(new PasswordStrengthEvaluator(model, a, c)); }
private object ReadList(JsonReader reader) { IList<object> list = new SearchableList<object>(); // it is quite unfortunate to have to reimplement all class just because of this one line. while (reader.Read()) { switch (reader.TokenType) { case JsonToken.EndArray: return list; case JsonToken.Comment: continue; } object item = ReadValue(reader); list.Add(item); } throw new JsonSerializationException("Unexpected end when reading ExpandoObject."); }
private Foo(IDictionary <char, int> dict) { Dictionary = dict; Count = dict.Values.Sum(); var list = new int[Chars.Length]; for (var i = Chars.Length - 1; i >= 0; --i) { var item = this[Chars[i]]; if (i != Chars.Length - 1) { item += list[i + 1]; } list[i] = item; } SearchableList = new SearchableList <int>(new List <int>(list), DescendingComparer <int> .Instance); }
public override void LoadContent() { base.LoadContent(); Sprite buttonSprite = Resources.GetSprite("button_idle"); Sprite[] buttonSpriteTab = new Sprite[] { buttonSprite, Resources.GetSprite("button_over"), Resources.GetSprite("button_pressed") }; font = Manager.Game.Content.Load <SpriteFont>("Fonts/Hud"); panel = new Panel(this, new Rectangle(0, 0, Manager.Width, Manager.Height), buttonSprite); listControl = new SearchableList(this, new Rectangle(0, 0, 300, 400), buttonSprite, buttonSpriteTab, font) { Pading = 5 }; panel.AddControl("listControl", listControl); UpdateDatas(); submitButton = new Button(this, new Rectangle(0, 405, 100, 20), buttonSpriteTab) { Text = "Submit" }; panel.AddControl("submitButton", submitButton); addButton = new Button(this, new Rectangle(120, 405, 100, 20), buttonSpriteTab) { Text = "Add" }; panel.AddControl("addButton", addButton); removeButton = new Button(this, new Rectangle(240, 405, 100, 20), buttonSpriteTab) { Text = "Remove" }; panel.AddControl("removeButton", removeButton); textureDrawer = new TextureDrawer(this, new Rectangle(305, 0, 200, 200), null); panel.AddControl("textureDrawer", textureDrawer); panel.Pading = 10; Resize(Manager.Game.Viewport.Width, Manager.Game.Viewport.Height); }
internal PasswordStrengthEvaluator(IProbabilisticPasswordModel model, SearchableList <double> a, IReadOnlyList <double> c) { _model = model; _a = a; _c = c; }
public PlaylistTrackAdapter(SearchableList <Song> tracks) { this.tracks = tracks; cursor = null; }
async Task PopulateList() { if (item.LocalID == -1 && item.YoutubeID == null && adapter?.tracks.Count == 0) { return; } if (item.LocalID != -1) { if (await MainActivity.instance.GetReadPermission() == false) { MainActivity.instance.FindViewById(Resource.Id.loading).Visibility = ViewStates.Gone; return; } adapter = new PlaylistTrackAdapter(); ListView.SetAdapter(adapter); Android.Support.V7.Widget.Helper.ItemTouchHelper.Callback callback = new ItemTouchCallback(adapter, false); itemTouchHelper = new Android.Support.V7.Widget.Helper.ItemTouchHelper(callback); itemTouchHelper.AttachToRecyclerView(ListView); LoaderManager.GetInstance(this).InitLoader(0, null, this); } else if (item.YoutubeID != null) { fullyLoadded = false; SearchableList <Song> tracks = new SearchableList <Song>(); adapter = new PlaylistTrackAdapter(tracks); ListView.SetAdapter(adapter); Android.Support.V7.Widget.Helper.ItemTouchHelper.Callback callback = new ItemTouchCallback(adapter, false); itemTouchHelper = new Android.Support.V7.Widget.Helper.ItemTouchHelper(callback); itemTouchHelper.AttachToRecyclerView(ListView); try { var ytPlaylistRequest = YoutubeManager.YoutubeService.PlaylistItems.List("snippet, contentDetails"); ytPlaylistRequest.PlaylistId = item.YoutubeID; ytPlaylistRequest.MaxResults = 50; var ytPlaylist = await ytPlaylistRequest.ExecuteAsync(); foreach (var item in ytPlaylist.Items) { if (item.Snippet.Title != "[Deleted video]" && item.Snippet.Title != "Private video" && item.Snippet.Title != "Deleted video") { Song song = new Song(item.Snippet.Title, item.Snippet.ChannelTitle, item.Snippet.Thumbnails.High.Url, item.ContentDetails.VideoId, -1, -1, item.ContentDetails.VideoId, true, false) { TrackID = item.Id, ChannelID = item.Snippet.ChannelId }; tracks.Add(song); } } nextPageToken = ytPlaylist.NextPageToken; if (nextPageToken == null) { fullyLoadded = true; } tracks.Invalidate(); adapter.NotifyDataSetChanged(); if (item?.ImageURL == null) { Picasso.With(Android.App.Application.Context).Load(tracks[0].Album).Placeholder(Resource.Drawable.noAlbum).Transform(new RemoveBlackBorder(true)).Into(Activity.FindViewById <ImageView>(Resource.Id.headerArt)); } } catch (System.Net.Http.HttpRequestException) { } } else if (adapter?.tracks.Count != 0) { ListView.SetAdapter(adapter); } }
public override void LoadContent() { base.LoadContent(); Sprite buttonSprite = Resources.GetSprite("button_idle"); Sprite[] buttonSpriteTab = new Sprite[] { buttonSprite, Resources.GetSprite("button_over"), Resources.GetSprite("button_pressed") }; font = Manager.Game.Content.Load <SpriteFont>("Fonts/Hud"); panel = new Panel(this, new Rectangle(0, 0, Manager.Width, Manager.Height), buttonSprite); spriteLib = new SearchableList(this, new Rectangle(0, 0, 200, 400), buttonSprite, buttonSpriteTab, font) { Pading = 5 }; panel.AddControl("spriteLib", spriteLib); foreach (KeyValuePair <string, Sprite> pair in Resources.Sprites) { spriteLib.AddToList(pair.Key); } spriteSelected = new SearchableList(this, new Rectangle(400, 0, 200, 300), buttonSprite, buttonSpriteTab, font) { Pading = 5 }; panel.AddControl("spriteSelected", spriteSelected); textureDrawerLib = new TextureDrawer(this, new Rectangle(200, 0, 200, 200), null); panel.AddControl("textureDrawerLib", textureDrawerLib); textureDrawerSelected = new TextureDrawer(this, new Rectangle(600, 0, 200, 200), null); panel.AddControl("textureDrawerSelected", textureDrawerSelected); submitButton = new Button(this, new Rectangle(0, 410, 100, 20), buttonSpriteTab) { Text = "Submit" }; panel.AddControl("submitButton", submitButton); addAnimationButton = new Button(this, new Rectangle(350, 410, 100, 20), buttonSpriteTab) { Text = "Add Animation" }; panel.AddControl("addSpriteButton", addAnimationButton); toLeftButton = new Button(this, new Rectangle(285, 255, 30, 30), buttonSpriteTab) { Text = " <-" }; panel.AddControl("toLeftButton", toLeftButton); toRightButton = new Button(this, new Rectangle(285, 220, 30, 30), buttonSpriteTab) { Text = " ->" }; panel.AddControl("toRightButton", toRightButton); toUpButton = new Button(this, new Rectangle(340, 220, 30, 30), buttonSpriteTab) { Text = "Up" }; panel.AddControl("toUpButton", toUpButton); toDownButton = new Button(this, new Rectangle(340, 255, 30, 30), buttonSpriteTab) { Text = "Down" }; panel.AddControl("toDownButton", toDownButton); frameTimeLabel = new TextBlock(this, new Vector2(400, 305), "FrameTime :"); panel.AddControl("frameTimeLabel", frameTimeLabel); frameTimeTextBox = new TextBox(this, new Rectangle(520, 305, 80, 20), buttonSpriteTab); panel.AddControl("frameTimeText", frameTimeTextBox); panel.AddControl("effectButtonLabel", new TextBlock(this, new Vector2(400, 325), "Effect :")); effectButton = new ListButton(this, new Rectangle(470, 325, 130, 20), buttonSprite, new List <string>() { "None", "FlipVertically", "FlipHorizontally", "FlipBoth" }); panel.AddControl("effectButton", effectButton); addSpriteText = new TextBox(this, new Rectangle(210, 410, 140, 20), buttonSpriteTab); panel.AddControl("addSpriteText", addSpriteText); panel.Pading = 10; Resize(Manager.Game.Viewport.Width, Manager.Game.Viewport.Height); }