2017 Fairfield Challenger – Doubles
Brian Baker and Mackenzie McDonald were the defending champions but only McDonald chose to defend his title, partnering Miķelis Lībietis. McDonald lost in the semifinals to Akram El Sallaly and Bernardo Oliveira.
Doubles | |
---|---|
2017 Fairfield Challenger | |
Champions | ![]() ![]() |
Runners-up | ![]() ![]() |
Final score | 6–4, 6–2 |
Luke Bambridge and David O'Hare won the title after defeating El Sallaly and Oliveira 6–4, 6–2 in the final.
Seeds
Neal Skupski / John-Patrick Smith (Quarterfinals) Luke Bambridge / David O'Hare (Champions) Steven de Waard / Ruan Roelofse (First round) Brydan Klein / Joe Salisbury (Quarterfinals)
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
First Round | Quarterfinals | Semifinals | Final | ||||||||||||||||||||||||
1 | ![]() ![]() | 6 | 6 | ||||||||||||||||||||||||
![]() ![]() | 4 | 3 | 1 | ![]() ![]() | 63 | 5 | |||||||||||||||||||||
![]() ![]() | ![]() ![]() | 77 | 7 | ||||||||||||||||||||||||
![]() ![]() | w/o | ![]() ![]() | 65 | 6 | [8] | ||||||||||||||||||||||
3 | ![]() ![]() | 6 | 3 | [5] | WC | ![]() ![]() | 77 | 4 | [10] | ||||||||||||||||||
Q | ![]() ![]() | 4 | 6 | [10] | Q | ![]() ![]() | 3 | 3 | |||||||||||||||||||
WC | ![]() ![]() | 65 | 3 | WC | ![]() ![]() | 6 | 6 | ||||||||||||||||||||
WC | ![]() ![]() | 77 | 6 | WC | ![]() ![]() | 4 | 2 | ||||||||||||||||||||
![]() ![]() | 6 | 3 | [10] | 2 | ![]() ![]() | 6 | 6 | ||||||||||||||||||||
PR | ![]() ![]() | 3 | 6 | [4] | ![]() ![]() | 4 | 6 | [11] | |||||||||||||||||||
![]() ![]() | 2 | 5 | 4 | ![]() ![]() | 6 | 2 | [9] | ||||||||||||||||||||
4 | ![]() ![]() | 6 | 7 | ![]() ![]() | 6 | 5 | [4] | ||||||||||||||||||||
WC | ![]() ![]() | 77 | 3 | [5] | 2 | ![]() ![]() | 2 | 7 | [10] | ||||||||||||||||||
![]() ![]() | 65 | 6 | [10] | ![]() ![]() | 3 | 6 | [7] | ||||||||||||||||||||
![]() ![]() | 63 | 6 | [7] | 2 | ![]() ![]() | 6 | 1 | [10] | |||||||||||||||||||
2 | ![]() ![]() | 77 | 4 | [10] |
gollark: ```python#!/usr/bin/env python3import argparseimport subprocessimport randomimport stringparser = argparse.ArgumentParser(description="Compile a WHY program using WHYJIT.")parser.add_argument("input", help="File containing WHY source code")parser.add_argument("-o", "--output", help="Filename of the output executable to make", default="./a.why")parser.add_argument("-O", "--optimize", help="Optimization level", type=int, default="0")args = parser.parse_args()def randomword(length): letters = string.ascii_lowercase return ''.join(random.choice(letters) for i in range(length))def which(program): proc = subprocess.run(["which", program], stdout=subprocess.PIPE) if proc.returncode == 0: return proc.stdout.replace(b"\n", b"") else: return Nonedef find_C_compiler(): compilers = ["gcc", "clang", "tcc", "cc"] for compiler in compilers: path = which(compiler) if path != None: return pathdef build_output(code, mx): C_code = f"""#define QUITELONG long long intconst QUITELONG max = {mx};int main() {{ volatile QUITELONG i = 0; // disable some "optimizations" that RUIN OUR BEAUTIFUL CODE! while (i < max) {{ i++; }} {code}}} """ heredoc = randomword(100) devnull = "2>/dev/null" shell_script = f"""#!/bin/shTMP1=/tmp/ignore-meTMP2=/tmp/ignore-me-tooTMP3=/tmp/dont-look-here cat << {heredoc} > $TMP1{C_code}{heredoc}sed -e '1,/^exit \$?$/d' "$0" > $TMP3chmod +x $TMP3$TMP3 -x c -o $TMP2 $TMP1chmod +x $TMP2$TMP2exit $?""".encode("utf-8") with open(find_C_compiler(), "rb") as f: return shell_script + f.read()input = args.inputoutput = args.outputwith open(input, "r") as f: contents = f.read() looplen = max(1000, (2 ** -args.optimize) * 1000000000) code = build_output( contents, looplen ) with open(output, "wb") as out: out.write(code)```
gollark: I mean, it uses (y, x) coordinates, if I remember correctly!
gollark: Where n = infinity.
gollark: Which bot? And what is `FALSE`?
gollark: Also, add Rust support!
References
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.