\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{mathshit}[2020/04/04 Math Shit]

\DeclareMathOperator{\dif}{d \!}
\DeclareMathOperator{\ord}{ord}
\DeclareMathOperator{\lcm}{lcm}

\newcommand{\norm}[1]{\left\lVert#1\right\rVert}
\newcommand{\dist}[2]{\norm{#1 - #2}}
\newcommand{\cycle}[1]{\langle #1 \rangle}

\makeatletter
\newenvironment{sqcases}{%
  \matrix@check\sqcases\env@sqcases
}{%
  \endarray\right.%
}
\def\env@sqcases{%
  \let\@ifnextchar\new@ifnextchar
  \left\lbrack
  \def\arraystretch{1.2}%
  \array{@{}l@{\quad}l@{}}%
}
\makeatother

\DeclareRobustCommand{\divby}{%
  \mathrel{\vbox{\baselineskip.5ex\lineskiplimit0pt\hbox{$.$}\hbox{$.$}\hbox{$.$}}}%
}

\newcommand{\br}[1]{\left( #1 \right)}
\newcommand{\brac}[2]{ \br{ \frac{#1}{#2} } }
\newcommand{\dbrac}[2]{ \br{ \dfrac{#1}{#2} } }
\newcommand*{\qed}{\hfill\ensuremath{\blacksquare}}
\newcommand*{\qedempty}{\hfill\ensuremath{\square}}

\newcommand{\explain}[1]{
    \begin{bmatrix}
        #1
    \end{bmatrix}
}

\newcommand{\probability}[1]{\mathrm{Pr} \left[ #1 \right]}
\newcommand{\expected}[1]{\mathrm{E} \left[ #1 \right]}

\newcommand{\todo}{\texttt{todo!}}

\newcommand{\osmall}[1]{\overline{o}\left( #1 \right)}
\newcommand{\symdiff}{\ \triangle \ }
