| \newabbreviationstyle{pf-long-short}{ |
| \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel |
| \renewcommand*{\CustomAbbreviationFields}{% |
| name={\glsxtrlongshortname}, |
| sort={\the\glsshorttok}, |
| first={\protect\glsfirstlongemfont{\the\glslongtok}% |
| \protect\glsxtrfullsep{\the\glslabeltok}% |
| \glsxtrparen{\protect\glsfirstabbrvfont{\the\glsshorttok}}},% |
| firstplural={\protect\glsfirstlongemfont{\the\glslongpltok}% |
| \protect\glsxtrfullsep{\the\glslabeltok}% |
| \glsxtrparen{\protect\glsfirstabbrvfont{\the\glsshortpltok}}},% |
| text={\protect\glsabbrvfont{\the\glsshorttok}},% |
| plural={\protect\glsabbrvfont{\the\glsshortpltok}},% |
| description={\protect\glslongfont{\the\glslongtok}}, |
| user1={\protect\index{\the\glslongtok\space(\the\glsshorttok)% |
| @\makefirstuc{\the\glslongtok}\space(\the\glsshorttok)}},% |
| user2={\protect\index{\the\glslongtok\space(\the\glsshorttok)% |
| @\makefirstuc{\the\glslongtok}\space[\the\glsshorttok]}},% |
| user3={\protect\index{\the\glslongtok\space(\the\glsshorttok)% |
| @\makefirstuc{\the\glslongtok}\space<\the\glsshorttok>}}% |
| }% |
| \renewcommand*{\GlsXtrPostNewAbbreviation}{% |
| \glshasattribute{\the\glslabeltok}{regular}% |
| {% |
| \glssetattribute{\the\glslabeltok}{regular}{false}% |
| }% |
| {}% |
| }% |
| }% |
| {% |
| % \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbvpluralsuffix}% |
| % \renewcommand*{\glsabbrvfont}[1]{\glsabbrvemfont{##1}}% |
| % \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% |
| \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% |
| % \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% |
| \renewcommand*{\glsxtrfullformat}[2]{% |
| \glsfirstlongfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% |
| \ifglsxtrinsertinside\else##2\fi |
| \glsxtrfullsep{##1}% |
| \glsxtrparen{\glsfirstabbrvfont{\glsaccessshort{##1}}}% |
| }% |
| \renewcommand*{\glsxtrfullplformat}[2]{% |
| \glsfirstlongfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% |
| \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% |
| \glsxtrparen{\glsfirstabbrvfont{\glsaccessshortpl{##1}}}% |
| }% |
| \renewcommand*{\Glsxtrfullformat}[2]{% |
| \glsfirstlongfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% |
| \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% |
| \glsxtrparen{\glsfirstabbrvfont{\glsaccessshort{##1}}}% |
| }% |
| \renewcommand*{\Glsxtrfullplformat}[2]{% |
| \glsfirstlongfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% |
| \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% |
| \glsxtrparen{\glsfirstabbrvfont{\glsaccessshortpl{##1}}}% |
| }% |
| \renewcommand{\glsxtrprelocation}{,\space}% |
| } |
| |
| \newabbreviationstyle{pf-long-short-mod}{ |
| \glsxtrAccSuppAbbrSetFirstLongAttrs\glscategorylabel |
| \renewcommand*{\CustomAbbreviationFields}{% |
| name={\glsxtrlongshortname}, |
| sort={\the\glsshorttok}, |
| first={\protect\glsfirstlongemfont{\the\glslongtok}% |
| \protect\glsxtrfullsep{\the\glslabeltok}% |
| \glsxtrparen{\protect\glsfirstabbrvfont{\the\glsshorttok}}},% |
| firstplural={\protect\glsfirstlongemfont{\the\glslongpltok}% |
| \protect\glsxtrfullsep{\the\glslabeltok}% |
| \glsxtrparen{\protect\glsfirstabbrvfont{\the\glsshortpltok}}},% |
| text={\protect\glsabbrvfont{\the\glsshorttok}},% |
| plural={\protect\glsabbrvfont{\the\glsshortpltok}},% |
| description={\protect\glslongfont{\the\glslongtok}} |
| }% |
| \renewcommand*{\GlsXtrPostNewAbbreviation}{% |
| \glshasattribute{\the\glslabeltok}{regular}% |
| {% |
| \glssetattribute{\the\glslabeltok}{regular}{false}% |
| }% |
| {}% |
| }% |
| }% |
| {% |
| % \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbvpluralsuffix}% |
| % \renewcommand*{\glsabbrvfont}[1]{\glsabbrvemfont{##1}}% |
| % \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% |
| \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% |
| % \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% |
| \renewcommand*{\glsxtrfullformat}[2]{% |
| \glsfirstlongfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% |
| \ifglsxtrinsertinside\else##2\fi |
| \glsxtrfullsep{##1}% |
| \glsxtrparen{\glsfirstabbrvfont{\glsaccessshort{##1}}}% |
| }% |
| \renewcommand*{\glsxtrfullplformat}[2]{% |
| \glsfirstlongfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% |
| \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% |
| \glsxtrparen{\glsfirstabbrvfont{\glsaccessshortpl{##1}}}% |
| }% |
| \renewcommand*{\Glsxtrfullformat}[2]{% |
| \glsfirstlongfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% |
| \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% |
| \glsxtrparen{\glsfirstabbrvfont{\glsaccessshort{##1}}}% |
| }% |
| \renewcommand*{\Glsxtrfullplformat}[2]{% |
| \glsfirstlongfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% |
| \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% |
| \glsxtrparen{\glsfirstabbrvfont{\glsaccessshortpl{##1}}}% |
| }% |
| \renewcommand{\glsxtrprelocation}{,\space}% |
| } |
| |
| \setabbreviationstyle[acronym]{pf-long-short} |
| \setabbreviationstyle{pf-long-short-mod} |
| |
| \IfIndexOn{ |
| \newcommand{\acr}[1]{\gls{#1}} % print acronym via dictionary |
| \newcommand{\acrpl}[1]{\glspl{#1}} % print acronym via dictionary (plural) |
| \newcommand{\Acr}[1]{\Gls{#1}} % print acronym via dictionary (upper case) |
| \newcommand{\Acrpl}[1]{\Glspl{#1}} % print acronym via dictionary (upper case, plural) |
| \newcommand{\acrl}[1]{\glsxtrlong{#1}} % print acronym via dictionary (long form) |
| \newcommand{\acrlpl}[1]{\glsxtrlongpl{#1}} % print acronym via dictionary (long form, plural) |
| \newcommand{\Acrl}[1]{\Glsxtrlong{#1}} % print acronym via dictionary (long form, upper case) |
| \newcommand{\Acrlpl}[1]{\Glsxtrlongpl{#1}} % print acronym via dictionary (long form, upper case, plural) |
| \newcommand{\acrf}[1]{\glsxtrlong{#1} (\glsxtrshort{#1})} % print acronym via dictionary (full form) |
| \newcommand{\acrfpl}[1]{\glsxtrlongpl{#1} (\glsxtrshortpl{#1})} % print acronym via dictionary (full form, plural) |
| \newcommand{\Acrf}[1]{\Glsxtrlong{#1} (\glsxtrshort{#1})} % print acronym via dictionary (full form, upper case) |
| \newcommand{\Acrfpl}[1]{\Glsxtrlongpl{#1} (\glsxtrshortpl{#1})} % print acronym via dictionary (full form, upper case, plural) |
| \newcommand{\acrfst}[1]{\glsreset{#1}\gls{#1}} % print acronym via dictionary (first form) |
| \newcommand{\acrfstpl}[1]{\glsreset{#1}\glspl{#1}} % print acronym via dictionary (first form, plural) |
| \newcommand{\Acrfst}[1]{\glsreset{#1}\Gls{#1}} % print acronym via dictionary (first form, upper case) |
| \newcommand{\Acrfstpl}[1]{\glsreset{#1}\Glspl{#1}} % print acronym via dictionary (first form, upper case, plural) |
| \newcommand{\acrm}[1]{\gls{#1}} % print acronym via dictionary |
| \newcommand{\acrmpl}[1]{\glspl{#1}} % print acronym via dictionary (plural) |
| \newcommand{\Acrm}[1]{\Gls{#1}} % print acronym via dictionary (upper case) |
| \newcommand{\Acrmpl}[1]{\Glspl{#1}} % print acronym via dictionary (upper case, prural) |
| \newcommand{\acrml}[1]{\glsxtrlong*{#1:m}} % print acronym via dictionary (long form) |
| \newcommand{\acrmlpl}[1]{\glsxtrlongpl*{#1:m}} % print acronym via dictionary (long form, plural) |
| \newcommand{\Acrml}[1]{\Glsxtrlong*{#1:m}} % print acronym via dictionary (long form, upper case) |
| \newcommand{\Acrmlpl}[1]{\Glsxtrlongpl*{#1:m}} % print acronym via dictionary (long form, upper case, plural) |
| \newcommand{\acrmf}[1]{\glsxtrlong*{#1:m} (\glsxtrshort{#1})} % print acronym via dictionary (full form) |
| \newcommand{\acrmfpl}[1]{\glsxtrlongpl*{#1:m} (\glsxtrshortpl{#1})} % print acronym via dictionary (full form, plural) |
| \newcommand{\Acrmf}[1]{\Glsxtrlong*{#1:m} (\glsxtrshort{#1})} % print acronym via dictionary (full form, upper case) |
| \newcommand{\Acrmfpl}[1]{\Glsxtrlongpl*{#1:m} (\glsxtrshortpl{#1})} % print acronym via dictionary (full form, upper case, plural) |
| \newcommand{\acrmfst}[1]{\emph{\glsxtrlong*{#1:m}} (\glsxtrshort{#1})} % print acronym via dictionary (first form) |
| \newcommand{\acrmfstpl}[1]{\emph{\glsxtrlongpl*{#1:m}} (\glsxtrshort{#1})} % print acronym via dictionary (first form, plural) |
| \newcommand{\Acrmfst}[1]{\emph{\Glsxtrlong*{#1:m}} (\glsxtrshort{#1})} % print acronym via dictionary (first form, upper case) |
| \newcommand{\Acrmfstpl}[1]{\emph{\Glsxtrlongpl*{#1:m}} (\glsxtrshort{#1})} % print acronym via dictionary (first form, upper case, plural) |
| }{ |
| \newcommand{\acr}[1]{\gls*{#1}} % print acronym via dictionary |
| \newcommand{\acrpl}[1]{\glspl*{#1}} % print acronym via dictionary (plural) |
| \newcommand{\Acr}[1]{\Gls*{#1}} % print acronym via dictionary (upper case) |
| \newcommand{\Acrpl}[1]{\Glspl*{#1}} % print acronym via dictionary (upper case, prural) |
| \newcommand{\acrl}[1]{\glsxtrlong*{#1}} % print acronym via dictionary (long form) |
| \newcommand{\acrlpl}[1]{\glsxtrlongpl*{#1}} % print acronym via dictionary (long form, plural) |
| \newcommand{\Acrl}[1]{\Glsxtrlong*{#1}} % print acronym via dictionary (long form, upper case) |
| \newcommand{\Acrlpl}[1]{\Glsxtrlongpl*{#1}} % print acronym via dictionary (long form, upper case, plural) |
| \newcommand{\acrf}[1]{\glsxtrlong*{#1} (\glsxtrshort*{#1})} % print acronym via dictionary (full form) |
| \newcommand{\acrfpl}[1]{\glsxtrlongpl*{#1} (\glsxtrshortpl*{#1})} % print acronym via dictionary (full form, plural) |
| \newcommand{\Acrf}[1]{\Glsxtrlong*{#1} (\glsxtrshort*{#1})} % print acronym via dictionary (full form, upper case) |
| \newcommand{\Acrfpl}[1]{\Glsxtrlongpl*{#1} (\glsxtrshortpl*{#1})} % print acronym via dictionary (full form, upper case, plural) |
| \newcommand{\acrfst}[1]{\glsreset{#1}\gls*{#1}} % print acronym via dictionary (first form) |
| \newcommand{\acrfstpl}[1]{\glsreset{#1}\glspl*{#1}} % print acronym via dictionary (first form, plural) |
| \newcommand{\Acrfst}[1]{\glsreset{#1}\Gls*{#1}} % print acronym via dictionary (first form, upper case) |
| \newcommand{\Acrfstpl}[1]{\glsreset{#1}\Glspl*{#1}} % print acronym via dictionary (first form, upper case, plural) |
| \newcommand{\acrm}[1]{\acr{#1}} % print acronym via dictionary |
| \newcommand{\acrmpl}[1]{\acrpl{#1}} % print acronym via dictionary (plural) |
| \newcommand{\Acrm}[1]{\Acr{#1}} % print acronym via dictionary (upper case) |
| \newcommand{\Acrmpl}[1]{\Acrpl{#1}} % print acronym via dictionary (upper case, prural) |
| \newcommand{\acrml}[1]{\acrl{#1:m}} % print acronym via dictionary (long form) |
| \newcommand{\acrmlpl}[1]{\acrlpl{#1:m}} % print acronym via dictionary (long form, plural) |
| \newcommand{\Acrml}[1]{\Acrl{#1:m}} % print acronym via dictionary (long form, upper case) |
| \newcommand{\Acrmlpl}[1]{\Acrlpl{#1:m}} % print acronym via dictionary (long form, upper case, plural) |
| \newcommand{\acrmf}[1]{\acrf{#1:m}} % print acronym via dictionary (full form) |
| \newcommand{\acrmfpl}[1]{\acrfpl{#1:m}} % print acronym via dictionary (full form, plural) |
| \newcommand{\Acrmf}[1]{\Acrf{#1:m}} % print acronym via dictionary (full form, upper case) |
| \newcommand{\Acrmfpl}[1]{\Acrfpl{#1:m}} % print acronym via dictionary (full form, upper case, plural) |
| \newcommand{\acrmfst}[1]{\acrfst{#1:m}} % print acronym via dictionary (first form) |
| \newcommand{\acrmfstpl}[1]{\acrfstpl{#1:m}} % print acronym via dictionary (first form, plural) |
| \newcommand{\Acrmfst}[1]{\Acrfst{#1:m}} % print acronym via dictionary (first form, upper case) |
| \newcommand{\Acrmfstpl}[1]{\Acrfstpl{#1:m}} % print acronym via dictionary (first form, upper case, plural) |
| } |
| |
| \newcommand{\IXacr}[1]{\glsuseri{#1}\acr{#1}} % put index via acronym dictionary |
| \newcommand{\IXBacr}[1]{\glsuserii{#1}\acr{#1}} % put index via acronym dictionary |
| \newcommand{\IXGacr}[1]{\glsuseriii{#1}\acr{#1}} % put index via acronym dictionary |
| \newcommand{\IXacrpl}[1]{\glsuseri{#1}\acrpl{#1}} % put index via acronym dictionary (plural) |
| \newcommand{\IXAcr}[1]{\glsuseri{#1}\Acr{#1}} % put index via acronym dictionary (upper case) |
| \newcommand{\IXAcrpl}[1]{\glsuseri{#1}\Acrpl{#1}} % put index via acronym dictionary (upper case, plural) |
| \newcommand{\IXacrl}[1]{\glsuseri{#1}\acrl{#1}} % put index via acronym dictionary (long form) |
| \newcommand{\IXacrlpl}[1]{\glsuseri{#1}\acrlpl{#1}} % put index via acronym dictionary (long form, plural, plural) |
| \newcommand{\IXAcrl}[1]{\glsuseri{#1}\Acrl{#1}} % put index via acronym dictionary (long form, upper case) |
| \newcommand{\IXAcrlpl}[1]{\glsuseri{#1}\Acrlpl{#1}} % put index via acronym dictionary (long form, upper case, plural) |
| \newcommand{\IXacrf}[1]{\glsuseri{#1}\acrf{#1}} % put index via acronym dictionary (full form) |
| \newcommand{\IXacrfpl}[1]{\glsuseri{#1}\acrfpl{#1}} % put index via acronym dictionary (full form, plural) |
| \newcommand{\IXAcrf}[1]{\glsuseri{#1}\Acrf{#1}} % put index via acronym dictionary (full form, upper case) |
| \newcommand{\IXAcrfpl}[1]{\glsuseri{#1}\Acrfpl{#1}} % put index via acronym dictionary (full form, upper case, plural) |
| \newcommand{\IXacrfst}[1]{\glsuseri{#1}\acrfst{#1}} % put index via acronym dictionary (first form) |
| \newcommand{\IXBacrfst}[1]{\glsuserii{#1}\acrfst{#1}} % put index via acronym dictionary (first form) |
| \newcommand{\IXGacrfst}[1]{\glsuseriii{#1}\acrfst{#1}} % put index via acronym dictionary (first form) |
| \newcommand{\IXacrfstpl}[1]{\glsuseri{#1}\acrfstpl{#1}} % put index via acronym dictionary (first form, plural) |
| \newcommand{\IXAcrfst}[1]{\glsuseri{#1}\Acrfst{#1}} % put index via acronym dictionary (first form, upper case) |
| \newcommand{\IXAcrfstpl}[1]{\glsuseri{#1}\Acrfstpl{#1}} % put index via acronym dictionary (first form, upper case, plural) |
| \newcommand{\IXacrm}[1]{\glsuseri{#1}\acrm{#1}} % put index via acronym dictionary |
| \newcommand{\IXacrmpl}[1]{\glsuseri{#1}\acrmpl{#1}} % put index via acronym dictionary (plural) |
| \newcommand{\IXAcrm}[1]{\glsuseri{#1}\Acrm{#1}} % put index via acronym dictionary (upper case) |
| \newcommand{\IXAcrmpl}[1]{\glsuseri{#1}\Acrmpl{#1}} % put index via acronym dictionary (upper case, plural) |
| \newcommand{\IXacrml}[1]{\glsuseri{#1}\acrml{#1}} % put index via acronym dictionary (long form) |
| \newcommand{\IXacrmlpl}[1]{\glsuseri{#1}\acrmlpl{#1}} % put index via acronym dictionary (long form, plural, plural) |
| \newcommand{\IXAcrml}[1]{\glsuseri{#1}\Acrml{#1}} % put index via acronym dictionary (long form, upper case) |
| \newcommand{\IXAcrmlpl}[1]{\glsuseri{#1}\Acrmlpl{#1}} % put index via acronym dictionary (long form, upper case, plural) |
| \newcommand{\IXacrmf}[1]{\glsuseri{#1}\acrmf{#1}} % put index via acronym dictionary (full form) |
| \newcommand{\IXacrmfpl}[1]{\glsuseri{#1}\acrmfpl{#1}} % put index via acronym dictionary (full form, plural) |
| \newcommand{\IXAcrmf}[1]{\glsuseri{#1}\Acrmf{#1}} % put index via acronym dictionary (full form, upper case) |
| \newcommand{\IXAcrmfpl}[1]{\glsuseri{#1}\Acrmfpl{#1}} % put index via acronym dictionary (full form, upper case, plural) |
| \newcommand{\IXacrmfst}[1]{\glsuseri{#1}\acrmfst{#1}} % put index via acronym dictionary (first form) |
| \newcommand{\IXacrmfstpl}[1]{\glsuseri{#1}\acrmfstpl{#1}} % put index via acronym dictionary (first form, plural) |
| \newcommand{\IXAcrmfst}[1]{\glsuseri{#1}\Acrmfst{#1}} % put index via acronym dictionary (first form, upper case) |
| \newcommand{\IXAcrmfstpl}[1]{\glsuseri{#1}\Acrmfstpl{#1}} % put index via acronym dictionary (first form, upper case, plural) |
| \newcommand{\IXaltacr}[2]{\glsuseri{#2}\hlindex{#1}} % put index of acronym #2 to alternative string (#1) |
| |
| \newacronym{cas}{CAS}{compare and swap} |
| \newabbreviation{cas:m}{CAS}{compare-and-swap} |
| \newacronym{cbmc}{CBMC}{C~bounded model checker} |
| \newacronym{dcas}{DCAS}{double compare-and-swap} |
| \newabbreviation{dcas:m}{DCAS}{double-compare-and-swap} |
| \newacronym{dsp}{DSP}{digital signal processor} |
| \newacronym{ebr}{EBR}{epoch-based reclamation} |
| \newacronym{fpga}{FPGA}{field\-/programmable gate array} |
| \newacronym{gpgpu}{GPGPU}{general\-/purpose graphical processing unit} |
| \newacronym{irq}{IRQ}{interrupt request} |
| \newacronym{ipi}{IPI}{inter\-/processor interrupt} |
| \newacronym{kcsan}{KCSAN}{kernel concurrency sanitizer} |
| \newacronym{lkmm}{LKMM}{Linux kernel memory consistency model} |
| \newacronym{mpi}{MPI}{Message Passing Interface} |
| \newacronym{nbs}{NBS}{non-blocking synchronization} |
| \newacronym{nmi}{NMI}{non-maskable interrupt} |
| \newacronym{nuca}{NUCA}{non-uniform cache architecture} |
| \newacronym{numa}{NUMA}{non-uniform memory architecture} |
| \newacronym{qsbr}{QSBR}{quiescent-state-based reclamation} |
| \newabbreviation{qsbr:m}{QSBR}{quiescent-state-based-reclamation} |
| \newacronym{raii}{RAII}{resource acquisition is initialization} |
| \newabbreviation{raii:m}{RAII}{resource-acquisition-is-initialization} |
| \newacronym{rcu}{RCU}{read-copy update} |
| \newacronym{smp}{SMP}{symmetric multiprocessing} |
| \newabbreviation{smp:m}{SMP}{symmetric-multiprocessing} |
| \newacronym{sql}{SQL}{Structured Query Language} |
| \newacronym{tle}{TLE}{transactional lock elision} |
| \newacronym{tm}{TM}{transactional memory} |
| \newacronym{htm}{HTM}{hardware transactional memory} |
| \newacronym{stm}{STM}{software transactional memory} |
| \newacronym{upc}{UPC}{Universal Parallel~C} |
| \newacronym{utm}{UTM}{unbounded transactional memory} |
| \newabbreviation{utm:m}{UTM}{unbounded-transactional-memory} |
| |
| \glsunsetall |
| |
| \makeglossaries |