<html><head><metahttp-equiv="X-UA-Compatible"content="IE=edge"/><linkrel="shortcut icon"href="../icons/favicon.ico"/><linkrel="stylesheet"type="text/css"href="../styles/branding.css"/><linkrel="stylesheet"type="text/css"href="../styles/branding-en-US.css"/><scripttype="text/javascript"src="../scripts/branding.js"></script><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"/><title>gmp_lib.mpf_set_prec_raw Method </title><metaname="Language"content="en-us"/><metaname="System.Keywords"content="mpf_set_prec_raw method"/><metaname="System.Keywords"content="gmp_lib.mpf_set_prec_raw method"/><metaname="Microsoft.Help.F1"content="Math.Gmp.Native.gmp_lib.mpf_set_prec_raw"/><metaname="Microsoft.Help.Id"content="M:Math.Gmp.Native.gmp_lib.mpf_set_prec_raw(Math.Gmp.Native.mpf_t,Math.Gmp.Native.mp_bitcnt_t)"/><metaname="Description"content="Set the precision of to be at least bits, without changing the memory allocated."/><metaname="Microsoft.Help.ContentType"content="Reference"/><metaname="BrandingAware"content="true"/><metaname="container"content="Math.Gmp.Native"/><metaname="file"content="b456f637-83f4-9d4f-18c5-052d77fbf981"/><metaname="guid"content="b456f637-83f4-9d4f-18c5-052d77fbf981"/><linktype="text/css"rel="stylesheet"href="../styles/highlight.css"/><scripttype="text/javascript"src="../scripts/highlight.js"></script><linkrel="stylesheet"type="text/css"href="../styles/branding-Website.css"/><scripttype="text/javascript"src="../scripts/jquery-1.11.0.min.js"></script><scripttype="text/javascript"src="../scripts/branding-Website.js"></script><scripttype="text/javascript"src="../scripts/clipboard.min.js"></script></head><bodyonload="OnLoad('cs')"><inputtype="hidden"id="userDataCache"class="userDataStyle"/><divclass="pageHeader"id="PageHeader">GMP Native Interface for .NET<formid="SearchForm"method="get"action="#"onsubmit="javascript:TransferToSearchPage(); return false;"><inputid="SearchTextBox"type="text"maxlength="200"/><buttonid="SearchButton"type="submit"></button></form></div><divclass="pageBody"><divclass="leftNav"id="leftNav"><divid="tocNav"><divclass="toclevel0"data-toclevel="0"><aclass="tocCollapsed"onclick="javascript: Toggle(this);"href="#!"/><adata-tochassubtree="true"href="846f5c8a-6cba-433e-9f18-cde2ff5695cd.htm"title="GMP Native Interface for .NET"tocid="roottoc">GMP Native Interface for .NET</a></div><divclass="toclevel0"data-toclevel="0"><aclass="tocCollapsed"onclick="javascript: Toggle(this);"href="#!"/><adata-tochassubtree="true"href="d9c51b9f-0c54-770b-28ea-6eebd8fef368.htm"title="Math.Gmp.Native"tocid="d9c51b9f-0c54-770b-28ea-6eebd8fef368">Math.Gmp.Native</a></div><divclass="toclevel0"data-toclevel="0"><aclass="tocCollapsed"onclick="javascript: Toggle(this);"href="#!"/><adata-tochassubtree="true"href="3af6b34c-3242-2b75-e7c7-ab79af8a4b0f.htm"title="gmp_lib Class"tocid="3af6b34c-3242-2b75-e7c7-ab79af8a4b0f">gmp_lib Class</a></div><divclass="toclevel1"data-toclevel="1"data-childrenloaded="true"><aclass="tocExpanded"onclick="javascript: Toggle(this);"href="#!"/><adata-tochassubtree="true"href="0fa7cbf3-e8f4-6b14-d829-8aa663e77c74.htm"title="gmp_lib Methods"tocid="0fa7cbf3-e8f4-6b14-d829-8aa663e77c74">gmp_lib Methods</a></div><divclass="toclevel2"data-toclevel="2"><adata-tochassubtree="false"href="c9cb6a67-59b8-5c03-f31d-f252441c53f6.htm"title="_mpz_realloc Method "tocid="c9cb6a67-59b8-5c03-f31d-f252441c53f6">_mpz_realloc Method </a></div><divclass="toclevel2"data-toclevel="2"><adata-tochassubtree="false"href="2c68671c-cd5c-e2ec-52a2-65b0ca31c3d1.htm"title="allocate Method "tocid="2c68671c-cd5c-e2ec-52a2-65b0ca31c3d1">allocate Method </a></div><divclass="toclevel2"data-toclevel="2"><aclass="tocCollapsed"onclick="javascript: Toggle(this);"href="#!"/><adata-tochassubtree="true"href="92160da3-b1af-e005-cb05-e3fb4dd524d8.htm"title="free Method "tocid="92160da3-b1af-e005-cb05-e3fb4dd524d8">free Method </a></div><divclass="toclevel2"data-toclevel="
</pre></div></div></div><scripttype="text/javascript">AddLanguageTabSet("ID0EDCA");</script><h4class="subHeading">Parameters</h4><dl><dt><spanclass="parameter">rop</span></dt><dd>Type:<ahref="37c88d6c-8d02-2330-ad77-f20fb73d1677.htm">Math.Gmp.Native<spanid="LSTB9A79BE3_1"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTB9A79BE3_1?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpf_t</a><br/>The result float.</dd><dt><spanclass="parameter">prec</span></dt><dd>Type:<ahref="1b2b1d64-20c1-7a64-0278-d9ff58ee9cc3.htm">Math.Gmp.Native<spanid="LSTB9A79BE3_2"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTB9A79BE3_2?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mp_bitcnt_t</a><br/>The minimum precision in bits.</dd></dl></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><spanclass="parameter">prec</span> must be no more than the allocated precision for <spanclass="parameter">rop</span>,
that being the precision when <spanclass="parameter">rop</span> was initialized, or in the most recent <ahref="438e6843-fc7b-4e6f-9ac0-d97a2773b032.htm">mpf_set_prec(mpf_t, mp_bitcnt_t)</a>.
</p><p>
The value in <spanclass="parameter">rop</span> is unchanged, and in particular if it had a higher precision than <spanclass="parameter">prec</span>
it will retain that higher precision. New values written to <spanclass="parameter">rop</span> will use the new <spanclass="parameter">prec</span>.
</p><p>
Before calling <ahref="3a2a17ed-a64c-8716-7f65-18c661a5279f.htm">mpf_clear(mpf_t)</a> or the full <ahref="438e6843-fc7b-4e6f-9ac0-d97a2773b032.htm">mpf_set_prec(mpf_t, mp_bitcnt_t)</a>, another <spanclass="selflink">mpf_set_prec_raw(mpf_t, mp_bitcnt_t)</span> call
must be made to restore <spanclass="parameter">rop</span> to its original allocated precision. Failing to do so will have unpredictable results.
</p><p><ahref="96c4a09e-3f83-00ab-30d0-78a82764b0ce.htm">mpf_get_prec(mpf_t)</a> can be used before <spanclass="selflink">mpf_set_prec_raw(mpf_t, mp_bitcnt_t)</span> to get the original allocated precision.
After <spanclass="selflink">mpf_set_prec_raw(mpf_t, mp_bitcnt_t)</span> it reflects the prec value set.
</p><p><spanclass="selflink">mpf_set_prec_raw(mpf_t, mp_bitcnt_t)</span> is an efficient way to use an <ahref="37c88d6c-8d02-2330-ad77-f20fb73d1677.htm">mpf_t</a> variable at different precisions during a calculation,
perhaps to gradually increase precision in an iteration, or just to use various different precisions for different purposes during a calculation.
</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">// Set default precision to 128 bits.</span>
<spanclass="highlight-comment">// Release unmanaged memory allocated for x and y.</span>
gmp_lib.mpf_clear(x);
gmp_lib.mpq_clear(y);</pre></div><divid="ID0EDAABA_code_Div2"class="codeSnippetContainerCode"style="display: none"><prexml:space="preserve"><spanclass="highlight-comment">' Set default precision to 128 bits.</span>
<spanclass="highlight-comment">' Release unmanaged memory allocated for x and y.</span>
gmp_lib.mpf_clear(x)
gmp_lib.mpq_clear(y)</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="9e93d02e-f5c7-1a6f-68fe-a33d793a93e2.htm">gmp_lib<spanid="LSTB9A79BE3_3"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTB9A79BE3_3?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpf_set_default_prec(mp_bitcnt_t)</a></div><divclass="seeAlsoStyle"><ahref="1ca4ec7e-b5d1-3b51-8341-5a345990e62d.htm">gmp_lib<spanid="LSTB9A79BE3_4"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTB9A79BE3_4?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpf_get_default_prec<spanid="LSTB9A79BE3_5"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTB9A79BE3_5?cs=()|vb=|cpp=()|nu=()|fs=()");</script></a></div><divclass="seeAlsoStyle"><ahref="0dd846ac-56b6-3ea8-0441-12490f67fbf7.htm">gmp_lib<spanid="LSTB9A79BE3_6"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTB9A79BE3_6?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpf_init(mpf_t)</a></div><divclass="seeAlsoStyle"><ahref="98083eac-9993-41b2-4943-678785fce712.htm">gmp_lib<spanid="LSTB9A79BE3_7"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTB9A79BE3_7?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpf_init2(mpf_t, mp_bitcnt_t)</a></div><divclass="seeAlsoStyle"><ahref="018278a0-148f-c898-5bd0-42aae4ae0069.htm">gmp_lib<spanid="LSTB9A79BE3_8"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTB9A79BE3_8?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpf_inits(<spanid="LSTB9A79BE3_9"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTB9A79BE3_9?cpp=array<");</script>mpf_t<spanid="LSTB9A79BE3_10"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTB9A79BE3_10?cpp=>|cs=[]|vb=()|nu=[]|fs=[]");</script>)</a></div><divclass="seeAlsoStyle"><ahref="3a2a17ed-a64c-8716-7f65-18c661a5279f.htm">gmp_lib<spanid="LSTB9A79BE3_11"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTB9A79BE3_11?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpf_clear(mpf_t)</a></div><divclass="seeAlsoStyle"><ahref="bfb87570-3b2e-079a-1528-3746424bbdef.htm">gmp_lib<spanid="LSTB9A79BE3_12"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTB9A79BE3_12?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpf_clears(<spanid="LSTB9A79BE3_13"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTB9A79BE3_13?cpp=array<");</script>mpf_t<spanid="LSTB9A79BE3_14"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTB9A79BE3_14?cpp=>|cs=[]|vb=()|nu=[]|fs=[]");</script>)</a></div><divclass="seeAlsoStyle"><ahref="96c4a09e-3f83-00ab-30d0-78a82764b0ce.htm">gmp_lib<spanid="LSTB9A79BE3_15"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTB9A79BE3_15?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpf_get_prec(mpf_t)</a></div><divclass="seeAlsoStyle"><ahref="438e6843-fc7b-4e6f-9ac0-d97a2773b032.htm">gmp_lib<spanid="LSTB9A79BE3_16"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LSTB9A79BE3_16?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpf_set_pre