[Qmod core-library function]Adds two quantum variables representing integers (signed or unsigned), storing the
result in the second variable (in-place):∣left⟩∣right⟩↦∣left⟩(right+left)mod2right.size⟩Parameters:
Name
Type
Description
Default
left
Const[QArray]
The out-of-place argument for the addition.
required
extend_left
CBool
Whether to sign-extend the left argument.
required
right
QArray
The in-place argument for the addition, holds the final result.
[Qmod core-library function]Adds an integer constant to a quantum variable representing an integer (signed or
unsigned):∣right⟩↦(right+left)mod2right.size⟩Parameters:
Name
Type
Description
Default
left
CInt
The constant argument for the addition.
required
right
QArray
The quantum argument for the addition, holds the final result.
[Qmod core-library function]Multiplies two quantum variables representing integers (signed or unsigned) into the
result variable which is assumed to start in the ∣0⟩ state.If trim_result_lsb is False, applies the transformation:∣left⟩∣right⟩∣0⟩↦∣left⟩∣right⟩(left⋅right)mod2result.size⟩If trim_result_lsb is True, the function avoids computing the result’s LSB and
applies the transformation:∣left⟩∣right⟩∣0⟩↦∣left⟩∣right⟩(left⋅right)≫1mod2result.size⟩Parameters:
Name
Type
Description
Default
left
Const[QArray]
The first argument for the multiplication.
required
extend_left
CBool
Whether to sign-extend the left argument.
required
right
Const[QArray]
The second argument for the multiplication.
required
extend_right
CBool
Whether to sign-extend the right argument.
required
result
QArray
The quantum variable to hold the multiplication result.
[Qmod core-library function]Multiplies a quantum variable representing an integer (signed or unsigned) with a
constant, into the result variable which is assumed to start in the ∣0⟩ state.If trim_result_lsb is False, applies the transformation:∣right⟩∣0⟩↦∣right⟩(left⋅right)mod2result.size⟩If trim_result_lsb is True, the function avoids computing the result’s LSB and
applies the transformation:∣right⟩∣0⟩↦∣right⟩(left⋅right)≫1mod2result.size⟩Parameters:
Name
Type
Description
Default
left
CInt
The constant argument for the multiplication.
required
right
Const[QArray]
The variable argument for the multiplication.
required
extend_right
CBool
Whether to sign-extend the right argument.
required
result
QArray
The quantum variable to hold the multiplication result.
[Qmod core-library function]Squares a quantum variable representing an integer (signed or unsigned), into
the result variable which is assumed to start in the ∣0⟩ state.If trim_result_lsb is False, applies the transformation:∣arg⟩∣0⟩↦∣arg⟩(arg2)mod2result.size⟩If trim_result_lsb is True, the function avoids computing the result’s LSB and
applies the transformation:∣arg⟩∣0⟩↦∣arg⟩(arg2)≫1mod2result.size⟩Parameters:
Name
Type
Description
Default
arg
Const[QArray]
The argument to square.
required
extend_arg
CBool
Whether to sign-extend the argument.
required
result
QArray
The quantum variable to hold the squared result.
required
trim_result_lsb
CBool
Whether to avoid computing the result’s LSB.
required
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Classiq Docs","colors":{"primary":"#119DA4","light":"#119DA4","dark":"#252525"},"logo":{"light":"https://mintcdn.com/classiq/KOIyvRl59wygyHwT/resources/images/ClassiqLogo_black.svg?fit=max\u0026auto=format\u0026n=KOIyvRl59wygyHwT\u0026q=85\u0026s=05c70b0722c0e3ce41855332613b7165","dark":"https://mintcdn.com/classiq/KOIyvRl59wygyHwT/resources/images/ClassiqLogo_yellow.svg?fit=max\u0026auto=format\u0026n=KOIyvRl59wygyHwT\u0026q=85\u0026s=bf01ead39f6725fa4849b7c481d1dff5"},"favicon":"https://mintcdn.com/classiq/sA-J-h8chQJV9OAG/resources/images/ClassiqFavicon.png?fit=max\u0026auto=format\u0026n=sA-J-h8chQJV9OAG\u0026q=85\u0026s=752f5dcd6fdc3563c87e0697e34282b1","appearance":{"default":"dark"},"background":{"color":{"dark":"#191919"}},"footer":{"socials":{"x":"https://x.com/classiqtech","github":"https://github.com/Classiq/classiq-library","linkedin":"https://www.linkedin.com/company/classiq-technologies","youtube":"https://www.youtube.com/c/ClassiqTechnologies","slack":"https://classiq-community.slack.com"}},"seo":{"metatags":{"canonical":"https://docs.classiq.io"}},"fonts":{"heading":{"family":"Lato","weight":500,"source":"https://fonts.gstatic.com/s/lato/v25/S6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2","format":"woff2"},"body":{"family":"Lato","weight":400,"source":"https://cdn.prod.website-files.com/60000db7a5f449af5e4590ac/67bc6e7dacd49b96fe00e9af_latomedium.woff2","format":"woff2"}},"icons":{"library":"lucide"},"integrations":{"ga4":{"measurementId":"G-FG13SFNT8X"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"classiq","hasAudioNarration":false,"actualSubdomain":"classiq","customDomains":["docs.classiq.io"],"gitSource":{"type":"github","owner":"classiq-technologies","repo":"classiq-docs","deployBranch":"prod","contentDirectory":"classiq","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af2dfc98b1d48fe462fb247","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"Library","count":180},{"language":"default","tag":"Applications","count":88},{"language":"default","tag":"User Guide","count":64},{"language":"default","tag":"Tutorials","count":63},{"language":"default","tag":"SDK Reference","count":53},{"language":"default","tag":"Algorithms","count":46},{"language":"default","tag":"Qmod Reference","count":40},{"language":"default","tag":"Qmod","count":30},{"language":"default","tag":"Functions","count":26},{"language":"default","tag":"Execution","count":22}],"searchSettings":{"showContentSnippets":false}},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"css/page_format.css","content":":root{p {\n /* letter-spacing: 0.5px; */\n /* font-weight: 400; */\n /* line-height: 160%; */\n /* font-size: 18px; */\n }\n\n .md-header,\n .md-header__inner,\n .md-header .md-tabs,\n .md-footer .md-footer-meta {\n background-color: #313131 !important;\n }\n\n .md-footer,\n .md-footer__inner {\n background-color: #393939 !important;\n }}[data-md-color-scheme=\"default\"]{--md-default-fg-color: #313131;--md-default-bg-color: #ffffff;--md-primary-fg-color: #119da4;--md-accent-fg-color: #119da4;--md-primary-fg-color--light: #119da4;--md-primary-bg-color--light: #119da4;--md-accent-fg-color--light: #119da4;--md-typeset-color: #1e1e1e;--md-typeset-color--light: #1e1e1e;--md-typeset-a-color: #0c7489;--md-typeset-a-color--light: #0c7489;--md-typeset-a-color--dark: #39ccd3}[data-md-color-scheme=\"slate\"]{--md-default-bg-color: #191919;--md-primary-fg-color: #119da4;--md-accent-fg-color: #119da4;--md-typeset-a-color: #39ccd3}[data-md-color-scheme=\"default\"] .md-search__input{color:rgba(0, 0, 0, 0.87);background-color:#f5f5f5}.md-search__input+.md-search__icon{color:var(--md-default-fg-color--light)}[data-md-color-scheme=\"default\"] .md-search__input::placeholder{color:rgba(0, 0, 0, 0.54)}@media (prefers-color-scheme: dark){.md-header,.md-header__inner,.md-footer .md-footer-meta{background-color:#1e1e1e!important}.md-footer,.md-footer__inner{background-color:#393939!important}}.md-header__topic{display:none}.md-header__source{flex:1;display:flex;justify-content:space-between;max-width:none;width:auto}@media (max-width: 60em){.md-header__source .md-source__repository{display:none}}.md-source__repository{max-width:100%}.doc-buttons{display:flex;justify-content:center;gap:0.2rem;flex-wrap:wrap;margin:1.5em 0}"}],"page":{"pagePath":"sdk-reference/qmod/functions/core_library/arithmetic","slug":"/sdk-reference/qmod/functions/core_library/arithmetic","pageMetadata":{"title":"Arithmetic","icon":"/icons/bulletsharp.svg","description":null,"href":"/sdk-reference/qmod/functions/core_library/arithmetic"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={annotation:`annotation`,code:`code`,em:`em`,math:`math`,mi:`mi`,mn:`mn`,mo:`mo`,mrow:`mrow`,msup:`msup`,mtext:`mtext`,p:`p`,path:`path`,semantics:`semantics`,span:`span`,strong:`strong`,svg:`svg`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Heading,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Functions:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Name`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`unitary`})}),_jsx(_components.td,{children:`[Qmod core-library function].`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`multiply`})}),_jsx(_components.td,{children:`[Qmod core-library function].`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`multiply_constant`})}),_jsx(_components.td,{children:`[Qmod core-library function].`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`canonical_add`})}),_jsx(_components.td,{children:`[Qmod core-library function].`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`canonical_add_constant`})}),_jsx(_components.td,{children:`[Qmod core-library function].`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`canonical_multiply`})}),_jsx(_components.td,{children:`[Qmod core-library function].`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`canonical_multiply_constant`})}),_jsx(_components.td,{children:`[Qmod core-library function].`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`canonical_square`})}),_jsx(_components.td,{children:`[Qmod core-library function].`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`unitary`,children:`unitary`}),`\n`,_jsx(`pre`,{children:_jsx(`code`,{children:`unitary(\nelements: CArray[CArray[CReal]],\ntarget: QArray[QBit, Literal[‘log(elements[0].len, 2)’]]\n) -> None`})}),`\n`,_jsx(_components.p,{children:`[Qmod core-library function]`}),`\n`,_jsx(_components.p,{children:`Applies a unitary matrix on a quantum state.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Parameters:`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Name`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`}),_jsx(_components.th,{children:`Default`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`elements`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`CArray[CArray[CReal]]`})}),_jsx(_components.td,{children:`A 2d array of complex numbers representing the unitary matrix. This matrix must be unitary.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`target`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`QArray[QBit, Literal['log(elements[0].len, 2)']]`})}),_jsx(_components.td,{children:`The quantum state to apply the unitary on. Should be of corresponding size.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`multiply`,children:`multiply`}),`\n`,_jsx(`pre`,{children:_jsx(`code`,{children:`multiply(\nleft: Const[QNum],\nright: Const[QNum],\nresult: Output[QNum]\n) -> None`})}),`\n`,_jsx(_components.p,{children:`[Qmod core-library function]`}),`\n`,_jsx(_components.p,{children:`Multiplies two quantum numeric variables:`}),`\n`,_jsx(_components.span,{className:`katex-display`,children:_jsxs(_components.span,{className:`katex`,children:[_jsx(_components.span,{className:`katex-mathml`,children:_jsx(_components.math,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`,children:_jsxs(_components.semantics,{children:[_jsxs(_components.mrow,{children:[_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`left`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`right`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsx(_components.mo,{children:`↦`}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`left`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`right`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`left`}),_jsx(_components.mo,{children:`⋅`}),_jsx(_components.mtext,{children:`right`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]})]}),_jsx(_components.annotation,{encoding:`application/x-tex`,children:` \\\\left|\\\\text{left}\\\\right\\\\rangle \\\\left|\\\\text{right}\\\\right\\\\rangle\n \\\\mapsto\n \\\\left|\\\\text{left}\\\\right\\\\rangle \\\\left|\\\\text{right}\\\\right\\\\rangle\n \\\\left|\\\\text{left} \\\\cdot \\\\text{right} \\\\right\\\\rangle`})]})})}),_jsxs(_components.span,{className:`katex-html`,\"aria-hidden\":`true`,children:[_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`left`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.1667em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`right`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mrel`,children:`↦`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`left`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.1667em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`right`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.1667em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`left`})}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:`⋅`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`right`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]})]})]})]})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Parameters:`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Name`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`}),_jsx(_components.th,{children:`Default`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`left`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Const[QNum]`})}),_jsx(_components.td,{children:`The first argument for the multiplication.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`right`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Const[QNum]`})}),_jsx(_components.td,{children:`The second argument for the multiplication.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`result`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Output[QNum]`})}),_jsx(_components.td,{children:`The quantum variable to hold the multiplication result.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`multiply_constant`,children:`multiply_constant`}),`\n`,_jsx(`pre`,{children:_jsx(`code`,{children:`multiply_constant(\nleft: CReal,\nright: Const[QNum],\nresult: Output[QNum]\n) -> None`})}),`\n`,_jsx(_components.p,{children:`[Qmod core-library function]`}),`\n`,_jsx(_components.p,{children:`Multiplies a quantum numeric variable with a constant:`}),`\n`,_jsx(_components.span,{className:`katex-display`,children:_jsxs(_components.span,{className:`katex`,children:[_jsx(_components.span,{className:`katex-mathml`,children:_jsx(_components.math,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`,children:_jsxs(_components.semantics,{children:[_jsxs(_components.mrow,{children:[_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`right`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsx(_components.mo,{children:`↦`}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`right`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`left`}),_jsx(_components.mo,{children:`⋅`}),_jsx(_components.mtext,{children:`right`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]})]}),_jsx(_components.annotation,{encoding:`application/x-tex`,children:` \\\\left|\\\\text{right}\\\\right\\\\rangle\n \\\\mapsto\n \\\\left|\\\\text{right}\\\\right\\\\rangle\n \\\\left|\\\\text{left} \\\\cdot \\\\text{right} \\\\right\\\\rangle`})]})})}),_jsxs(_components.span,{className:`katex-html`,\"aria-hidden\":`true`,children:[_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`right`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mrel`,children:`↦`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`right`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.1667em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`left`})}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:`⋅`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`right`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]})]})]})]})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Parameters:`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Name`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`}),_jsx(_components.th,{children:`Default`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`left`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`CReal`})}),_jsx(_components.td,{children:`The constant argument for the multiplication.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`right`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Const[QNum]`})}),_jsx(_components.td,{children:`The variable argument for the multiplication.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`result`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Output[QNum]`})}),_jsx(_components.td,{children:`The quantum variable to hold the multiplication result.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`canonical_add`,children:`canonical_add`}),`\n`,_jsx(`pre`,{children:_jsx(`code`,{children:`canonical_add(\nleft: Const[QArray],\nextend_left: CBool,\nright: QArray\n) -> None`})}),`\n`,_jsx(_components.p,{children:`[Qmod core-library function]`}),`\n`,_jsx(_components.p,{children:`Adds two quantum variables representing integers (signed or unsigned), storing the\nresult in the second variable (in-place):`}),`\n`,_jsx(_components.span,{className:`katex-display`,children:_jsxs(_components.span,{className:`katex`,children:[_jsx(_components.span,{className:`katex-mathml`,children:_jsx(_components.math,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`,children:_jsxs(_components.semantics,{children:[_jsxs(_components.mrow,{children:[_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`left`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`right`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsx(_components.mo,{children:`↦`}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`left`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`(`}),_jsx(_components.mtext,{children:`right`}),_jsx(_components.mo,{children:`+`}),_jsx(_components.mtext,{children:`left`}),_jsx(_components.mo,{fence:`true`,children:`)`})]}),_jsx(_components.mtext,{children:` `}),_jsx(_components.mo,{lspace:`0.22em`,rspace:`0.22em`,children:_jsxs(_components.mrow,{children:[_jsx(_components.mi,{mathvariant:`normal`,children:`m`}),_jsx(_components.mi,{mathvariant:`normal`,children:`o`}),_jsx(_components.mi,{mathvariant:`normal`,children:`d`})]})}),_jsx(_components.mtext,{children:` `}),_jsxs(_components.msup,{children:[_jsx(_components.mn,{children:`2`}),_jsx(_components.mtext,{children:`right.size`})]}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]})]}),_jsx(_components.annotation,{encoding:`application/x-tex`,children:` \\\\left|\\\\text{left}\\\\right\\\\rangle \\\\left|\\\\text{right}\\\\right\\\\rangle\n \\\\mapsto\n \\\\left|\\\\text{left}\\\\right\\\\rangle \\\\left|\\\\left(\\\\text{right} +\n \\\\text{left}\\\\right) \\\\bmod 2^{\\\\text{right.size}} \\\\right\\\\rangle`})]})})}),_jsxs(_components.span,{className:`katex-html`,\"aria-hidden\":`true`,children:[_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`left`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.1667em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`right`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mrel`,children:`↦`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1.2491em`,verticalAlign:`-0.35em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`left`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.1667em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen`,children:_jsx(_components.span,{className:`delimsizing mult`,children:_jsxs(_components.span,{className:`vlist-t vlist-t2`,children:[_jsxs(_components.span,{className:`vlist-r`,children:[_jsx(_components.span,{className:`vlist`,style:{height:`0.85em`},children:_jsxs(_components.span,{style:{top:`-2.85em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`3.2em`}}),_jsx(_components.span,{style:{width:`0.333em`,height:`1.2em`},children:_jsx(_components.svg,{xmlns:`http://www.w3.org/2000/svg`,width:`0.333em`,height:`1.2em`,viewBox:`0 0 333 1200`,children:_jsx(_components.path,{d:`M145 15 v585 v0 v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v0 v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v0 v585 h43z`})})})]})}),_jsx(_components.span,{className:`vlist-s`,children:``})]}),_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.35em`},children:_jsx(_components.span,{})})})]})})}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`(`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`right`})}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:`+`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`left`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`)`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.0556em`}}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:_jsx(_components.span,{className:`mord`,children:_jsx(_components.span,{className:`mord mathrm`,children:`mod`})})}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.0556em`}}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsxs(_components.span,{className:`mord`,children:[_jsx(_components.span,{className:`mord`,children:`2`}),_jsx(_components.span,{className:`msupsub`,children:_jsx(_components.span,{className:`vlist-t`,children:_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.8991em`},children:_jsxs(_components.span,{style:{top:`-3.113em`,marginRight:`0.05em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`2.7em`}}),_jsx(_components.span,{className:`sizing reset-size6 size3 mtight`,children:_jsx(_components.span,{className:`mord mtight`,children:_jsx(_components.span,{className:`mord text mtight`,children:_jsx(_components.span,{className:`mord mtight`,children:`right.size`})})})})]})})})})})]}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:_jsx(_components.span,{className:`delimsizing size1`,children:`⟩`})})]})]})]})]})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Parameters:`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Name`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`}),_jsx(_components.th,{children:`Default`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`left`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Const[QArray]`})}),_jsx(_components.td,{children:`The out-of-place argument for the addition.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`extend_left`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`CBool`})}),_jsx(_components.td,{children:`Whether to sign-extend the left argument.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`right`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`QArray`})}),_jsx(_components.td,{children:`The in-place argument for the addition, holds the final result.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`canonical_add_constant`,children:`canonical_add_constant`}),`\n`,_jsx(`pre`,{children:_jsx(`code`,{children:`canonical_add_constant(\nleft: CInt,\nright: QArray\n) -> None`})}),`\n`,_jsx(_components.p,{children:`[Qmod core-library function]`}),`\n`,_jsx(_components.p,{children:`Adds an integer constant to a quantum variable representing an integer (signed or\nunsigned):`}),`\n`,_jsx(_components.span,{className:`katex-display`,children:_jsxs(_components.span,{className:`katex`,children:[_jsx(_components.span,{className:`katex-mathml`,children:_jsx(_components.math,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`,children:_jsxs(_components.semantics,{children:[_jsxs(_components.mrow,{children:[_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`right`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsx(_components.mo,{children:`↦`}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`(`}),_jsx(_components.mtext,{children:`right`}),_jsx(_components.mo,{children:`+`}),_jsx(_components.mtext,{children:`left`}),_jsx(_components.mo,{fence:`true`,children:`)`})]}),_jsx(_components.mtext,{children:` `}),_jsx(_components.mo,{lspace:`0.22em`,rspace:`0.22em`,children:_jsxs(_components.mrow,{children:[_jsx(_components.mi,{mathvariant:`normal`,children:`m`}),_jsx(_components.mi,{mathvariant:`normal`,children:`o`}),_jsx(_components.mi,{mathvariant:`normal`,children:`d`})]})}),_jsx(_components.mtext,{children:` `}),_jsxs(_components.msup,{children:[_jsx(_components.mn,{children:`2`}),_jsx(_components.mtext,{children:`right.size`})]}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]})]}),_jsx(_components.annotation,{encoding:`application/x-tex`,children:` \\\\left|\\\\text{right}\\\\right\\\\rangle\n \\\\mapsto\n \\\\left|\\\\left(\\\\text{right} +\n \\\\text{left}\\\\right) \\\\bmod 2^{\\\\text{right.size}} \\\\right\\\\rangle`})]})})}),_jsxs(_components.span,{className:`katex-html`,\"aria-hidden\":`true`,children:[_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`right`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mrel`,children:`↦`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1.2491em`,verticalAlign:`-0.35em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen`,children:_jsx(_components.span,{className:`delimsizing mult`,children:_jsxs(_components.span,{className:`vlist-t vlist-t2`,children:[_jsxs(_components.span,{className:`vlist-r`,children:[_jsx(_components.span,{className:`vlist`,style:{height:`0.85em`},children:_jsxs(_components.span,{style:{top:`-2.85em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`3.2em`}}),_jsx(_components.span,{style:{width:`0.333em`,height:`1.2em`},children:_jsx(_components.svg,{xmlns:`http://www.w3.org/2000/svg`,width:`0.333em`,height:`1.2em`,viewBox:`0 0 333 1200`,children:_jsx(_components.path,{d:`M145 15 v585 v0 v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v0 v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v0 v585 h43z`})})})]})}),_jsx(_components.span,{className:`vlist-s`,children:``})]}),_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.35em`},children:_jsx(_components.span,{})})})]})})}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`(`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`right`})}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:`+`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`left`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`)`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.0556em`}}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:_jsx(_components.span,{className:`mord`,children:_jsx(_components.span,{className:`mord mathrm`,children:`mod`})})}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.0556em`}}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsxs(_components.span,{className:`mord`,children:[_jsx(_components.span,{className:`mord`,children:`2`}),_jsx(_components.span,{className:`msupsub`,children:_jsx(_components.span,{className:`vlist-t`,children:_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.8991em`},children:_jsxs(_components.span,{style:{top:`-3.113em`,marginRight:`0.05em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`2.7em`}}),_jsx(_components.span,{className:`sizing reset-size6 size3 mtight`,children:_jsx(_components.span,{className:`mord mtight`,children:_jsx(_components.span,{className:`mord text mtight`,children:_jsx(_components.span,{className:`mord mtight`,children:`right.size`})})})})]})})})})})]}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:_jsx(_components.span,{className:`delimsizing size1`,children:`⟩`})})]})]})]})]})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Parameters:`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Name`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`}),_jsx(_components.th,{children:`Default`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`left`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`CInt`})}),_jsx(_components.td,{children:`The constant argument for the addition.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`right`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`QArray`})}),_jsx(_components.td,{children:`The quantum argument for the addition, holds the final result.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`canonical_multiply`,children:`canonical_multiply`}),`\n`,_jsx(`pre`,{children:_jsx(`code`,{children:`canonical_multiply(\nleft: Const[QArray],\nextend_left: CBool,\nright: Const[QArray],\nextend_right: CBool,\nresult: QArray,\ntrim_result_lsb: CBool\n) -> None`})}),`\n`,_jsx(_components.p,{children:`[Qmod core-library function]`}),`\n`,_jsxs(_components.p,{children:[`Multiplies two quantum variables representing integers (signed or unsigned) into the\nresult variable which is assumed to start in the `,_jsxs(_components.span,{className:`katex`,children:[_jsx(_components.span,{className:`katex-mathml`,children:_jsx(_components.math,{xmlns:`http://www.w3.org/1998/Math/MathML`,children:_jsxs(_components.semantics,{children:[_jsxs(_components.mrow,{children:[_jsx(_components.mi,{mathvariant:`normal`,children:`∣`}),_jsx(_components.mn,{children:`0`}),_jsx(_components.mo,{stretchy:`false`,children:`⟩`})]}),_jsx(_components.annotation,{encoding:`application/x-tex`,children:`|0\\\\rangle`})]})})}),_jsx(_components.span,{className:`katex-html`,\"aria-hidden\":`true`,children:_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsx(_components.span,{className:`mord`,children:`∣0`}),_jsx(_components.span,{className:`mclose`,children:`⟩`})]})})]}),` state.`]}),`\n`,_jsxs(_components.p,{children:[`If `,_jsx(_components.code,{children:`trim_result_lsb`}),` is `,_jsx(_components.code,{children:`False`}),`, applies the transformation:`]}),`\n`,_jsx(_components.span,{className:`katex-display`,children:_jsxs(_components.span,{className:`katex`,children:[_jsx(_components.span,{className:`katex-mathml`,children:_jsx(_components.math,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`,children:_jsxs(_components.semantics,{children:[_jsxs(_components.mrow,{children:[_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`left`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`right`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mn,{children:`0`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsx(_components.mo,{children:`↦`}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`left`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`right`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`(`}),_jsx(_components.mtext,{children:`left`}),_jsx(_components.mo,{children:`⋅`}),_jsx(_components.mtext,{children:`right`}),_jsx(_components.mo,{fence:`true`,children:`)`})]}),_jsx(_components.mtext,{children:` `}),_jsx(_components.mo,{lspace:`0.22em`,rspace:`0.22em`,children:_jsxs(_components.mrow,{children:[_jsx(_components.mi,{mathvariant:`normal`,children:`m`}),_jsx(_components.mi,{mathvariant:`normal`,children:`o`}),_jsx(_components.mi,{mathvariant:`normal`,children:`d`})]})}),_jsx(_components.mtext,{children:` `}),_jsxs(_components.msup,{children:[_jsx(_components.mn,{children:`2`}),_jsx(_components.mtext,{children:`result.size`})]}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]})]}),_jsx(_components.annotation,{encoding:`application/x-tex`,children:` \\\\left|\\\\text{left}\\\\right\\\\rangle \\\\left|\\\\text{right}\\\\right\\\\rangle\n \\\\left|0\\\\right\\\\rangle \\\\mapsto \\\\left|\\\\text{left}\\\\right\\\\rangle\n \\\\left|\\\\text{right}\\\\right\\\\rangle \\\\left|\\\\left( \\\\text{left} \\\\cdot\n \\\\text{right} \\\\right) \\\\bmod 2^{\\\\text{result.size}} \\\\right\\\\rangle`})]})})}),_jsxs(_components.span,{className:`katex-html`,\"aria-hidden\":`true`,children:[_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`left`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.1667em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`right`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.1667em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord`,children:`0`}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mrel`,children:`↦`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1.2491em`,verticalAlign:`-0.35em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`left`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.1667em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`right`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.1667em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen`,children:_jsx(_components.span,{className:`delimsizing mult`,children:_jsxs(_components.span,{className:`vlist-t vlist-t2`,children:[_jsxs(_components.span,{className:`vlist-r`,children:[_jsx(_components.span,{className:`vlist`,style:{height:`0.85em`},children:_jsxs(_components.span,{style:{top:`-2.85em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`3.2em`}}),_jsx(_components.span,{style:{width:`0.333em`,height:`1.2em`},children:_jsx(_components.svg,{xmlns:`http://www.w3.org/2000/svg`,width:`0.333em`,height:`1.2em`,viewBox:`0 0 333 1200`,children:_jsx(_components.path,{d:`M145 15 v585 v0 v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v0 v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v0 v585 h43z`})})})]})}),_jsx(_components.span,{className:`vlist-s`,children:``})]}),_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.35em`},children:_jsx(_components.span,{})})})]})})}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`(`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`left`})}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:`⋅`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`right`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`)`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.0556em`}}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:_jsx(_components.span,{className:`mord`,children:_jsx(_components.span,{className:`mord mathrm`,children:`mod`})})}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.0556em`}}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsxs(_components.span,{className:`mord`,children:[_jsx(_components.span,{className:`mord`,children:`2`}),_jsx(_components.span,{className:`msupsub`,children:_jsx(_components.span,{className:`vlist-t`,children:_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.8991em`},children:_jsxs(_components.span,{style:{top:`-3.113em`,marginRight:`0.05em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`2.7em`}}),_jsx(_components.span,{className:`sizing reset-size6 size3 mtight`,children:_jsx(_components.span,{className:`mord mtight`,children:_jsx(_components.span,{className:`mord text mtight`,children:_jsx(_components.span,{className:`mord mtight`,children:`result.size`})})})})]})})})})})]}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:_jsx(_components.span,{className:`delimsizing size1`,children:`⟩`})})]})]})]})]})}),`\n`,_jsxs(_components.p,{children:[`If `,_jsx(_components.code,{children:`trim_result_lsb`}),` is `,_jsx(_components.code,{children:`True`}),`, the function avoids computing the result’s LSB and\napplies the transformation:`]}),`\n`,_jsx(_components.span,{className:`katex-display`,children:_jsxs(_components.span,{className:`katex`,children:[_jsx(_components.span,{className:`katex-mathml`,children:_jsx(_components.math,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`,children:_jsxs(_components.semantics,{children:[_jsxs(_components.mrow,{children:[_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`left`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`right`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mn,{children:`0`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsx(_components.mo,{children:`↦`}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`left`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`right`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`(`}),_jsx(_components.mtext,{children:`left`}),_jsx(_components.mo,{children:`⋅`}),_jsx(_components.mtext,{children:`right`}),_jsx(_components.mo,{fence:`true`,children:`)`})]}),_jsx(_components.mo,{children:`≫`}),_jsx(_components.mn,{children:`1`}),_jsx(_components.mtext,{children:` `}),_jsx(_components.mo,{lspace:`0.22em`,rspace:`0.22em`,children:_jsxs(_components.mrow,{children:[_jsx(_components.mi,{mathvariant:`normal`,children:`m`}),_jsx(_components.mi,{mathvariant:`normal`,children:`o`}),_jsx(_components.mi,{mathvariant:`normal`,children:`d`})]})}),_jsx(_components.mtext,{children:` `}),_jsxs(_components.msup,{children:[_jsx(_components.mn,{children:`2`}),_jsx(_components.mtext,{children:`result.size`})]}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]})]}),_jsx(_components.annotation,{encoding:`application/x-tex`,children:` \\\\left|\\\\text{left}\\\\right\\\\rangle \\\\left|\\\\text{right}\\\\right\\\\rangle\n \\\\left|0\\\\right\\\\rangle \\\\mapsto \\\\left|\\\\text{left}\\\\right\\\\rangle\n \\\\left|\\\\text{right}\\\\right\\\\rangle \\\\left|\\\\left( \\\\text{left} \\\\cdot\n \\\\text{right} \\\\right) \\\\gg 1 \\\\bmod 2^{\\\\text{result.size}} \\\\right\\\\rangle`})]})})}),_jsxs(_components.span,{className:`katex-html`,\"aria-hidden\":`true`,children:[_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`left`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.1667em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`right`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.1667em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord`,children:`0`}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mrel`,children:`↦`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1.2491em`,verticalAlign:`-0.35em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`left`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.1667em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`right`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.1667em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen`,children:_jsx(_components.span,{className:`delimsizing mult`,children:_jsxs(_components.span,{className:`vlist-t vlist-t2`,children:[_jsxs(_components.span,{className:`vlist-r`,children:[_jsx(_components.span,{className:`vlist`,style:{height:`0.85em`},children:_jsxs(_components.span,{style:{top:`-2.85em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`3.2em`}}),_jsx(_components.span,{style:{width:`0.333em`,height:`1.2em`},children:_jsx(_components.svg,{xmlns:`http://www.w3.org/2000/svg`,width:`0.333em`,height:`1.2em`,viewBox:`0 0 333 1200`,children:_jsx(_components.path,{d:`M145 15 v585 v0 v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v0 v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v0 v585 h43z`})})})]})}),_jsx(_components.span,{className:`vlist-s`,children:``})]}),_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.35em`},children:_jsx(_components.span,{})})})]})})}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`(`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`left`})}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:`⋅`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`right`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`)`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mrel`,children:`≫`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mord`,children:`1`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.0556em`}}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:_jsx(_components.span,{className:`mord`,children:_jsx(_components.span,{className:`mord mathrm`,children:`mod`})})}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.0556em`}}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsxs(_components.span,{className:`mord`,children:[_jsx(_components.span,{className:`mord`,children:`2`}),_jsx(_components.span,{className:`msupsub`,children:_jsx(_components.span,{className:`vlist-t`,children:_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.8991em`},children:_jsxs(_components.span,{style:{top:`-3.113em`,marginRight:`0.05em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`2.7em`}}),_jsx(_components.span,{className:`sizing reset-size6 size3 mtight`,children:_jsx(_components.span,{className:`mord mtight`,children:_jsx(_components.span,{className:`mord text mtight`,children:_jsx(_components.span,{className:`mord mtight`,children:`result.size`})})})})]})})})})})]}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:_jsx(_components.span,{className:`delimsizing size1`,children:`⟩`})})]})]})]})]})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Parameters:`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Name`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`}),_jsx(_components.th,{children:`Default`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`left`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Const[QArray]`})}),_jsx(_components.td,{children:`The first argument for the multiplication.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`extend_left`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`CBool`})}),_jsx(_components.td,{children:`Whether to sign-extend the left argument.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`right`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Const[QArray]`})}),_jsx(_components.td,{children:`The second argument for the multiplication.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`extend_right`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`CBool`})}),_jsx(_components.td,{children:`Whether to sign-extend the right argument.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`result`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`QArray`})}),_jsx(_components.td,{children:`The quantum variable to hold the multiplication result.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`trim_result_lsb`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`CBool`})}),_jsx(_components.td,{children:`Whether to avoid computing the result’s LSB.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`canonical_multiply_constant`,children:`canonical_multiply_constant`}),`\n`,_jsx(`pre`,{children:_jsx(`code`,{children:`canonical_multiply_constant(\nleft: CInt,\nright: Const[QArray],\nextend_right: CBool,\nresult: QArray,\ntrim_result_lsb: CBool\n) -> None`})}),`\n`,_jsx(_components.p,{children:`[Qmod core-library function]`}),`\n`,_jsxs(_components.p,{children:[`Multiplies a quantum variable representing an integer (signed or unsigned) with a\nconstant, into the result variable which is assumed to start in the `,_jsxs(_components.span,{className:`katex`,children:[_jsx(_components.span,{className:`katex-mathml`,children:_jsx(_components.math,{xmlns:`http://www.w3.org/1998/Math/MathML`,children:_jsxs(_components.semantics,{children:[_jsxs(_components.mrow,{children:[_jsx(_components.mi,{mathvariant:`normal`,children:`∣`}),_jsx(_components.mn,{children:`0`}),_jsx(_components.mo,{stretchy:`false`,children:`⟩`})]}),_jsx(_components.annotation,{encoding:`application/x-tex`,children:`|0\\\\rangle`})]})})}),_jsx(_components.span,{className:`katex-html`,\"aria-hidden\":`true`,children:_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsx(_components.span,{className:`mord`,children:`∣0`}),_jsx(_components.span,{className:`mclose`,children:`⟩`})]})})]}),` state.`]}),`\n`,_jsxs(_components.p,{children:[`If `,_jsx(_components.code,{children:`trim_result_lsb`}),` is `,_jsx(_components.code,{children:`False`}),`, applies the transformation:`]}),`\n`,_jsx(_components.span,{className:`katex-display`,children:_jsxs(_components.span,{className:`katex`,children:[_jsx(_components.span,{className:`katex-mathml`,children:_jsx(_components.math,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`,children:_jsxs(_components.semantics,{children:[_jsxs(_components.mrow,{children:[_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`right`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mn,{children:`0`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsx(_components.mo,{children:`↦`}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`right`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`(`}),_jsx(_components.mtext,{children:`left`}),_jsx(_components.mo,{children:`⋅`}),_jsx(_components.mtext,{children:`right`}),_jsx(_components.mo,{fence:`true`,children:`)`})]}),_jsx(_components.mtext,{children:` `}),_jsx(_components.mo,{lspace:`0.22em`,rspace:`0.22em`,children:_jsxs(_components.mrow,{children:[_jsx(_components.mi,{mathvariant:`normal`,children:`m`}),_jsx(_components.mi,{mathvariant:`normal`,children:`o`}),_jsx(_components.mi,{mathvariant:`normal`,children:`d`})]})}),_jsx(_components.mtext,{children:` `}),_jsxs(_components.msup,{children:[_jsx(_components.mn,{children:`2`}),_jsx(_components.mtext,{children:`result.size`})]}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]})]}),_jsx(_components.annotation,{encoding:`application/x-tex`,children:` \\\\left|\\\\text{right}\\\\right\\\\rangle \\\\left|0\\\\right\\\\rangle \\\\mapsto\n \\\\left|\\\\text{right}\\\\right\\\\rangle \\\\left|\\\\left( \\\\text{left} \\\\cdot\n \\\\text{right} \\\\right) \\\\bmod 2^{\\\\text{result.size}} \\\\right\\\\rangle`})]})})}),_jsxs(_components.span,{className:`katex-html`,\"aria-hidden\":`true`,children:[_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`right`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.1667em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord`,children:`0`}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mrel`,children:`↦`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1.2491em`,verticalAlign:`-0.35em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`right`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.1667em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen`,children:_jsx(_components.span,{className:`delimsizing mult`,children:_jsxs(_components.span,{className:`vlist-t vlist-t2`,children:[_jsxs(_components.span,{className:`vlist-r`,children:[_jsx(_components.span,{className:`vlist`,style:{height:`0.85em`},children:_jsxs(_components.span,{style:{top:`-2.85em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`3.2em`}}),_jsx(_components.span,{style:{width:`0.333em`,height:`1.2em`},children:_jsx(_components.svg,{xmlns:`http://www.w3.org/2000/svg`,width:`0.333em`,height:`1.2em`,viewBox:`0 0 333 1200`,children:_jsx(_components.path,{d:`M145 15 v585 v0 v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v0 v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v0 v585 h43z`})})})]})}),_jsx(_components.span,{className:`vlist-s`,children:``})]}),_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.35em`},children:_jsx(_components.span,{})})})]})})}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`(`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`left`})}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:`⋅`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`right`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`)`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.0556em`}}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:_jsx(_components.span,{className:`mord`,children:_jsx(_components.span,{className:`mord mathrm`,children:`mod`})})}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.0556em`}}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsxs(_components.span,{className:`mord`,children:[_jsx(_components.span,{className:`mord`,children:`2`}),_jsx(_components.span,{className:`msupsub`,children:_jsx(_components.span,{className:`vlist-t`,children:_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.8991em`},children:_jsxs(_components.span,{style:{top:`-3.113em`,marginRight:`0.05em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`2.7em`}}),_jsx(_components.span,{className:`sizing reset-size6 size3 mtight`,children:_jsx(_components.span,{className:`mord mtight`,children:_jsx(_components.span,{className:`mord text mtight`,children:_jsx(_components.span,{className:`mord mtight`,children:`result.size`})})})})]})})})})})]}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:_jsx(_components.span,{className:`delimsizing size1`,children:`⟩`})})]})]})]})]})}),`\n`,_jsxs(_components.p,{children:[`If `,_jsx(_components.code,{children:`trim_result_lsb`}),` is `,_jsx(_components.code,{children:`True`}),`, the function avoids computing the result’s LSB and\napplies the transformation:`]}),`\n`,_jsx(_components.span,{className:`katex-display`,children:_jsxs(_components.span,{className:`katex`,children:[_jsx(_components.span,{className:`katex-mathml`,children:_jsx(_components.math,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`,children:_jsxs(_components.semantics,{children:[_jsxs(_components.mrow,{children:[_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`right`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mn,{children:`0`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsx(_components.mo,{children:`↦`}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`right`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`(`}),_jsx(_components.mtext,{children:`left`}),_jsx(_components.mo,{children:`⋅`}),_jsx(_components.mtext,{children:`right`}),_jsx(_components.mo,{fence:`true`,children:`)`})]}),_jsx(_components.mo,{children:`≫`}),_jsx(_components.mn,{children:`1`}),_jsx(_components.mtext,{children:` `}),_jsx(_components.mo,{lspace:`0.22em`,rspace:`0.22em`,children:_jsxs(_components.mrow,{children:[_jsx(_components.mi,{mathvariant:`normal`,children:`m`}),_jsx(_components.mi,{mathvariant:`normal`,children:`o`}),_jsx(_components.mi,{mathvariant:`normal`,children:`d`})]})}),_jsx(_components.mtext,{children:` `}),_jsxs(_components.msup,{children:[_jsx(_components.mn,{children:`2`}),_jsx(_components.mtext,{children:`result.size`})]}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]})]}),_jsx(_components.annotation,{encoding:`application/x-tex`,children:` \\\\left|\\\\text{right}\\\\right\\\\rangle \\\\left|0\\\\right\\\\rangle \\\\mapsto\n \\\\left|\\\\text{right}\\\\right\\\\rangle \\\\left|\\\\left( \\\\text{left} \\\\cdot\n \\\\text{right} \\\\right) \\\\gg 1 \\\\bmod 2^{\\\\text{result.size}} \\\\right\\\\rangle`})]})})}),_jsxs(_components.span,{className:`katex-html`,\"aria-hidden\":`true`,children:[_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`right`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.1667em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord`,children:`0`}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mrel`,children:`↦`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1.2491em`,verticalAlign:`-0.35em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`right`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.1667em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen`,children:_jsx(_components.span,{className:`delimsizing mult`,children:_jsxs(_components.span,{className:`vlist-t vlist-t2`,children:[_jsxs(_components.span,{className:`vlist-r`,children:[_jsx(_components.span,{className:`vlist`,style:{height:`0.85em`},children:_jsxs(_components.span,{style:{top:`-2.85em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`3.2em`}}),_jsx(_components.span,{style:{width:`0.333em`,height:`1.2em`},children:_jsx(_components.svg,{xmlns:`http://www.w3.org/2000/svg`,width:`0.333em`,height:`1.2em`,viewBox:`0 0 333 1200`,children:_jsx(_components.path,{d:`M145 15 v585 v0 v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v0 v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v0 v585 h43z`})})})]})}),_jsx(_components.span,{className:`vlist-s`,children:``})]}),_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.35em`},children:_jsx(_components.span,{})})})]})})}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`(`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`left`})}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:`⋅`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`right`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`)`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mrel`,children:`≫`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mord`,children:`1`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.0556em`}}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:_jsx(_components.span,{className:`mord`,children:_jsx(_components.span,{className:`mord mathrm`,children:`mod`})})}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.0556em`}}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsxs(_components.span,{className:`mord`,children:[_jsx(_components.span,{className:`mord`,children:`2`}),_jsx(_components.span,{className:`msupsub`,children:_jsx(_components.span,{className:`vlist-t`,children:_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.8991em`},children:_jsxs(_components.span,{style:{top:`-3.113em`,marginRight:`0.05em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`2.7em`}}),_jsx(_components.span,{className:`sizing reset-size6 size3 mtight`,children:_jsx(_components.span,{className:`mord mtight`,children:_jsx(_components.span,{className:`mord text mtight`,children:_jsx(_components.span,{className:`mord mtight`,children:`result.size`})})})})]})})})})})]}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:_jsx(_components.span,{className:`delimsizing size1`,children:`⟩`})})]})]})]})]})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Parameters:`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Name`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`}),_jsx(_components.th,{children:`Default`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`left`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`CInt`})}),_jsx(_components.td,{children:`The constant argument for the multiplication.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`right`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Const[QArray]`})}),_jsx(_components.td,{children:`The variable argument for the multiplication.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`extend_right`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`CBool`})}),_jsx(_components.td,{children:`Whether to sign-extend the right argument.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`result`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`QArray`})}),_jsx(_components.td,{children:`The quantum variable to hold the multiplication result.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`trim_result_lsb`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`CBool`})}),_jsx(_components.td,{children:`Whether to avoid computing the result’s LSB.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`canonical_square`,children:`canonical_square`}),`\n`,_jsx(`pre`,{children:_jsx(`code`,{children:`canonical_square(\narg: Const[QArray],\nextend_arg: CBool,\nresult: QArray,\ntrim_result_lsb: CBool\n) -> None`})}),`\n`,_jsx(_components.p,{children:`[Qmod core-library function]`}),`\n`,_jsxs(_components.p,{children:[`Squares a quantum variable representing an integer (signed or unsigned), into\nthe result variable which is assumed to start in the `,_jsxs(_components.span,{className:`katex`,children:[_jsx(_components.span,{className:`katex-mathml`,children:_jsx(_components.math,{xmlns:`http://www.w3.org/1998/Math/MathML`,children:_jsxs(_components.semantics,{children:[_jsxs(_components.mrow,{children:[_jsx(_components.mi,{mathvariant:`normal`,children:`∣`}),_jsx(_components.mn,{children:`0`}),_jsx(_components.mo,{stretchy:`false`,children:`⟩`})]}),_jsx(_components.annotation,{encoding:`application/x-tex`,children:`|0\\\\rangle`})]})})}),_jsx(_components.span,{className:`katex-html`,\"aria-hidden\":`true`,children:_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsx(_components.span,{className:`mord`,children:`∣0`}),_jsx(_components.span,{className:`mclose`,children:`⟩`})]})})]}),` state.`]}),`\n`,_jsxs(_components.p,{children:[`If `,_jsx(_components.code,{children:`trim_result_lsb`}),` is `,_jsx(_components.code,{children:`False`}),`, applies the transformation:`]}),`\n`,_jsx(_components.span,{className:`katex-display`,children:_jsxs(_components.span,{className:`katex`,children:[_jsx(_components.span,{className:`katex-mathml`,children:_jsx(_components.math,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`,children:_jsxs(_components.semantics,{children:[_jsxs(_components.mrow,{children:[_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`arg`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mn,{children:`0`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsx(_components.mo,{children:`↦`}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`arg`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`(`}),_jsxs(_components.msup,{children:[_jsx(_components.mtext,{children:`arg`}),_jsx(_components.mn,{children:`2`})]}),_jsx(_components.mo,{fence:`true`,children:`)`})]}),_jsx(_components.mtext,{children:` `}),_jsx(_components.mo,{lspace:`0.22em`,rspace:`0.22em`,children:_jsxs(_components.mrow,{children:[_jsx(_components.mi,{mathvariant:`normal`,children:`m`}),_jsx(_components.mi,{mathvariant:`normal`,children:`o`}),_jsx(_components.mi,{mathvariant:`normal`,children:`d`})]})}),_jsx(_components.mtext,{children:` `}),_jsxs(_components.msup,{children:[_jsx(_components.mn,{children:`2`}),_jsx(_components.mtext,{children:`result.size`})]}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]})]}),_jsx(_components.annotation,{encoding:`application/x-tex`,children:` \\\\left|\\\\text{arg}\\\\right\\\\rangle \\\\left|0\\\\right\\\\rangle \\\\mapsto\n \\\\left|\\\\text{arg}\\\\right\\\\rangle \\\\left|\\\\left( \\\\text{arg}^{2}\\\\right)\n \\\\bmod 2^{\\\\text{result.size}} \\\\right\\\\rangle`})]})})}),_jsxs(_components.span,{className:`katex-html`,\"aria-hidden\":`true`,children:[_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`arg`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.1667em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord`,children:`0`}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mrel`,children:`↦`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1.2491em`,verticalAlign:`-0.35em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`arg`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.1667em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen`,children:_jsx(_components.span,{className:`delimsizing mult`,children:_jsxs(_components.span,{className:`vlist-t vlist-t2`,children:[_jsxs(_components.span,{className:`vlist-r`,children:[_jsx(_components.span,{className:`vlist`,style:{height:`0.85em`},children:_jsxs(_components.span,{style:{top:`-2.85em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`3.2em`}}),_jsx(_components.span,{style:{width:`0.333em`,height:`1.2em`},children:_jsx(_components.svg,{xmlns:`http://www.w3.org/2000/svg`,width:`0.333em`,height:`1.2em`,viewBox:`0 0 333 1200`,children:_jsx(_components.path,{d:`M145 15 v585 v0 v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v0 v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v0 v585 h43z`})})})]})}),_jsx(_components.span,{className:`vlist-s`,children:``})]}),_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.35em`},children:_jsx(_components.span,{})})})]})})}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:_jsx(_components.span,{className:`delimsizing size1`,children:`(`})}),_jsxs(_components.span,{className:`mord`,children:[_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`arg`})}),_jsx(_components.span,{className:`msupsub`,children:_jsx(_components.span,{className:`vlist-t`,children:_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.8641em`},children:_jsxs(_components.span,{style:{top:`-3.113em`,marginRight:`0.05em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`2.7em`}}),_jsx(_components.span,{className:`sizing reset-size6 size3 mtight`,children:_jsx(_components.span,{className:`mord mtight`,children:_jsx(_components.span,{className:`mord mtight`,children:`2`})})})]})})})})})]}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:_jsx(_components.span,{className:`delimsizing size1`,children:`)`})})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.0556em`}}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:_jsx(_components.span,{className:`mord`,children:_jsx(_components.span,{className:`mord mathrm`,children:`mod`})})}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.0556em`}}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsxs(_components.span,{className:`mord`,children:[_jsx(_components.span,{className:`mord`,children:`2`}),_jsx(_components.span,{className:`msupsub`,children:_jsx(_components.span,{className:`vlist-t`,children:_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.8991em`},children:_jsxs(_components.span,{style:{top:`-3.113em`,marginRight:`0.05em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`2.7em`}}),_jsx(_components.span,{className:`sizing reset-size6 size3 mtight`,children:_jsx(_components.span,{className:`mord mtight`,children:_jsx(_components.span,{className:`mord text mtight`,children:_jsx(_components.span,{className:`mord mtight`,children:`result.size`})})})})]})})})})})]}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:_jsx(_components.span,{className:`delimsizing size1`,children:`⟩`})})]})]})]})]})}),`\n`,_jsxs(_components.p,{children:[`If `,_jsx(_components.code,{children:`trim_result_lsb`}),` is `,_jsx(_components.code,{children:`True`}),`, the function avoids computing the result’s LSB and\napplies the transformation:`]}),`\n`,_jsx(_components.span,{className:`katex-display`,children:_jsxs(_components.span,{className:`katex`,children:[_jsx(_components.span,{className:`katex-mathml`,children:_jsx(_components.math,{xmlns:`http://www.w3.org/1998/Math/MathML`,display:`block`,children:_jsxs(_components.semantics,{children:[_jsxs(_components.mrow,{children:[_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`arg`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mn,{children:`0`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsx(_components.mo,{children:`↦`}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsx(_components.mtext,{children:`arg`}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`∣`}),_jsxs(_components.mrow,{children:[_jsx(_components.mo,{fence:`true`,children:`(`}),_jsxs(_components.msup,{children:[_jsx(_components.mtext,{children:`arg`}),_jsx(_components.mn,{children:`2`})]}),_jsx(_components.mo,{fence:`true`,children:`)`})]}),_jsx(_components.mo,{children:`≫`}),_jsx(_components.mn,{children:`1`}),_jsx(_components.mtext,{children:` `}),_jsx(_components.mo,{lspace:`0.22em`,rspace:`0.22em`,children:_jsxs(_components.mrow,{children:[_jsx(_components.mi,{mathvariant:`normal`,children:`m`}),_jsx(_components.mi,{mathvariant:`normal`,children:`o`}),_jsx(_components.mi,{mathvariant:`normal`,children:`d`})]})}),_jsx(_components.mtext,{children:` `}),_jsxs(_components.msup,{children:[_jsx(_components.mn,{children:`2`}),_jsx(_components.mtext,{children:`result.size`})]}),_jsx(_components.mo,{fence:`true`,children:`⟩`})]})]}),_jsx(_components.annotation,{encoding:`application/x-tex`,children:` \\\\left|\\\\text{arg}\\\\right\\\\rangle \\\\left|0\\\\right\\\\rangle \\\\mapsto\n \\\\left|\\\\text{arg}\\\\right\\\\rangle \\\\left|\\\\left( \\\\text{arg}^{2} \\\\right)\n \\\\gg 1 \\\\bmod 2^{\\\\text{result.size}} \\\\right\\\\rangle`})]})})}),_jsxs(_components.span,{className:`katex-html`,\"aria-hidden\":`true`,children:[_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`arg`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.1667em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord`,children:`0`}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mrel`,children:`↦`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1.2491em`,verticalAlign:`-0.35em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:`∣`}),_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`arg`})}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:`⟩`})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.1667em`}}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen`,children:_jsx(_components.span,{className:`delimsizing mult`,children:_jsxs(_components.span,{className:`vlist-t vlist-t2`,children:[_jsxs(_components.span,{className:`vlist-r`,children:[_jsx(_components.span,{className:`vlist`,style:{height:`0.85em`},children:_jsxs(_components.span,{style:{top:`-2.85em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`3.2em`}}),_jsx(_components.span,{style:{width:`0.333em`,height:`1.2em`},children:_jsx(_components.svg,{xmlns:`http://www.w3.org/2000/svg`,width:`0.333em`,height:`1.2em`,viewBox:`0 0 333 1200`,children:_jsx(_components.path,{d:`M145 15 v585 v0 v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v0 v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v0 v585 h43z`})})})]})}),_jsx(_components.span,{className:`vlist-s`,children:``})]}),_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.35em`},children:_jsx(_components.span,{})})})]})})}),_jsxs(_components.span,{className:`minner`,children:[_jsx(_components.span,{className:`mopen delimcenter`,style:{top:`0em`},children:_jsx(_components.span,{className:`delimsizing size1`,children:`(`})}),_jsxs(_components.span,{className:`mord`,children:[_jsx(_components.span,{className:`mord text`,children:_jsx(_components.span,{className:`mord`,children:`arg`})}),_jsx(_components.span,{className:`msupsub`,children:_jsx(_components.span,{className:`vlist-t`,children:_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.8641em`},children:_jsxs(_components.span,{style:{top:`-3.113em`,marginRight:`0.05em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`2.7em`}}),_jsx(_components.span,{className:`sizing reset-size6 size3 mtight`,children:_jsx(_components.span,{className:`mord mtight`,children:_jsx(_components.span,{className:`mord mtight`,children:`2`})})})]})})})})})]}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:_jsx(_components.span,{className:`delimsizing size1`,children:`)`})})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mrel`,children:`≫`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mord`,children:`1`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.0556em`}}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:_jsx(_components.span,{className:`mord`,children:_jsx(_components.span,{className:`mord mathrm`,children:`mod`})})}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.0556em`}}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsxs(_components.span,{className:`mord`,children:[_jsx(_components.span,{className:`mord`,children:`2`}),_jsx(_components.span,{className:`msupsub`,children:_jsx(_components.span,{className:`vlist-t`,children:_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.8991em`},children:_jsxs(_components.span,{style:{top:`-3.113em`,marginRight:`0.05em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`2.7em`}}),_jsx(_components.span,{className:`sizing reset-size6 size3 mtight`,children:_jsx(_components.span,{className:`mord mtight`,children:_jsx(_components.span,{className:`mord text mtight`,children:_jsx(_components.span,{className:`mord mtight`,children:`result.size`})})})})]})})})})})]}),_jsx(_components.span,{className:`mclose delimcenter`,style:{top:`0em`},children:_jsx(_components.span,{className:`delimsizing size1`,children:`⟩`})})]})]})]})]})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Parameters:`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Name`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`}),_jsx(_components.th,{children:`Default`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`arg`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Const[QArray]`})}),_jsx(_components.td,{children:`The argument to square.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`extend_arg`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`CBool`})}),_jsx(_components.td,{children:`Whether to sign-extend the argument.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`result`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`QArray`})}),_jsx(_components.td,{children:`The quantum variable to hold the squared result.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`trim_result_lsb`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`CBool`})}),_jsx(_components.td,{children:`Whether to avoid computing the result’s LSB.`}),_jsx(_components.td,{children:_jsx(_components.em,{children:`required`})})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Arithmetic","icon":"/icons/bulletsharp.svg","description":null,"href":"/sdk-reference/qmod/functions/core_library/arithmetic"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"unitary","slug":"unitary","depth":3,"children":[]},{"title":"multiply","slug":"multiply","depth":3,"children":[]},{"title":"multiply_constant","slug":"multiply_constant","depth":3,"children":[]},{"title":"canonical_add","slug":"canonical_add","depth":3,"children":[]},{"title":"canonical_add_constant","slug":"canonical_add_constant","depth":3,"children":[]},{"title":"canonical_multiply","slug":"canonical_multiply","depth":3,"children":[]},{"title":"canonical_multiply_constant","slug":"canonical_multiply_constant","depth":3,"children":[]},{"title":"canonical_square","slug":"canonical_square","depth":3,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/classiq/588df4baa9fe4869/javascripts/mathjax.js","/_mintlify/custom/classiq/cdc2514d6b755dcf/javascripts/remove_highlights.js","/_mintlify/custom/classiq/d98eeb06669bf6a7/javascripts/hide-home-search.js"],"subdomain":"classiq","siteName":"Classiq Docs","title":"Arithmetic - Classiq Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-10T09:11:55.573Z","originalFileLocation":"sdk-reference/qmod/functions/core_library/arithmetic.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Classiq Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/classiq/Fsuml838IESUxXo8/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/classiq/Fsuml838IESUxXo8/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/classiq/Fsuml838IESUxXo8/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/classiq/Fsuml838IESUxXo8/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/classiq/Fsuml838IESUxXo8/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/classiq/Fsuml838IESUxXo8/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/classiq/Fsuml838IESUxXo8/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/classiq/Fsuml838IESUxXo8/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/classiq/Fsuml838IESUxXo8/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Arithmetic - Classiq Docs\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Classiq Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.classiq.io/sdk-reference/qmod/functions/core_library/arithmetic\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://classiq.mintlify.site/_mintlify/api/og/v2?division=Core+Library\u0026amp;title=Arithmetic\u0026amp;theme=b5df20730ff1884956593856\u0026amp;signature=34dbb6bd78b11123db1eef69c7ccc4222cd00d353e984aa8e29adabf28a29d70\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Arithmetic - Classiq Docs\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://classiq.mintlify.site/_mintlify/api/og/v2?division=Core+Library\u0026amp;title=Arithmetic\u0026amp;theme=b5df20730ff1884956593856\u0026amp;signature=34dbb6bd78b11123db1eef69c7ccc4222cd00d353e984aa8e29adabf28a29d70\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/classiq/Fsuml838IESUxXo8/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Classiq Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#119DA4\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.classiq.io/sdk-reference/qmod/functions/core_library/arithmetic\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/sdk-reference/qmod/functions/core_library/arithmetic.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.classiq.io/#organization\",\"name\":\"Classiq Docs\",\"url\":\"https://docs.classiq.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/classiq/KOIyvRl59wygyHwT/resources/images/ClassiqLogo_black.svg?fit=max\u0026auto=format\u0026n=KOIyvRl59wygyHwT\u0026q=85\u0026s=05c70b0722c0e3ce41855332613b7165\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.classiq.io#website\",\"name\":\"Classiq Docs\",\"url\":\"https://docs.classiq.io\",\"publisher\":{\"@id\":\"https://docs.classiq.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.classiq.io/sdk-reference/qmod/functions/core_library/arithmetic#webpage\",\"url\":\"https://docs.classiq.io/sdk-reference/qmod/functions/core_library/arithmetic\",\"name\":\"Arithmetic\",\"dateModified\":\"2026-11-10T09:11:55.573Z\",\"isPartOf\":{\"@id\":\"https://docs.classiq.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.classiq.io/sdk-reference/qmod/functions/core_library/arithmetic#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.classiq.io/sdk-reference/qmod/functions/core_library/arithmetic#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Qmod\",\"item\":\"https://docs.classiq.io/sdk-reference/qmod/classical-types\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Functions\",\"item\":\"https://docs.classiq.io/sdk-reference/qmod/functions/core_library/allocation\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Core Library\",\"item\":\"https://docs.classiq.io/sdk-reference/qmod/functions/core_library/allocation\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Arithmetic\",\"item\":\"https://docs.classiq.io/sdk-reference/qmod/functions/core_library/arithmetic\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.classiq.io/sdk-reference/qmod/functions/core_library/arithmetic#article\",\"headline\":\"Arithmetic\",\"name\":\"Arithmetic\",\"url\":\"https://docs.classiq.io/sdk-reference/qmod/functions/core_library/arithmetic\",\"mainEntityOfPage\":{\"@id\":\"https://docs.classiq.io/sdk-reference/qmod/functions/core_library/arithmetic#webpage\"},\"dateModified\":\"2026-11-10T09:11:55.573Z\",\"publisher\":{\"@id\":\"https://docs.classiq.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.classiq.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Classiq Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Classiq Docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/sdk-reference/qmod/functions/core_library/arithmetic.md","siteName":"Classiq Docs","nav":{"global":null,"tabs":[{"tab":"Home","pages":[{"title":"Home","href":""}]},{"tab":"Getting Started","pages":[{"title":"Getting Started","href":"/getting-started"}]},{"tab":"User Guide","pages":[{"title":"User Guide","href":"/user-guide"}]},{"tab":"Library","pages":[{"title":"Library","href":"/explore"}]},{"tab":"Qmod Reference","pages":[{"title":"Qmod Reference","href":"/qmod-reference"}]},{"tab":"SDK Reference","pages":[{"title":"Classiq SDK Reference","href":"/sdk-reference"},{"title":"Synthesis","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/synthesis"},{"title":"Execution","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/execution"},{"title":"Error Correction","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/error-correction"},{"title":"Cudaq","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/cudaq"},{"group":"Providers","expanded":false,"pages":[{"title":"Iqm","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/providers/IQM"},{"title":"Index","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/providers/index"},{"title":"Aws","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/providers/AWS"},{"title":"Alice And Bob","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/providers/Alice and Bob"},{"title":"Azure","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/providers/Azure"},{"title":"Braket","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/providers/Braket"},{"title":"C12","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/providers/C12"},{"title":"Classiq","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/providers/Classiq"},{"title":"Simulator Noise","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/providers/simulator-noise"},{"title":"Gcp","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/providers/GCP"},{"title":"Ibm","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/providers/IBM"},{"title":"Ionq","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/providers/IonQ"},{"title":"Oqc","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/providers/OQC"}]},{"group":"Applications","expanded":false,"pages":[{"title":"Block Encoding","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/applications/block_encoding"},{"title":"Iqae","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/applications/IQAE"},{"title":"Qsp","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/applications/QSP"},{"title":"Qsvm","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/applications/QSVM"},{"title":"Chemistry","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/applications/chemistry"}]},{"group":"Qmod","icon":"/icons/bulletsharp.svg","expanded":false,"pages":[{"title":"Classical Types","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/classical-types"},{"group":"Functions","icon":"/icons/bulletsharp.svg","expanded":false,"pages":[{"group":"Core Library","icon":"/icons/bulletsharp.svg","expanded":false,"pages":[{"title":"Allocation","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","description":null,"href":"/sdk-reference/qmod/functions/core_library/allocation"},{"title":"Arithmetic","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/core_library/arithmetic"},{"title":"Exponentiation","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","description":null,"href":"/sdk-reference/qmod/functions/core_library/exponentiation"},{"title":"Gray Code","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/core_library/gray_code"},{"title":"Mid Circuit Measurement","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/core_library/mid_circuit_measurement"},{"title":"Standard Gates","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/core_library/standard_gates"}]},{"group":"Open Library","icon":"/icons/bulletsharp.svg","expanded":false,"pages":[{"title":"Amplitude Amplification","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/open_library/amplitude_amplification"},{"title":"Amplitude Estimation","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/open_library/amplitude_estimation"},{"title":"Amplitude Loading","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/open_library/amplitude_loading"},{"title":"Bit Operations","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/open_library/bit_operations"},{"title":"Discrete Sine Cosine Transform","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/open_library/discrete_sine_cosine_transform"},{"title":"Encodings","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/open_library/encodings"},{"title":"Grover","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/open_library/grover"},{"title":"Hea","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/open_library/hea"},{"title":"Linear Combination Of Unitaries","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/open_library/linear_combination_of_unitaries"},{"title":"Linear Pauli Rotation","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/open_library/linear_pauli_rotation"},{"title":"Modular Arithmetics","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/open_library/modular_arithmetics"},{"title":"Qaoa Penalty","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/open_library/qaoa_penalty"},{"title":"Qft Functions","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/open_library/qft_functions"},{"title":"Qpe","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/open_library/qpe"},{"title":"Qsvt","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/open_library/qsvt"},{"title":"State Preparation","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/open_library/state_preparation"},{"title":"Swap Test","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/open_library/swap_test"},{"title":"Unary Iteration","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/open_library/unary_iteration"},{"title":"Utility Functions","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/open_library/utility_functions"},{"title":"Variational","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/functions/open_library/variational"}]}]},{"title":"Operations","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/operations"},{"title":"Path Operators","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/path-operators"},{"title":"Symbolic Functions","icon":"https://mintlify.s3.us-west-1.amazonaws.com/classiq/icons/bulletsharp.svg","href":"/sdk-reference/qmod/symbolic-functions"}]}]},{"tab":"Support","pages":[{"title":"Support","href":"/support"}]},{"tab":"Release Notes","pages":[{"title":"Release Notes","href":"/release-news/recap-aug-sep-2026"}]}]},"basePath":"","title":"Arithmetic - Classiq Docs","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":[],"chunks":[]}