Duan (surname)
段 (Mandarin Chinese: Duàn; Korean: Dan; Vietnamese: Đoàn) is an East Asian surname of Chinese origin that can be found in China, Vietnam and Korea.
![]() Chinese character Duàn | |
Pronunciation | Duàn (Mandarin Pinyin) Dan (Korean) Đoàn (Vietnamese) |
---|---|
Language(s) | Chinese, Korean, Vietnamese |
Origin | |
Language(s) | Old Chinese |
Other names | |
Derivative(s) | Dan |
Notable people
Mainland China
- Duan Sui (died 386), a ruler of the Xianbei state Western Yan
- Duan Ye (died 401), the first king of the Northern Liang of the Sixteen Kingdoms period
- Duan Siping (893-944) , founder of the Kingdom of Dali
- Duan Yucai (1735–1815), philologist
- Duan Qirui (1865–1936), warlord and politician, President of the Republic of China
- Duan Qingbo (1964–2019), archaeologist
Vietnam
- Đoàn Thượng (段尚; 1181–1228), general of the Lý dynasty of King Lý Cao Tông and Lý Huệ Tông.
- Đoàn Thị Điểm (段氏點; 1705–1748), female poet
gollark: Yes.
gollark: @@@@@@<@236831708354314240><@&453380648611348500>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<@!330678593904443393>@@@@@@@@@@@@@@@@@@@@@@@@@''''
gollark: Okay, I managed to compress the WHYJIT compiler into a single discord message.
gollark: ```pythonimport argparse,subprocess,random,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")#parser.add_argument("-d","--drawkcab",help=".sdrawkcab elif ecruos YHW eht ssecorP")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,max): #if args.drawkcab: code = code[::-1] C_code = f"""#define QUITELONG long long intconst QUITELONG max = {max};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()with open(args.input,"r") as f: contents = f.read() looplen = max(1000,(2 ** -args.optimize) * 1000000000) code = build_output( contents, looplen ) with open(args.output,"wb") as out: out.write(code)```
gollark: (and so, code gold was invented)
See also
- Doãn
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.