Calculate the Jacobi symbol <spanclass="code">(<spanclass="parameter">a</span>/<spanclass="parameter">b</span>)</span> with the Kronecker extension <spanclass="code">(<spanclass="parameter">a</span>/2) = (2/<spanclass="parameter">a</span>)</span> when <spanclass="parameter">a</span> odd, or <spanclass="code">(<spanclass="parameter">a</span>/2) = 0</span> when <spanclass="parameter">a</span> even.
</pre></div></div></div><scripttype="text/javascript">AddLanguageTabSet("ID0EDCA");</script><h4class="subHeading">Parameters</h4><dl><dt><spanclass="parameter">a</span></dt><dd>Type:<ahref="8beda7fb-bbc4-b56f-fd1f-1459377ecb3b.htm">Math.Gmp.Native<spanid="LST8B4828AC_1"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST8B4828AC_1?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpz_t</a><br/>The first operand integer.</dd><dt><spanclass="parameter">b</span></dt><dd>Type:<ahref="http://msdn2.microsoft.com/en-us/library/ctys3981"target="_blank">System<spanid="LST8B4828AC_2"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST8B4828AC_2?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>UInt32</a><br/>The second operand integer.</dd></dl><h4class="subHeading">Return Value</h4>Type:<ahref="http://msdn2.microsoft.com/en-us/library/td2s409d"target="_blank">Int32</a><br/>The Jacobi symbol <spanclass="code">(<spanclass="parameter">a</span>/<spanclass="parameter">b</span>)</span> with the Kronecker extension <spanclass="code">(<spanclass="parameter">a</span>/2) = (2/<spanclass="parameter">a</span>)</span> when <spanclass="parameter">a</span> odd, or <spanclass="code">(<spanclass="parameter">a</span>/2) = 0</span> when <spanclass="parameter">a</span> even.</div><divclass="collapsibleAreaRegion"><spanclass="collapsibleRegionTitle"onclick="SectionExpandCollapse('ID2RB')"onkeypress="SectionExpandCollapse_CheckKey('ID2RB', event)"tabindex="0"><imgid="ID2RBToggle"class="collapseToggle"src="../icons/SectionExpanded.png"/>Remarks</span></div><divid="ID2RBSection"class="collapsibleSection"><p>
When <spanclass="parameter">b</span> is odd the Jacobi symbol and Kronecker symbol are identical,
so <spanclass="selflink">mpz_kronecker_ui(mpz_t, UInt32)</span>, etc. can be used for mixed precision Jacobi symbols too.
</p></div><divclass="collapsibleAreaRegion"><spanclass="collapsibleRegionTitle"onclick="SectionExpandCollapse('ID3RB')"onkeypress="SectionExpandCollapse_CheckKey('ID3RB', event)"tabindex="0"><imgid="ID3RBToggle"class="collapseToggle"src="../icons/SectionExpanded.png"/>Examples</span></div><divid="ID3RBSection"class="collapsibleSection"><divclass="codeSnippetContainer"><divclass="codeSnippetContainerTabs"><divid="ID0EDAABA_tab1"class="codeSnippetContainerTab"><ahref="#"onclick="javascript:ChangeTab('ID0EDAABA','cs','1','4');return false;">C#</a></div><divid="ID0EDAABA_tab2"class="codeSnippetContainerTab"><ahref="#"onclick="javascript:ChangeTab('ID0EDAABA','vb','2','4');return false;">VB</a></div><divid="ID0EDAABA_tab3"class="codeSnippetContainerTabPhantom"><ahref="#"onclick="javascript:ChangeTab('ID0EDAABA','cpp','3','4');return false;">C++</a></div><divid="ID0EDAABA_tab4"class="codeSnippetContainerTabPhantom"><ahref="#"onclick="javascript:ChangeTab('ID0EDAABA','fs','4','4');return false;">F#</a></div></div><divclass="codeSnippetContainerCodeContainer"><divclass="codeSnippetToolBar"><divclass="codeSnippetToolBarText"><aid="ID0EDAABA_copyCode"href="#"class="copyCodeSnippet"onclick="javascript:CopyToClipboard('ID0EDAABA');return false;"title="Copy">Copy</a></div></div><divid="ID0EDAABA_code_Div1"class="codeSnippetContainerCode"style="display: block"><prexml:space="preserve"><spanclass="highlight-comment">// Create, initialize, and set the value of a to 15.</span>
mpz_t a = <spanclass="highlight-keyword">new</span> mpz_t();
<spanclass="highlight-comment">// Release unmanaged memory allocated for a.</span>
gmp_lib.mpz_clear(a);</pre></div><divid="ID0EDAABA_code_Div2"class="codeSnippetContainerCode"style="display: none"><prexml:space="preserve"><spanclass="highlight-comment">' Create, initialize, and set the value of a to 15.</span>
<spanclass="highlight-keyword">Dim</span> a <spanclass="highlight-keyword">As</span><spanclass="highlight-keyword">New</span> mpz_t()
<spanclass="highlight-comment">' Release unmanaged memory allocated for a.</span>
gmp_lib.mpz_clear(a)</pre></div><divid="ID0EDAABA_code_Div3"class="codeSnippetContainerCode"style="display: none"><p>No code example is currently available or this language may not be supported.</p></div><divid="ID0EDAABA_code_Div4"class="codeSnippetContainerCode"style="display: none"><p>No code example is currently available or this language may not be supported.</p></div></div></div><scripttype="text/javascript">AddLanguageTabSet("ID0EDAABA");</script></div><divclass="collapsibleAreaRegion"id="seeAlsoSection"><spanclass="collapsibleRegionTitle"onclick="SectionExpandCollapse('ID4RB')"onkeypress="SectionExpandCollapse_CheckKey('ID4RB', event)"tabindex="0"><imgid="ID4RBToggle"class="collapseToggle"src="../icons/SectionExpanded.png"/>See Also</span></div><divid="ID4RBSection"class="collapsibleSection"><h4class="subHeading">Reference</h4><divclass="seeAlsoStyle"><ahref="3af6b34c-3242-2b75-e7c7-ab79af8a4b0f.htm">gmp_lib Class</a></div><divclass="seeAlsoStyle"><ahref="d9c51b9f-0c54-770b-28ea-6eebd8fef368.htm">Math.Gmp.Native Namespace</a></div><divclass="seeAlsoStyle"><ahref="54ba330f-67d3-fa30-2d5f-0480b7f4659c.htm">gmp_lib<spanid="LST8B4828AC_3"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST8B4828AC_3?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpz_kronecker(mpz_t, mpz_t)</a></div><divclass="seeAlsoStyle"><ahref="0252e04b-b8fc-5a06-e1e2-a0cafbb44296.htm">gmp_lib<spanid="LST8B4828AC_4"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST8B4828AC_4?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpz_kronecker_si(mpz_t, Int32)</a></div><divclass="seeAlsoStyle"><ahref="b5936979-01aa-1cd8-20de-d6386368e234.htm">gmp_lib<spanid="LST8B4828AC_5"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST8B4828AC_5?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpz_legendre(mpz_t, mpz_t)</a></div><divclass="seeAlsoStyle"><ahref="a248732b-c4be-7e9a-4207-0049371764ff.htm">gmp_lib<spanid="LST8B4828AC_6"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST8B4828AC_6?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpz_si_kronecker(Int32, mpz_t)</a></div><divclass="seeAlsoStyle"><ahref="d9715b1a-6092-83e6-d7f3-6cfbb4adb143.htm">gmp_lib<spanid="LST8B4828AC_7"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST8B4828AC_7?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpz_ui_kronecker(UInt32, mpz_t)</a></div><divclass="seeAlsoStyle"><ahref="3af6b34c-3242-2b75-e7c7-ab79af8a4b0f.htm"><ahref="https://gmplib.org/manual/Number-Theoretic-Functions.html#Number-Theoretic-Functions">GNU MP - Number Theoretic Functions</a></a></div></div></div></div><divid="pageFooter"class="pageFooter"></div></body></html>