Math.Gmp.Native/docs/html/e98ec3cf-b539-8024-c401-ecd...

52 lines
96 KiB
HTML
Raw Normal View History

<html><head><meta http-equiv="X-UA-Compatible" content="IE=edge" /><link rel="shortcut icon" href="../icons/favicon.ico" /><link rel="stylesheet" type="text/css" href="../styles/branding.css" /><link rel="stylesheet" type="text/css" href="../styles/branding-en-US.css" /><script type="text/javascript" src="../scripts/branding.js"> </script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>gmp_lib.mpq_set_str Method </title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="mpq_set_str method" /><meta name="System.Keywords" content="gmp_lib.mpq_set_str method" /><meta name="Microsoft.Help.F1" content="Math.Gmp.Native.gmp_lib.mpq_set_str" /><meta name="Microsoft.Help.Id" content="M:Math.Gmp.Native.gmp_lib.mpq_set_str(Math.Gmp.Native.mpq_t,Math.Gmp.Native.char_ptr,System.Int32)" /><meta name="Description" content="Set from a null-terminated string in the given ." /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="true" /><meta name="container" content="Math.Gmp.Native" /><meta name="file" content="e98ec3cf-b539-8024-c401-ecd24bd43662" /><meta name="guid" content="e98ec3cf-b539-8024-c401-ecd24bd43662" /><link type="text/css" rel="stylesheet" href="../styles/highlight.css" /><script type="text/javascript" src="../scripts/highlight.js"> </script><link rel="stylesheet" type="text/css" href="../styles/branding-Website.css" /><script type="text/javascript" src="../scripts/jquery-1.11.0.min.js"></script><script type="text/javascript" src="../scripts/branding-Website.js"></script><script type="text/javascript" src="../scripts/clipboard.min.js"></script></head><body onload="OnLoad('cs')"><input type="hidden" id="userDataCache" class="userDataStyle" /><div class="pageHeader" id="PageHeader">GMP Native Interface for .NET<form id="SearchForm" method="get" action="#" onsubmit="javascript:TransferToSearchPage(); return false;"><input id="SearchTextBox" type="text" maxlength="200" /><button id="SearchButton" type="submit"></button></form></div><div class="pageBody"><div class="leftNav" id="leftNav"><div id="tocNav"><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="846f5c8a-6cba-433e-9f18-cde2ff5695cd.htm" title="GMP Native Interface for .NET" tocid="roottoc">GMP Native Interface for .NET</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="d9c51b9f-0c54-770b-28ea-6eebd8fef368.htm" title="Math.Gmp.Native" tocid="d9c51b9f-0c54-770b-28ea-6eebd8fef368">Math.Gmp.Native</a></div><div class="toclevel0" data-toclevel="0"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="3af6b34c-3242-2b75-e7c7-ab79af8a4b0f.htm" title="gmp_lib Class" tocid="3af6b34c-3242-2b75-e7c7-ab79af8a4b0f">gmp_lib Class</a></div><div class="toclevel1" data-toclevel="1" data-childrenloaded="true"><a class="tocExpanded" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="0fa7cbf3-e8f4-6b14-d829-8aa663e77c74.htm" title="gmp_lib Methods" tocid="0fa7cbf3-e8f4-6b14-d829-8aa663e77c74">gmp_lib Methods</a></div><div class="toclevel2" data-toclevel="2"><a data-tochassubtree="false" href="c9cb6a67-59b8-5c03-f31d-f252441c53f6.htm" title="_mpz_realloc Method " tocid="c9cb6a67-59b8-5c03-f31d-f252441c53f6">_mpz_realloc Method </a></div><div class="toclevel2" data-toclevel="2"><a data-tochassubtree="false" href="2c68671c-cd5c-e2ec-52a2-65b0ca31c3d1.htm" title="allocate Method " tocid="2c68671c-cd5c-e2ec-52a2-65b0ca31c3d1">allocate Method </a></div><div class="toclevel2" data-toclevel="2"><a class="tocCollapsed" onclick="javascript: Toggle(this);" href="#!" /><a data-tochassubtree="true" href="92160da3-b1af-e005-cb05-e3fb4dd524d8.htm" title="free Method " tocid="92160da3-b1af-e005-cb05-e3fb4dd524d8">free Method </a></div><div class="toclevel2" data-toclevel="2"><a data-tochassubtree="false" href="fe6e46c3
2017-11-04 16:02:37 +01:00
Set <span class="parameter">rop</span> from a null-terminated string <span class="parameter">str</span> in the given <span class="parameter">base</span>.
</div><p> </p>
<strong>Namespace:</strong>
 <a href="d9c51b9f-0c54-770b-28ea-6eebd8fef368.htm">Math.Gmp.Native</a><br />
<strong>Assembly:</strong>
 Math.Gmp.Native (in Math.Gmp.Native.dll) Version: 1.0.0.0 (1.0.0.0)<div class="collapsibleAreaRegion"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID1RB')" onkeypress="SectionExpandCollapse_CheckKey('ID1RB', event)" tabindex="0"><img id="ID1RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />Syntax</span></div><div id="ID1RBSection" class="collapsibleSection"><div class="codeSnippetContainer"><div class="codeSnippetContainerTabs"><div id="ID0EDCA_tab1" class="codeSnippetContainerTab"><a href="#" onclick="javascript:ChangeTab('ID0EDCA','cs','1','4');return false;">C#</a></div><div id="ID0EDCA_tab2" class="codeSnippetContainerTab"><a href="#" onclick="javascript:ChangeTab('ID0EDCA','vb','2','4');return false;">VB</a></div><div id="ID0EDCA_tab3" class="codeSnippetContainerTab"><a href="#" onclick="javascript:ChangeTab('ID0EDCA','cpp','3','4');return false;">C++</a></div><div id="ID0EDCA_tab4" class="codeSnippetContainerTab"><a href="#" onclick="javascript:ChangeTab('ID0EDCA','fs','4','4');return false;">F#</a></div></div><div class="codeSnippetContainerCodeContainer"><div class="codeSnippetToolBar"><div class="codeSnippetToolBarText"><a id="ID0EDCA_copyCode" href="#" class="copyCodeSnippet" onclick="javascript:CopyToClipboard('ID0EDCA');return false;" title="Copy">Copy</a></div></div><div id="ID0EDCA_code_Div1" class="codeSnippetContainerCode" style="display: block"><pre xml:space="preserve"><span class="keyword">public</span> <span class="keyword">static</span> <span class="identifier">int</span> <span class="identifier">mpq_set_str</span>(
<span class="identifier">mpq_t</span> <span class="parameter">rop</span>,
<span class="identifier">char_ptr</span> <span class="parameter">str</span>,
<span class="identifier">int</span> <span class="parameter">base</span>
)</pre></div><div id="ID0EDCA_code_Div2" class="codeSnippetContainerCode" style="display: none"><pre xml:space="preserve"><span class="keyword">Public</span> <span class="keyword">Shared</span> <span class="keyword">Function</span> <span class="identifier">mpq_set_str</span> (
<span class="parameter">rop</span> <span class="keyword">As</span> <span class="identifier">mpq_t</span>,
<span class="parameter">str</span> <span class="keyword">As</span> <span class="identifier">char_ptr</span>,
<span class="parameter">base</span> <span class="keyword">As</span> <span class="identifier">Integer</span>
) <span class="keyword">As</span> <span class="identifier">Integer</span></pre></div><div id="ID0EDCA_code_Div3" class="codeSnippetContainerCode" style="display: none"><pre xml:space="preserve"><span class="keyword">public</span>:
<span class="keyword">static</span> <span class="identifier">int</span> <span class="identifier">mpq_set_str</span>(
<span class="identifier">mpq_t</span>^ <span class="parameter">rop</span>,
<span class="identifier">char_ptr</span> <span class="parameter">str</span>,
<span class="identifier">int</span> <span class="parameter">base</span>
)</pre></div><div id="ID0EDCA_code_Div4" class="codeSnippetContainerCode" style="display: none"><pre xml:space="preserve"><span class="keyword">static</span> <span class="keyword">member</span> <span class="identifier">mpq_set_str</span> :
<span class="parameter">rop</span> : <span class="identifier">mpq_t</span> *
<span class="parameter">str</span> : <span class="identifier">char_ptr</span> *
<span class="parameter">base</span> : <span class="identifier">int</span> <span class="keyword">-&gt;</span> <span class="identifier">int</span>
2017-11-08 01:29:10 +01:00
</pre></div></div></div><script type="text/javascript">AddLanguageTabSet("ID0EDCA");</script><h4 class="subHeading">Parameters</h4><dl><dt><span class="parameter">rop</span></dt><dd>Type: <a href="635f1879-5f85-881e-cca8-3222baf5045a.htm">Math.Gmp.Native<span id="LSTC9786AA3_1"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTC9786AA3_1?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpq_t</a><br />The result rational.</dd><dt><span class="parameter">str</span></dt><dd>Type: <a href="06249483-9daf-95f9-32c7-30195550bbcc.htm">Math.Gmp.Native<span id="LSTC9786AA3_2"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTC9786AA3_2?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>char_ptr</a><br />The source string.</dd><dt><span class="parameter">base</span></dt><dd>Type: <a href="http://msdn2.microsoft.com/en-us/library/td2s409d" target="_blank">System<span id="LSTC9786AA3_3"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTC9786AA3_3?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>Int32</a><br />The base,</dd></dl><h4 class="subHeading">Return Value</h4>Type: <a href="http://msdn2.microsoft.com/en-us/library/td2s409d" target="_blank">Int32</a><br />The return value is 0 if the entire string is a valid number, or -1 if not.</div><div class="collapsibleAreaRegion"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID2RB')" onkeypress="SectionExpandCollapse_CheckKey('ID2RB', event)" tabindex="0"><img id="ID2RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />Remarks</span></div><div id="ID2RBSection" class="collapsibleSection"><p>
The string can be an integer like "41" or a fraction like "41/152".
2017-11-04 16:02:37 +01:00
The fraction must be in canonical form
(see <a href="https://gmplib.org/manual/Rational-Number-Functions.html#Rational-Number-Functions">GNU MP - Rational Number Functions</a>),
2017-12-15 02:18:55 +01:00
or if not then <a href="19d53697-65f1-2df5-62f3-988182af0c88.htm">mpq_canonicalize</a> must be called.
2017-11-04 16:02:37 +01:00
</p><p>
2017-12-15 02:18:55 +01:00
The numerator and optional denominator are parsed the same as in <a href="6a3819df-abc1-ceb1-a5c7-87a879977b8c.htm">mpz_set_str</a>
2017-11-04 16:02:37 +01:00
(see <a href="https://gmplib.org/manual/Assigning-Integers.html#Assigning-Integers">GNU MP - Assigning Integers</a>).
White space is allowed in the string, and is simply ignored.
2017-11-08 01:29:10 +01:00
The base can vary from 2 to 62, or if <span class="parameter">base</span> is 0 then the leading characters are used:
0x or 0X for hex, 0b or 0B for binary, 0 for octal, or decimal otherwise.
Note that this is done separately for the numerator and denominator, so for instance 0xEF/100 is 239/100,
whereas 0xEF/0x100 is 239/256.
2017-11-04 16:02:37 +01:00
</p></div><div class="collapsibleAreaRegion"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID3RB')" onkeypress="SectionExpandCollapse_CheckKey('ID3RB', event)" tabindex="0"><img id="ID3RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />Examples</span></div><div id="ID3RBSection" class="collapsibleSection"><div class="codeSnippetContainer"><div class="codeSnippetContainerTabs"><div id="ID0EDAABA_tab1" class="codeSnippetContainerTab"><a href="#" onclick="javascript:ChangeTab('ID0EDAABA','cs','1','4');return false;">C#</a></div><div id="ID0EDAABA_tab2" class="codeSnippetContainerTab"><a href="#" onclick="javascript:ChangeTab('ID0EDAABA','vb','2','4');return false;">VB</a></div><div id="ID0EDAABA_tab3" class="codeSnippetContainerTabPhantom"><a href="#" onclick="javascript:ChangeTab('ID0EDAABA','cpp','3','4');return false;">C++</a></div><div id="ID0EDAABA_tab4" class="codeSnippetContainerTabPhantom"><a href="#" onclick="javascript:ChangeTab('ID0EDAABA','fs','4','4');return false;">F#</a></div></div><div class="codeSnippetContainerCodeContainer"><div class="codeSnippetToolBar"><div class="codeSnippetToolBarText"><a id="ID0EDAABA_copyCode" href="#" class="copyCodeSnippet" onclick="javascript:CopyToClipboard('ID0EDAABA');return false;" title="Copy">Copy</a></div></div><div id="ID0EDAABA_code_Div1" class="codeSnippetContainerCode" style="display: block"><pre xml:space="preserve"><span class="highlight-comment">// Create and initialize a new rational x.</span>
mpq_t x = <span class="highlight-keyword">new</span> mpq_t();
gmp_lib.mpq_init(x);
<span class="highlight-comment">// Set the value of x.</span>
char_ptr <span class="highlight-keyword">value</span> = <span class="highlight-keyword">new</span> char_ptr(<span class="highlight-literal">"12 345 678 909 876 543 211 234 567 890 987 654 321 / 234 567 890"</span>);
gmp_lib.mpq_set_str(x, <span class="highlight-keyword">value</span>, <span class="highlight-number">10</span>);
<span class="highlight-comment">// Assert the value of x.</span>
char_ptr s = gmp_lib.mpq_get_str(char_ptr.Zero, <span class="highlight-number">10</span>, x);
Assert.IsTrue(s.ToString() == <span class="highlight-keyword">value</span>.ToString().Replace(<span class="highlight-literal">" "</span>, <span class="highlight-literal">""</span>));
<span class="highlight-comment">// Release unmanaged memory allocated for x and string values.</span>
gmp_lib.mpq_clear(x);
gmp_lib.free(<span class="highlight-keyword">value</span>);
2018-01-06 17:23:30 +01:00
gmp_lib.free(s);</pre></div><div id="ID0EDAABA_code_Div2" class="codeSnippetContainerCode" style="display: none"><pre xml:space="preserve"></pre></div><div id="ID0EDAABA_code_Div3" class="codeSnippetContainerCode" style="display: none"><p>No code example is currently available or this language may not be supported.</p></div><div id="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><script type="text/javascript">AddLanguageTabSet("ID0EDAABA");</script></div><div class="collapsibleAreaRegion" id="seeAlsoSection"><span class="collapsibleRegionTitle" onclick="SectionExpandCollapse('ID4RB')" onkeypress="SectionExpandCollapse_CheckKey('ID4RB', event)" tabindex="0"><img id="ID4RBToggle" class="collapseToggle" src="../icons/SectionExpanded.png" />See Also</span></div><div id="ID4RBSection" class="collapsibleSection"><h4 class="subHeading">Reference</h4><div class="seeAlsoStyle"><a href="3af6b34c-3242-2b75-e7c7-ab79af8a4b0f.htm">gmp_lib Class</a></div><div class="seeAlsoStyle"><a href="d9c51b9f-0c54-770b-28ea-6eebd8fef368.htm">Math.Gmp.Native Namespace</a></div><div class="seeAlsoStyle"><a href="19d53697-65f1-2df5-62f3-988182af0c88.htm">mpq_canonicalize</a></div><div class="seeAlsoStyle"><a href="dbf3d252-fd6d-455f-2ba7-4091845b86a7.htm">mpq_init</a></div><div class="seeAlsoStyle"><a href="8ab8ea40-9723-f0c8-18f4-9558c73397b9.htm">mpq_inits</a></div><div class="seeAlsoStyle"><a href="b69da354-160b-602a-4cc4-faf7ca423186.htm">mpq_clear</a></div><div class="seeAlsoStyle"><a href="cc2693e9-1cc5-3098-f2f7-bb05c8017f62.htm">mpq_clears</a></div><div class="seeAlsoStyle"><a href="9eac8ea9-0821-09b2-8091-e6638c562c7f.htm">mpq_set</a></div><div class="seeAlsoStyle"><a href="84d256a1-cd11-3bf9-3e8c-8a7e1980315d.htm">mpq_set_z</a></div><div class="seeAlsoStyle"><a href="915a7958-6821-bb64-468f-b0b48b351878.htm">mpq_set_ui</a></div><div class="seeAlsoStyle"><a href="ba898f37-20d0-a5cd-eff1-0663f18220dd.htm">mpq_set_si</a></div><div class="seeAlsoStyle"><a href="11e36fbc-ffc4-46df-50b7-2b07684c1755.htm">mpq_swap</a></div><div class="seeAlsoStyle"><a href="3af6b34c-3242-2b75-e7c7-ab79af8a4b0f.htm"><a href="/Math.Gmp.Native/html/3af6b34c-3242-2b75-e7c7-ab79af8a4b0f.htm#Initializing_Rationals">Initializing Rationals</a></a></div><div class="seeAlsoStyle"><a href="3af6b34c-3242-2b75-e7c7-ab79af8a4b0f.htm"><a href="https://gmplib.org/manual/Initializing-Rationals.html#Initializing-Rationals">GNU MP - Initializing Rationals</a></a></div></div></div></div><div id="pageFooter" class="pageFooter"> </div></body></html>