2016 Coupe Banque Nationale – Singles
Annika Beck was the defending champion, but lost in the first round to Barbora Štefková.
Singles | |
---|---|
2016 Coupe Banque Nationale | |
Champion | |
Runner-up | |
Final score | 6–4, 6–3 |
Océane Dodin won her maiden WTA singles title, defeating Lauren Davis 6–4, 6–3 in the final.
Seeds
Eugenie Bouchard (Second round) Annika Beck (First round) Mirjana Lučić-Baroni (First round) Julia Görges (First round) Naomi Broady (First round) Mona Barthel (First round) Evgeniya Rodina (Second round) Samantha Crawford (Second round)
Draw
Key
- Q = Qualifier
- WC = Wild Card
- LL = Lucky Loser
- Alt = Alternate
- SE = Special Exempt
- PR = Protected Ranking
- ITF = ITF entry
- JE = Junior Exempt
- w/o = Walkover
- r = Retired
- d = Defaulted
Finals
Semifinals | Final | ||||||||||||
Q | 6 | 62 | 6 | ||||||||||
Q | 3 | 77 | 2 | ||||||||||
Q | 4 | 3 | |||||||||||
6 | 6 | ||||||||||||
4 | 6 | 2 | |||||||||||
6 | 3 | 6 | |||||||||||
Top half
First Round | Second Round | Quarterfinals | Semifinals | ||||||||||||||||||||||||
1 | 6 | 6 | |||||||||||||||||||||||||
3 | 4 | 1 | 2 | 3 | |||||||||||||||||||||||
7 | 6 | 6 | 6 | ||||||||||||||||||||||||
5 | 4 | 3 | 64 | ||||||||||||||||||||||||
WC | 3 | 2 | Q | 6 | 77 | ||||||||||||||||||||||
Q | 6 | 6 | Q | 6 | 6 | ||||||||||||||||||||||
65 | 77 | 4 | 8 | 4 | 1 | ||||||||||||||||||||||
8 | 77 | 64 | 6 | Q | 6 | 62 | 6 | ||||||||||||||||||||
4 | 4 | 61 | Q | 3 | 77 | 2 | |||||||||||||||||||||
6 | 77 | 4 | 6 | 4 | |||||||||||||||||||||||
Q | 4 | 7 | 6 | Q | 6 | 1 | 6 | ||||||||||||||||||||
Q | 6 | 5 | 4 | Q | 6 | 79 | |||||||||||||||||||||
WC | 3 | 6 | 2 | 3 | 67 | ||||||||||||||||||||||
6 | 3 | 6 | 77 | 7 | |||||||||||||||||||||||
WC | 79 | 6 | WC | 62 | 5 | ||||||||||||||||||||||
6 | 67 | 4 |
Bottom half
First Round | Second Round | Quarterfinals | Semifinals | ||||||||||||||||||||||||
7 | 6 | 6 | |||||||||||||||||||||||||
Q | 2 | 2 | 7 | 4 | 3 | ||||||||||||||||||||||
1 | 3 | 6 | 6 | ||||||||||||||||||||||||
6 | 6 | 77 | 6 | ||||||||||||||||||||||||
6 | 6 | 60 | 4 | ||||||||||||||||||||||||
Q | 3 | 2 | 6 | 4 | 6 | ||||||||||||||||||||||
Q | 6 | 6 | Q | 4 | 6 | 3 | |||||||||||||||||||||
3 | 4 | 2 | 4 | 6 | 2 | ||||||||||||||||||||||
5 | 6 | 4 | 4 | 6 | 3 | 6 | |||||||||||||||||||||
2 | 6 | 6 | 6 | 6 | |||||||||||||||||||||||
77 | 63 | 79 | 4 | 4 | |||||||||||||||||||||||
65 | 77 | 67 | 6 | 6 | |||||||||||||||||||||||
1 | 2 | 2 | 4 | ||||||||||||||||||||||||
6 | 6 | 6 | 6 | ||||||||||||||||||||||||
LL | 2 | 7 | 6 | LL | 4 | 3 | |||||||||||||||||||||
2 | 6 | 5 | 3 |
Qualifying
Seeds
Lauren Davis (Qualified) Amandine Hesse (Qualified) Barbora Štefková (Qualifying competition, Lucky loser) Lucie Hradecká (Qualifying competition) Jovana Jakšić (Qualifying competition) Alexandra Panova (Qualifying competition) Mayo Hibi (Qualifying competition) Robin Anderson (First round) Paula Kania (Qualifying competition) Sesil Karatantcheva (First round) Jamie Loeb (Qualified) Tereza Martincová (Qualified)
Lucky losers
Qualifying draw
First qualifier
First Round | Qualifying Competition | ||||||||||||
1 | 6 | 6 | |||||||||||
4 | 3 | ||||||||||||
1 | 6 | 6 | |||||||||||
7 | 1 | 3 | |||||||||||
6 | 3 | 3 | |||||||||||
7 | 3 | 6 | 6 | ||||||||||
Second qualifier
First Round | Qualifying Competition | ||||||||||||
2 | 6 | 77 | |||||||||||
WC | 4 | 63 | |||||||||||
2 | 2 | 6 | 7 | ||||||||||
9 | 6 | 4 | 5 | ||||||||||
4 | 1 | ||||||||||||
9 | 6 | 6 | |||||||||||
Third qualifier
First Round | Qualifying Competition | ||||||||||||
3 | 6 | 6 | |||||||||||
WC | 1 | 4 | |||||||||||
3 | 4 | 1 | |||||||||||
6 | 6 | ||||||||||||
6 | 6 | ||||||||||||
8 | 3 | 2 | |||||||||||
Fourth qualifier
First Round | Qualifying Competition | ||||||||||||
4 | 6 | 66 | 6 | ||||||||||
2 | 78 | 3 | |||||||||||
4 | 4 | 4 | |||||||||||
11 | 6 | 6 | |||||||||||
3 | 6 | 4 | |||||||||||
11 | 6 | 1 | 6 | ||||||||||
Fifth qualifier
First Round | Qualifying Competition | ||||||||||||
5 | 6 | 6 | |||||||||||
WC | 1 | 1 | |||||||||||
5 | 2 | 64 | |||||||||||
6 | 77 | ||||||||||||
2 | 6 | 6 | |||||||||||
10 | 6 | 2 | 2 | ||||||||||
Sixth qualifier
First Round | Qualifying Competition | ||||||||||||
6 | 77 | 6 | |||||||||||
65 | 2 | ||||||||||||
6 | 62 | 64 | |||||||||||
12 | 77 | 77 | |||||||||||
WC | 4 | 1 | |||||||||||
12 | 6 | 6 | |||||||||||
gollark: Neither!
gollark: Well, obviously you'll have some items available to build stuff from.
gollark: - Checks if the available-items list already contains the item needed. If so, just return that.- If not, checks for recipes to do what is wanted- If one exists, iterate over them (not sure what to *do* with them)- If none exists, we can't do anything, so just return no tasks, no costs and no outputs.
gollark: ```rusttype Items = HashMap<ItemType, u32>;fn quantity(items: &Items, desired: &ItemType) -> u32 { if let Some(available_quantity) = items.get(desired) { *available_quantity } else { 0 }}fn contains(items: &Items, desired: &Item) -> bool { quantity(items, &to_item_type(desired)) >= desired.quantity}fn satisfies(available: &Items, desired: &Items) -> bool { for (typ, desired_quantity) in desired.iter() { if quantity(available, typ) < *desired_quantity { return false } } true}fn to_map(is: &Vec<Item>) -> Items { let out = HashMap::new(); for i in is.iter() { out.entry(to_item_type_clone(i)) .and_modify(|e| { *e += 1 }) .or_insert(0); } out}fn one_item(i: Item) -> Items { let out = HashMap::new(); out.insert(to_item_type(&i), i.quantity); out}#[derive(Debug, Deserialize, PartialEq, Eq, Serialize, Clone)]pub struct CraftingResult { pub tasks: Vec<Recipe>, pub costs: Items, pub outputs: Items}fn solve(desired: Item, available: Items, recipes: &MultiMap<ItemType, Recipe>) -> CraftingResult { if contains(&available, &desired) { // If our available items list already contains the desired item, yay, we can just do nothing return CraftingResult { tasks: vec![], costs: one_item(desired), outputs: one_item(desired) } } if let Some(recipes) = recipes.get_vec(&to_item_type(&desired)) { for recipe in recipes.iter() { let result = solve() // ??? } } else { CraftingResult { tasks: vec![], costs: HashMap::new(), outputs: HashMap::new() } }}```My code, or at least part of it.
gollark: That is NOT THE HARD PART.
References
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.