http://git-wip-us.apache.org/repos/asf/arrow-site/blob/a4dfae21/docs/cpp/datetime_8h_source.html
----------------------------------------------------------------------
diff --git a/docs/cpp/datetime_8h_source.html b/docs/cpp/datetime_8h_source.html
index 8c03f01..2e0b0a4 100644
--- a/docs/cpp/datetime_8h_source.html
+++ b/docs/cpp/datetime_8h_source.html
@@ -67,15 +67,15 @@ $(function() {
 <div class="title">datetime.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="datetime_8h.html">Go to the documentation of this file.</a><div 
class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">   
 1</span>&#160;<span class="comment">// Licensed to the Apache Software 
Foundation (ASF) under one</span></div><div class="line"><a 
name="l00002"></a><span class="lineno">    2</span>&#160;<span 
class="comment">// or more contributor license agreements.  See the NOTICE 
file</span></div><div class="line"><a name="l00003"></a><span class="lineno">   
 3</span>&#160;<span class="comment">// distributed with this work for 
additional information</span></div><div class="line"><a name="l00004"></a><span 
class="lineno">    4</span>&#160;<span class="comment">// regarding copyright 
ownership.  The ASF licenses this file</span></div><div class="line"><a 
name="l00005"></a><span class="lineno">    5</span>&#160;<span 
class="comment">// to you under the Apache License, Version 2.0 
(the</span></div><div class="line"><a name="l00006"></a><span clas
 s="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); 
you may not use this file except in compliance</span></div><div class="line"><a 
name="l00007"></a><span class="lineno">    7</span>&#160;<span 
class="comment">// with the License.  You may obtain a copy of the License 
at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    
8</span>&#160;<span class="comment">//</span></div><div class="line"><a 
name="l00009"></a><span class="lineno">    9</span>&#160;<span 
class="comment">//   
http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a 
name="l00010"></a><span class="lineno">   10</span>&#160;<span 
class="comment">//</span></div><div class="line"><a name="l00011"></a><span 
class="lineno">   11</span>&#160;<span class="comment">// Unless required by 
applicable law or agreed to in writing,</span></div><div class="line"><a 
name="l00012"></a><span class="lineno">   12</span>&#160;<span 
class="comment">// software distributed 
 under the License is distributed on an</span></div><div class="line"><a 
name="l00013"></a><span class="lineno">   13</span>&#160;<span 
class="comment">// &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 
ANY</span></div><div class="line"><a name="l00014"></a><span class="lineno">   
14</span>&#160;<span class="comment">// KIND, either express or implied.  See 
the License for the</span></div><div class="line"><a name="l00015"></a><span 
class="lineno">   15</span>&#160;<span class="comment">// specific language 
governing permissions and limitations</span></div><div class="line"><a 
name="l00016"></a><span class="lineno">   16</span>&#160;<span 
class="comment">// under the License.</span></div><div class="line"><a 
name="l00017"></a><span class="lineno">   17</span>&#160;</div><div 
class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span 
class="preprocessor">#ifndef PYARROW_UTIL_DATETIME_H</span></div><div 
class="line"><a name="l00019"></a><span class="lin
 eno">   19</span>&#160;<span class="preprocessor">#define 
PYARROW_UTIL_DATETIME_H</span></div><div class="line"><a 
name="l00020"></a><span class="lineno">   20</span>&#160;</div><div 
class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span 
class="preprocessor">#include &lt;<a class="code" 
href="datetime_8h.html">datetime.h</a>&gt;</span></div><div class="line"><a 
name="l00022"></a><span class="lineno">   22</span>&#160;<span 
class="preprocessor">#include &quot;<a class="code" 
href="platform_8h.html">arrow/python/platform.h</a>&quot;</span></div><div 
class="line"><a name="l00023"></a><span class="lineno">   
23</span>&#160;</div><div class="line"><a name="l00024"></a><span 
class="lineno">   24</span>&#160;<span class="keyword">namespace </span><a 
class="code" href="namespacearrow.html">arrow</a> {</div><div class="line"><a 
name="l00025"></a><span class="lineno">   25</span>&#160;<span 
class="keyword">namespace </span>py {</div><div class="line"><a name="l00026"><
 /a><span class="lineno">   26</span>&#160;</div><div class="line"><a 
name="l00027"></a><span class="lineno">   27</span>&#160;<span 
class="keyword">static</span> <span class="keyword">inline</span> int64_t 
PyTime_to_us(PyObject* pytime) {</div><div class="line"><a 
name="l00028"></a><span class="lineno">   28</span>&#160;  <span 
class="keywordflow">return</span> 
(static_cast&lt;int64_t&gt;(PyDateTime_TIME_GET_HOUR(pytime)) * 3600000000LL 
+</div><div class="line"><a name="l00029"></a><span class="lineno">   
29</span>&#160;          
static_cast&lt;int64_t&gt;(PyDateTime_TIME_GET_MINUTE(pytime)) * 60000000LL 
+</div><div class="line"><a name="l00030"></a><span class="lineno">   
30</span>&#160;          
static_cast&lt;int64_t&gt;(PyDateTime_TIME_GET_SECOND(pytime)) * 1000000LL 
+</div><div class="line"><a name="l00031"></a><span class="lineno">   
31</span>&#160;          PyDateTime_TIME_GET_MICROSECOND(pytime));</div><div 
class="line"><a name="l00032"></a><span class="lineno">   32</span>&
 #160;}</div><div class="line"><a name="l00033"></a><span class="lineno">   
33</span>&#160;</div><div class="line"><a name="l00034"></a><span 
class="lineno">   34</span>&#160;<span class="keyword">static</span> <span 
class="keyword">inline</span> Status PyTime_from_int(int64_t val, <span 
class="keyword">const</span> <a class="code" 
href="structarrow_1_1_time_unit.html#a561ef51c3755bd873f8f86f5bc4ec1ff">TimeUnit::type</a>
 unit,</div><div class="line"><a name="l00035"></a><span class="lineno">   
35</span>&#160;                                     PyObject** out) {</div><div 
class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;  
int64_t hour = 0, minute = 0, second = 0, microsecond = 0;</div><div 
class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;  
<span class="keywordflow">switch</span> (unit) {</div><div class="line"><a 
name="l00038"></a><span class="lineno">   38</span>&#160;    <span 
class="keywordflow">case</span> <a class="code" href="stru
 
ctarrow_1_1_time_unit.html#a561ef51c3755bd873f8f86f5bc4ec1ffa88a677627c74df18d59f1aa6cd1c88d5">TimeUnit::NANO</a>:</div><div
 class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;      
<span class="keywordflow">if</span> (val % 1000 != 0) {</div><div 
class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;       
 std::stringstream ss;</div><div class="line"><a name="l00041"></a><span 
class="lineno">   41</span>&#160;        ss &lt;&lt; <span 
class="stringliteral">&quot;Value &quot;</span> &lt;&lt; val &lt;&lt; <span 
class="stringliteral">&quot; has non-zero nanoseconds&quot;</span>;</div><div 
class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;       
 <span class="keywordflow">return</span> <a class="code" 
href="classarrow_1_1_status.html#aaaa6c0ddc3021415c238ab07353f3195">Status::Invalid</a>(ss.str());</div><div
 class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;      
}</div><div class="line"><a name="l0
 0044"></a><span class="lineno">   44</span>&#160;      val /= 1000;</div><div 
class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    
<span class="comment">// fall through</span></div><div class="line"><a 
name="l00046"></a><span class="lineno">   46</span>&#160;    <span 
class="keywordflow">case</span> <a class="code" 
href="structarrow_1_1_time_unit.html#a561ef51c3755bd873f8f86f5bc4ec1ffaf8ce7e9dc4001c956488dd701d567cb1">TimeUnit::MICRO</a>:</div><div
 class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;      
microsecond = val - (val / 1000000LL) * 1000000LL;</div><div class="line"><a 
name="l00048"></a><span class="lineno">   48</span>&#160;      val /= 
1000000LL;</div><div class="line"><a name="l00049"></a><span class="lineno">   
49</span>&#160;      second = val - (val / 60) * 60;</div><div class="line"><a 
name="l00050"></a><span class="lineno">   50</span>&#160;      val /= 
60;</div><div class="line"><a name="l00051"></a><span class="linen
 o">   51</span>&#160;      minute = val - (val / 60) * 60;</div><div 
class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;      
hour = val / 60;</div><div class="line"><a name="l00053"></a><span 
class="lineno">   53</span>&#160;      <span 
class="keywordflow">break</span>;</div><div class="line"><a 
name="l00054"></a><span class="lineno">   54</span>&#160;    <span 
class="keywordflow">case</span> <a class="code" 
href="structarrow_1_1_time_unit.html#a561ef51c3755bd873f8f86f5bc4ec1ffadc3335445f7fa1b26f9c78754a1f217b">TimeUnit::MILLI</a>:</div><div
 class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      
microsecond = (val - (val / 1000) * 1000) * 1000;</div><div class="line"><a 
name="l00056"></a><span class="lineno">   56</span>&#160;      val /= 
1000;</div><div class="line"><a name="l00057"></a><span class="lineno">   
57</span>&#160;    <span class="comment">// fall through</span></div><div 
class="line"><a name="l00058"></a><span class="lineno
 ">   58</span>&#160;    <span class="keywordflow">case</span> <a class="code" 
href="structarrow_1_1_time_unit.html#a561ef51c3755bd873f8f86f5bc4ec1ffa1c81ae790d85d35422c1757e0b20be7a">TimeUnit::SECOND</a>:</div><div
 class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      
second = val - (val / 60) * 60;</div><div class="line"><a 
name="l00060"></a><span class="lineno">   60</span>&#160;      val /= 
60;</div><div class="line"><a name="l00061"></a><span class="lineno">   
61</span>&#160;      minute = val - (val / 60) * 60;</div><div class="line"><a 
name="l00062"></a><span class="lineno">   62</span>&#160;      hour = val / 
60;</div><div class="line"><a name="l00063"></a><span class="lineno">   
63</span>&#160;      <span class="keywordflow">break</span>;</div><div 
class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    
<span class="keywordflow">default</span>:</div><div class="line"><a 
name="l00065"></a><span class="lineno">   65</span>&#160;   
    <span class="keywordflow">break</span>;</div><div class="line"><a 
name="l00066"></a><span class="lineno">   66</span>&#160;  }</div><div 
class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  *out 
= PyTime_FromTime(static_cast&lt;int32_t&gt;(hour), 
static_cast&lt;int32_t&gt;(minute),</div><div class="line"><a 
name="l00068"></a><span class="lineno">   68</span>&#160;                       
  static_cast&lt;int32_t&gt;(second), 
static_cast&lt;int32_t&gt;(microsecond));</div><div class="line"><a 
name="l00069"></a><span class="lineno">   69</span>&#160;  <span 
class="keywordflow">return</span> <a class="code" 
href="classarrow_1_1_status.html#a5c0b0031db6eeec3dcc70485d24cfe03">Status::OK</a>();</div><div
 class="line"><a name="l00070"></a><span class="lineno">   
70</span>&#160;}</div><div class="line"><a name="l00071"></a><span 
class="lineno">   71</span>&#160;</div><div class="line"><a 
name="l00072"></a><span class="lineno">   72</span>&#160;<span 
class="keyword">st
 atic</span> <span class="keyword">inline</span> int64_t 
PyDate_to_ms(PyDateTime_Date* pydate) {</div><div class="line"><a 
name="l00073"></a><span class="lineno">   73</span>&#160;  <span 
class="keyword">struct </span>tm date = {0};</div><div class="line"><a 
name="l00074"></a><span class="lineno">   74</span>&#160;  date.tm_year = 
PyDateTime_GET_YEAR(pydate) - 1900;</div><div class="line"><a 
name="l00075"></a><span class="lineno">   75</span>&#160;  date.tm_mon = 
PyDateTime_GET_MONTH(pydate) - 1;</div><div class="line"><a 
name="l00076"></a><span class="lineno">   76</span>&#160;  date.tm_mday = 
PyDateTime_GET_DAY(pydate);</div><div class="line"><a name="l00077"></a><span 
class="lineno">   77</span>&#160;  <span class="keyword">struct </span>tm epoch 
= {0};</div><div class="line"><a name="l00078"></a><span class="lineno">   
78</span>&#160;  epoch.tm_year = 70;</div><div class="line"><a 
name="l00079"></a><span class="lineno">   79</span>&#160;  epoch.tm_mday = 
1;</div><div class="line"
 ><a name="l00080"></a><span class="lineno">   80</span>&#160;<span 
 >class="preprocessor">#ifdef _MSC_VER</span></div><div class="line"><a 
 >name="l00081"></a><span class="lineno">   81</span>&#160;  <span 
 >class="comment">// Milliseconds since the epoch</span></div><div 
 >class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;  
 ><span class="keyword">const</span> int64_t current_timestamp = <span 
 >class="keyword">static_cast&lt;</span>int64_t<span 
 >class="keyword">&gt;</span>(_mkgmtime64(&amp;date));</div><div 
 >class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  
 ><span class="keyword">const</span> int64_t epoch_timestamp = <span 
 >class="keyword">static_cast&lt;</span>int64_t<span 
 >class="keyword">&gt;</span>(_mkgmtime64(&amp;epoch));</div><div 
 >class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  
 ><span class="keywordflow">return</span> (current_timestamp - epoch_timestamp) 
 >* 1000LL;</div><div class="line"><a name="l00085"></a><span cl
 ass="lineno">   85</span>&#160;<span 
class="preprocessor">#else</span></div><div class="line"><a 
name="l00086"></a><span class="lineno">   86</span>&#160;  <span 
class="keywordflow">return</span> lrint(difftime(mktime(&amp;date), 
mktime(&amp;epoch)) * 1000);</div><div class="line"><a name="l00087"></a><span 
class="lineno">   87</span>&#160;<span 
class="preprocessor">#endif</span></div><div class="line"><a 
name="l00088"></a><span class="lineno">   88</span>&#160;}</div><div 
class="line"><a name="l00089"></a><span class="lineno">   
89</span>&#160;</div><div class="line"><a name="l00090"></a><span 
class="lineno">   90</span>&#160;<span class="keyword">static</span> <span 
class="keyword">inline</span> int64_t PyDateTime_to_us(PyDateTime_DateTime* 
pydatetime) {</div><div class="line"><a name="l00091"></a><span class="lineno"> 
  91</span>&#160;  <span class="keyword">struct </span>tm datetime = 
{0};</div><div class="line"><a name="l00092"></a><span class="lineno">   
92</span>&#160;  datet
 ime.tm_year = PyDateTime_GET_YEAR(pydatetime) - 1900;</div><div 
class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  
datetime.tm_mon = PyDateTime_GET_MONTH(pydatetime) - 1;</div><div 
class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  
datetime.tm_mday = PyDateTime_GET_DAY(pydatetime);</div><div class="line"><a 
name="l00095"></a><span class="lineno">   95</span>&#160;  datetime.tm_hour = 
PyDateTime_DATE_GET_HOUR(pydatetime);</div><div class="line"><a 
name="l00096"></a><span class="lineno">   96</span>&#160;  datetime.tm_min = 
PyDateTime_DATE_GET_MINUTE(pydatetime);</div><div class="line"><a 
name="l00097"></a><span class="lineno">   97</span>&#160;  datetime.tm_sec = 
PyDateTime_DATE_GET_SECOND(pydatetime);</div><div class="line"><a 
name="l00098"></a><span class="lineno">   98</span>&#160;  <span 
class="keywordtype">int</span> us = 
PyDateTime_DATE_GET_MICROSECOND(pydatetime);</div><div class="line"><a 
name="l00099"></a><span class="lineno"> 
   99</span>&#160;  <span class="keyword">struct </span>tm epoch = 
{0};</div><div class="line"><a name="l00100"></a><span class="lineno">  
100</span>&#160;  epoch.tm_year = 70;</div><div class="line"><a 
name="l00101"></a><span class="lineno">  101</span>&#160;  epoch.tm_mday = 
1;</div><div class="line"><a name="l00102"></a><span class="lineno">  
102</span>&#160;<span class="preprocessor">#ifdef _MSC_VER</span></div><div 
class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  
<span class="comment">// Microseconds since the epoch</span></div><div 
class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  
<span class="keyword">const</span> int64_t current_timestamp = <span 
class="keyword">static_cast&lt;</span>int64_t<span 
class="keyword">&gt;</span>(_mkgmtime64(&amp;datetime));</div><div 
class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  
<span class="keyword">const</span> int64_t epoch_timestamp = <span 
class="keyword">static_c
 ast&lt;</span>int64_t<span 
class="keyword">&gt;</span>(_mkgmtime64(&amp;epoch));</div><div class="line"><a 
name="l00106"></a><span class="lineno">  106</span>&#160;  <span 
class="keywordflow">return</span> (current_timestamp - epoch_timestamp) * 
1000000L + us;</div><div class="line"><a name="l00107"></a><span 
class="lineno">  107</span>&#160;<span 
class="preprocessor">#else</span></div><div class="line"><a 
name="l00108"></a><span class="lineno">  108</span>&#160;  <span 
class="keywordflow">return</span> <span 
class="keyword">static_cast&lt;</span>int64_t<span 
class="keyword">&gt;</span>(</div><div class="line"><a name="l00109"></a><span 
class="lineno">  109</span>&#160;      lrint(difftime(mktime(&amp;datetime), 
mktime(&amp;epoch))) * 1000000 + us);</div><div class="line"><a 
name="l00110"></a><span class="lineno">  110</span>&#160;<span 
class="preprocessor">#endif</span></div><div class="line"><a 
name="l00111"></a><span class="lineno">  111</span>&#160;}</div><div 
class="line"><a na
 me="l00112"></a><span class="lineno">  112</span>&#160;</div><div 
class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span 
class="keyword">static</span> <span class="keyword">inline</span> int32_t 
PyDate_to_days(PyDateTime_Date* pydate) {</div><div class="line"><a 
name="l00114"></a><span class="lineno">  114</span>&#160;  <span 
class="keywordflow">return</span> <span 
class="keyword">static_cast&lt;</span>int32_t<span 
class="keyword">&gt;</span>(PyDate_to_ms(pydate) / 86400000LL);</div><div 
class="line"><a name="l00115"></a><span class="lineno">  
115</span>&#160;}</div><div class="line"><a name="l00116"></a><span 
class="lineno">  116</span>&#160;</div><div class="line"><a 
name="l00117"></a><span class="lineno">  117</span>&#160;}  <span 
class="comment">// namespace py</span></div><div class="line"><a 
name="l00118"></a><span class="lineno">  118</span>&#160;}  <span 
class="comment">// namespace arrow</span></div><div class="line"><a 
name="l00119"></a><span class=
 "lineno">  119</span>&#160;</div><div class="line"><a name="l00120"></a><span 
class="lineno">  120</span>&#160;<span class="preprocessor">#endif  // 
PYARROW_UTIL_DATETIME_H</span></div><div class="ttc" 
id="structarrow_1_1_time_unit_html_a561ef51c3755bd873f8f86f5bc4ec1ffa1c81ae790d85d35422c1757e0b20be7a"><div
 class="ttname"><a 
href="structarrow_1_1_time_unit.html#a561ef51c3755bd873f8f86f5bc4ec1ffa1c81ae790d85d35422c1757e0b20be7a">arrow::TimeUnit::SECOND</a></div><div
 class="ttdef"><b>Definition:</b> type.h:567</div></div>
+<a href="datetime_8h.html">Go to the documentation of this file.</a><div 
class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">   
 1</span>&#160;<span class="comment">// Licensed to the Apache Software 
Foundation (ASF) under one</span></div><div class="line"><a 
name="l00002"></a><span class="lineno">    2</span>&#160;<span 
class="comment">// or more contributor license agreements.  See the NOTICE 
file</span></div><div class="line"><a name="l00003"></a><span class="lineno">   
 3</span>&#160;<span class="comment">// distributed with this work for 
additional information</span></div><div class="line"><a name="l00004"></a><span 
class="lineno">    4</span>&#160;<span class="comment">// regarding copyright 
ownership.  The ASF licenses this file</span></div><div class="line"><a 
name="l00005"></a><span class="lineno">    5</span>&#160;<span 
class="comment">// to you under the Apache License, Version 2.0 
(the</span></div><div class="line"><a name="l00006"></a><span clas
 s="lineno">    6</span>&#160;<span class="comment">// &quot;License&quot;); 
you may not use this file except in compliance</span></div><div class="line"><a 
name="l00007"></a><span class="lineno">    7</span>&#160;<span 
class="comment">// with the License.  You may obtain a copy of the License 
at</span></div><div class="line"><a name="l00008"></a><span class="lineno">    
8</span>&#160;<span class="comment">//</span></div><div class="line"><a 
name="l00009"></a><span class="lineno">    9</span>&#160;<span 
class="comment">//   
http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a 
name="l00010"></a><span class="lineno">   10</span>&#160;<span 
class="comment">//</span></div><div class="line"><a name="l00011"></a><span 
class="lineno">   11</span>&#160;<span class="comment">// Unless required by 
applicable law or agreed to in writing,</span></div><div class="line"><a 
name="l00012"></a><span class="lineno">   12</span>&#160;<span 
class="comment">// software distributed 
 under the License is distributed on an</span></div><div class="line"><a 
name="l00013"></a><span class="lineno">   13</span>&#160;<span 
class="comment">// &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 
ANY</span></div><div class="line"><a name="l00014"></a><span class="lineno">   
14</span>&#160;<span class="comment">// KIND, either express or implied.  See 
the License for the</span></div><div class="line"><a name="l00015"></a><span 
class="lineno">   15</span>&#160;<span class="comment">// specific language 
governing permissions and limitations</span></div><div class="line"><a 
name="l00016"></a><span class="lineno">   16</span>&#160;<span 
class="comment">// under the License.</span></div><div class="line"><a 
name="l00017"></a><span class="lineno">   17</span>&#160;</div><div 
class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span 
class="preprocessor">#ifndef PYARROW_UTIL_DATETIME_H</span></div><div 
class="line"><a name="l00019"></a><span class="lin
 eno">   19</span>&#160;<span class="preprocessor">#define 
PYARROW_UTIL_DATETIME_H</span></div><div class="line"><a 
name="l00020"></a><span class="lineno">   20</span>&#160;</div><div 
class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span 
class="preprocessor">#include &lt;<a class="code" 
href="datetime_8h.html">datetime.h</a>&gt;</span></div><div class="line"><a 
name="l00022"></a><span class="lineno">   22</span>&#160;<span 
class="preprocessor">#include &quot;<a class="code" 
href="platform_8h.html">arrow/python/platform.h</a>&quot;</span></div><div 
class="line"><a name="l00023"></a><span class="lineno">   
23</span>&#160;</div><div class="line"><a name="l00024"></a><span 
class="lineno">   24</span>&#160;<span class="keyword">namespace </span><a 
class="code" href="namespacearrow.html">arrow</a> {</div><div class="line"><a 
name="l00025"></a><span class="lineno">   25</span>&#160;<span 
class="keyword">namespace </span>py {</div><div class="line"><a name="l00026"><
 /a><span class="lineno">   26</span>&#160;</div><div class="line"><a 
name="l00027"></a><span class="lineno">   27</span>&#160;<span 
class="keyword">static</span> <span class="keyword">inline</span> int64_t 
PyTime_to_us(PyObject* pytime) {</div><div class="line"><a 
name="l00028"></a><span class="lineno">   28</span>&#160;  <span 
class="keywordflow">return</span> 
(static_cast&lt;int64_t&gt;(PyDateTime_TIME_GET_HOUR(pytime)) * 3600000000LL 
+</div><div class="line"><a name="l00029"></a><span class="lineno">   
29</span>&#160;          
static_cast&lt;int64_t&gt;(PyDateTime_TIME_GET_MINUTE(pytime)) * 60000000LL 
+</div><div class="line"><a name="l00030"></a><span class="lineno">   
30</span>&#160;          
static_cast&lt;int64_t&gt;(PyDateTime_TIME_GET_SECOND(pytime)) * 1000000LL 
+</div><div class="line"><a name="l00031"></a><span class="lineno">   
31</span>&#160;          PyDateTime_TIME_GET_MICROSECOND(pytime));</div><div 
class="line"><a name="l00032"></a><span class="lineno">   32</span>&
 #160;}</div><div class="line"><a name="l00033"></a><span class="lineno">   
33</span>&#160;</div><div class="line"><a name="l00034"></a><span 
class="lineno">   34</span>&#160;<span class="keyword">static</span> <span 
class="keyword">inline</span> Status PyTime_from_int(int64_t val, <span 
class="keyword">const</span> <a class="code" 
href="structarrow_1_1_time_unit.html#a561ef51c3755bd873f8f86f5bc4ec1ff">TimeUnit::type</a>
 unit,</div><div class="line"><a name="l00035"></a><span class="lineno">   
35</span>&#160;                                     PyObject** out) {</div><div 
class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;  
int64_t hour = 0, minute = 0, second = 0, microsecond = 0;</div><div 
class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;  
<span class="keywordflow">switch</span> (unit) {</div><div class="line"><a 
name="l00038"></a><span class="lineno">   38</span>&#160;    <span 
class="keywordflow">case</span> <a class="code" href="stru
 
ctarrow_1_1_time_unit.html#a561ef51c3755bd873f8f86f5bc4ec1ffa88a677627c74df18d59f1aa6cd1c88d5">TimeUnit::NANO</a>:</div><div
 class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;      
<span class="keywordflow">if</span> (val % 1000 != 0) {</div><div 
class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;       
 std::stringstream ss;</div><div class="line"><a name="l00041"></a><span 
class="lineno">   41</span>&#160;        ss &lt;&lt; <span 
class="stringliteral">&quot;Value &quot;</span> &lt;&lt; val &lt;&lt; <span 
class="stringliteral">&quot; has non-zero nanoseconds&quot;</span>;</div><div 
class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;       
 <span class="keywordflow">return</span> <a class="code" 
href="classarrow_1_1_status.html#aaaa6c0ddc3021415c238ab07353f3195">Status::Invalid</a>(ss.str());</div><div
 class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;      
}</div><div class="line"><a name="l0
 0044"></a><span class="lineno">   44</span>&#160;      val /= 1000;</div><div 
class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    
<span class="comment">// fall through</span></div><div class="line"><a 
name="l00046"></a><span class="lineno">   46</span>&#160;    <span 
class="keywordflow">case</span> <a class="code" 
href="structarrow_1_1_time_unit.html#a561ef51c3755bd873f8f86f5bc4ec1ffaf8ce7e9dc4001c956488dd701d567cb1">TimeUnit::MICRO</a>:</div><div
 class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;      
microsecond = val - (val / 1000000LL) * 1000000LL;</div><div class="line"><a 
name="l00048"></a><span class="lineno">   48</span>&#160;      val /= 
1000000LL;</div><div class="line"><a name="l00049"></a><span class="lineno">   
49</span>&#160;      second = val - (val / 60) * 60;</div><div class="line"><a 
name="l00050"></a><span class="lineno">   50</span>&#160;      val /= 
60;</div><div class="line"><a name="l00051"></a><span class="linen
 o">   51</span>&#160;      minute = val - (val / 60) * 60;</div><div 
class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;      
hour = val / 60;</div><div class="line"><a name="l00053"></a><span 
class="lineno">   53</span>&#160;      <span 
class="keywordflow">break</span>;</div><div class="line"><a 
name="l00054"></a><span class="lineno">   54</span>&#160;    <span 
class="keywordflow">case</span> <a class="code" 
href="structarrow_1_1_time_unit.html#a561ef51c3755bd873f8f86f5bc4ec1ffadc3335445f7fa1b26f9c78754a1f217b">TimeUnit::MILLI</a>:</div><div
 class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      
microsecond = (val - (val / 1000) * 1000) * 1000;</div><div class="line"><a 
name="l00056"></a><span class="lineno">   56</span>&#160;      val /= 
1000;</div><div class="line"><a name="l00057"></a><span class="lineno">   
57</span>&#160;    <span class="comment">// fall through</span></div><div 
class="line"><a name="l00058"></a><span class="lineno
 ">   58</span>&#160;    <span class="keywordflow">case</span> <a class="code" 
href="structarrow_1_1_time_unit.html#a561ef51c3755bd873f8f86f5bc4ec1ffa1c81ae790d85d35422c1757e0b20be7a">TimeUnit::SECOND</a>:</div><div
 class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      
second = val - (val / 60) * 60;</div><div class="line"><a 
name="l00060"></a><span class="lineno">   60</span>&#160;      val /= 
60;</div><div class="line"><a name="l00061"></a><span class="lineno">   
61</span>&#160;      minute = val - (val / 60) * 60;</div><div class="line"><a 
name="l00062"></a><span class="lineno">   62</span>&#160;      hour = val / 
60;</div><div class="line"><a name="l00063"></a><span class="lineno">   
63</span>&#160;      <span class="keywordflow">break</span>;</div><div 
class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    
<span class="keywordflow">default</span>:</div><div class="line"><a 
name="l00065"></a><span class="lineno">   65</span>&#160;   
    <span class="keywordflow">break</span>;</div><div class="line"><a 
name="l00066"></a><span class="lineno">   66</span>&#160;  }</div><div 
class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  *out 
= PyTime_FromTime(static_cast&lt;int32_t&gt;(hour), 
static_cast&lt;int32_t&gt;(minute),</div><div class="line"><a 
name="l00068"></a><span class="lineno">   68</span>&#160;                       
  static_cast&lt;int32_t&gt;(second), 
static_cast&lt;int32_t&gt;(microsecond));</div><div class="line"><a 
name="l00069"></a><span class="lineno">   69</span>&#160;  <span 
class="keywordflow">return</span> <a class="code" 
href="classarrow_1_1_status.html#a5c0b0031db6eeec3dcc70485d24cfe03">Status::OK</a>();</div><div
 class="line"><a name="l00070"></a><span class="lineno">   
70</span>&#160;}</div><div class="line"><a name="l00071"></a><span 
class="lineno">   71</span>&#160;</div><div class="line"><a 
name="l00072"></a><span class="lineno">   72</span>&#160;<span 
class="keyword">st
 atic</span> <span class="keyword">inline</span> int64_t 
PyDate_to_ms(PyDateTime_Date* pydate) {</div><div class="line"><a 
name="l00073"></a><span class="lineno">   73</span>&#160;  <span 
class="keyword">struct </span>tm date = {0};</div><div class="line"><a 
name="l00074"></a><span class="lineno">   74</span>&#160;  date.tm_year = 
PyDateTime_GET_YEAR(pydate) - 1900;</div><div class="line"><a 
name="l00075"></a><span class="lineno">   75</span>&#160;  date.tm_mon = 
PyDateTime_GET_MONTH(pydate) - 1;</div><div class="line"><a 
name="l00076"></a><span class="lineno">   76</span>&#160;  date.tm_mday = 
PyDateTime_GET_DAY(pydate);</div><div class="line"><a name="l00077"></a><span 
class="lineno">   77</span>&#160;  <span class="keyword">struct </span>tm epoch 
= {0};</div><div class="line"><a name="l00078"></a><span class="lineno">   
78</span>&#160;  epoch.tm_year = 70;</div><div class="line"><a 
name="l00079"></a><span class="lineno">   79</span>&#160;  epoch.tm_mday = 
1;</div><div class="line"
 ><a name="l00080"></a><span class="lineno">   80</span>&#160;<span 
 >class="preprocessor">#ifdef _MSC_VER</span></div><div class="line"><a 
 >name="l00081"></a><span class="lineno">   81</span>&#160;  <span 
 >class="comment">// Milliseconds since the epoch</span></div><div 
 >class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;  
 ><span class="keyword">const</span> int64_t current_timestamp = <span 
 >class="keyword">static_cast&lt;</span>int64_t<span 
 >class="keyword">&gt;</span>(_mkgmtime64(&amp;date));</div><div 
 >class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  
 ><span class="keyword">const</span> int64_t epoch_timestamp = <span 
 >class="keyword">static_cast&lt;</span>int64_t<span 
 >class="keyword">&gt;</span>(_mkgmtime64(&amp;epoch));</div><div 
 >class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  
 ><span class="keywordflow">return</span> (current_timestamp - epoch_timestamp) 
 >* 1000LL;</div><div class="line"><a name="l00085"></a><span cl
 ass="lineno">   85</span>&#160;<span 
class="preprocessor">#else</span></div><div class="line"><a 
name="l00086"></a><span class="lineno">   86</span>&#160;  <span 
class="keywordflow">return</span> lrint(difftime(mktime(&amp;date), 
mktime(&amp;epoch)) * 1000);</div><div class="line"><a name="l00087"></a><span 
class="lineno">   87</span>&#160;<span 
class="preprocessor">#endif</span></div><div class="line"><a 
name="l00088"></a><span class="lineno">   88</span>&#160;}</div><div 
class="line"><a name="l00089"></a><span class="lineno">   
89</span>&#160;</div><div class="line"><a name="l00090"></a><span 
class="lineno">   90</span>&#160;<span class="keyword">static</span> <span 
class="keyword">inline</span> int64_t PyDateTime_to_us(PyDateTime_DateTime* 
pydatetime) {</div><div class="line"><a name="l00091"></a><span class="lineno"> 
  91</span>&#160;  <span class="keyword">struct </span>tm datetime = 
{0};</div><div class="line"><a name="l00092"></a><span class="lineno">   
92</span>&#160;  datet
 ime.tm_year = PyDateTime_GET_YEAR(pydatetime) - 1900;</div><div 
class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  
datetime.tm_mon = PyDateTime_GET_MONTH(pydatetime) - 1;</div><div 
class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  
datetime.tm_mday = PyDateTime_GET_DAY(pydatetime);</div><div class="line"><a 
name="l00095"></a><span class="lineno">   95</span>&#160;  datetime.tm_hour = 
PyDateTime_DATE_GET_HOUR(pydatetime);</div><div class="line"><a 
name="l00096"></a><span class="lineno">   96</span>&#160;  datetime.tm_min = 
PyDateTime_DATE_GET_MINUTE(pydatetime);</div><div class="line"><a 
name="l00097"></a><span class="lineno">   97</span>&#160;  datetime.tm_sec = 
PyDateTime_DATE_GET_SECOND(pydatetime);</div><div class="line"><a 
name="l00098"></a><span class="lineno">   98</span>&#160;  <span 
class="keywordtype">int</span> us = 
PyDateTime_DATE_GET_MICROSECOND(pydatetime);</div><div class="line"><a 
name="l00099"></a><span class="lineno"> 
   99</span>&#160;  <span class="keyword">struct </span>tm epoch = 
{0};</div><div class="line"><a name="l00100"></a><span class="lineno">  
100</span>&#160;  epoch.tm_year = 70;</div><div class="line"><a 
name="l00101"></a><span class="lineno">  101</span>&#160;  epoch.tm_mday = 
1;</div><div class="line"><a name="l00102"></a><span class="lineno">  
102</span>&#160;<span class="preprocessor">#ifdef _MSC_VER</span></div><div 
class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  
<span class="comment">// Microseconds since the epoch</span></div><div 
class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  
<span class="keyword">const</span> int64_t current_timestamp = <span 
class="keyword">static_cast&lt;</span>int64_t<span 
class="keyword">&gt;</span>(_mkgmtime64(&amp;datetime));</div><div 
class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  
<span class="keyword">const</span> int64_t epoch_timestamp = <span 
class="keyword">static_c
 ast&lt;</span>int64_t<span 
class="keyword">&gt;</span>(_mkgmtime64(&amp;epoch));</div><div class="line"><a 
name="l00106"></a><span class="lineno">  106</span>&#160;  <span 
class="keywordflow">return</span> (current_timestamp - epoch_timestamp) * 
1000000L + us;</div><div class="line"><a name="l00107"></a><span 
class="lineno">  107</span>&#160;<span 
class="preprocessor">#else</span></div><div class="line"><a 
name="l00108"></a><span class="lineno">  108</span>&#160;  <span 
class="keywordflow">return</span> <span 
class="keyword">static_cast&lt;</span>int64_t<span 
class="keyword">&gt;</span>(</div><div class="line"><a name="l00109"></a><span 
class="lineno">  109</span>&#160;      lrint(difftime(mktime(&amp;datetime), 
mktime(&amp;epoch))) * 1000000 + us);</div><div class="line"><a 
name="l00110"></a><span class="lineno">  110</span>&#160;<span 
class="preprocessor">#endif</span></div><div class="line"><a 
name="l00111"></a><span class="lineno">  111</span>&#160;}</div><div 
class="line"><a na
 me="l00112"></a><span class="lineno">  112</span>&#160;</div><div 
class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span 
class="keyword">static</span> <span class="keyword">inline</span> int32_t 
PyDate_to_days(PyDateTime_Date* pydate) {</div><div class="line"><a 
name="l00114"></a><span class="lineno">  114</span>&#160;  <span 
class="keywordflow">return</span> <span 
class="keyword">static_cast&lt;</span>int32_t<span 
class="keyword">&gt;</span>(PyDate_to_ms(pydate) / 86400000LL);</div><div 
class="line"><a name="l00115"></a><span class="lineno">  
115</span>&#160;}</div><div class="line"><a name="l00116"></a><span 
class="lineno">  116</span>&#160;</div><div class="line"><a 
name="l00117"></a><span class="lineno">  117</span>&#160;}  <span 
class="comment">// namespace py</span></div><div class="line"><a 
name="l00118"></a><span class="lineno">  118</span>&#160;}  <span 
class="comment">// namespace arrow</span></div><div class="line"><a 
name="l00119"></a><span class=
 "lineno">  119</span>&#160;</div><div class="line"><a name="l00120"></a><span 
class="lineno">  120</span>&#160;<span class="preprocessor">#endif  // 
PYARROW_UTIL_DATETIME_H</span></div><div class="ttc" 
id="structarrow_1_1_time_unit_html_a561ef51c3755bd873f8f86f5bc4ec1ffa1c81ae790d85d35422c1757e0b20be7a"><div
 class="ttname"><a 
href="structarrow_1_1_time_unit.html#a561ef51c3755bd873f8f86f5bc4ec1ffa1c81ae790d85d35422c1757e0b20be7a">arrow::TimeUnit::SECOND</a></div><div
 class="ttdef"><b>Definition:</b> type.h:572</div></div>
 <div class="ttc" id="platform_8h_html"><div class="ttname"><a 
href="platform_8h.html">platform.h</a></div></div>
-<div class="ttc" 
id="structarrow_1_1_time_unit_html_a561ef51c3755bd873f8f86f5bc4ec1ff"><div 
class="ttname"><a 
href="structarrow_1_1_time_unit.html#a561ef51c3755bd873f8f86f5bc4ec1ff">arrow::TimeUnit::type</a></div><div
 class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> 
type.h:567</div></div>
+<div class="ttc" 
id="structarrow_1_1_time_unit_html_a561ef51c3755bd873f8f86f5bc4ec1ff"><div 
class="ttname"><a 
href="structarrow_1_1_time_unit.html#a561ef51c3755bd873f8f86f5bc4ec1ff">arrow::TimeUnit::type</a></div><div
 class="ttdeci">type</div><div class="ttdef"><b>Definition:</b> 
type.h:572</div></div>
 <div class="ttc" id="datetime_8h_html"><div class="ttname"><a 
href="datetime_8h.html">datetime.h</a></div></div>
-<div class="ttc" 
id="structarrow_1_1_time_unit_html_a561ef51c3755bd873f8f86f5bc4ec1ffaf8ce7e9dc4001c956488dd701d567cb1"><div
 class="ttname"><a 
href="structarrow_1_1_time_unit.html#a561ef51c3755bd873f8f86f5bc4ec1ffaf8ce7e9dc4001c956488dd701d567cb1">arrow::TimeUnit::MICRO</a></div><div
 class="ttdef"><b>Definition:</b> type.h:567</div></div>
-<div class="ttc" 
id="classarrow_1_1_status_html_a5c0b0031db6eeec3dcc70485d24cfe03"><div 
class="ttname"><a 
href="classarrow_1_1_status.html#a5c0b0031db6eeec3dcc70485d24cfe03">arrow::Status::OK</a></div><div
 class="ttdeci">static Status OK()</div><div class="ttdef"><b>Definition:</b> 
status.h:97</div></div>
-<div class="ttc" 
id="classarrow_1_1_status_html_aaaa6c0ddc3021415c238ab07353f3195"><div 
class="ttname"><a 
href="classarrow_1_1_status.html#aaaa6c0ddc3021415c238ab07353f3195">arrow::Status::Invalid</a></div><div
 class="ttdeci">static Status Invalid(const std::string &amp;msg)</div><div 
class="ttdef"><b>Definition:</b> status.h:120</div></div>
-<div class="ttc" 
id="structarrow_1_1_time_unit_html_a561ef51c3755bd873f8f86f5bc4ec1ffa88a677627c74df18d59f1aa6cd1c88d5"><div
 class="ttname"><a 
href="structarrow_1_1_time_unit.html#a561ef51c3755bd873f8f86f5bc4ec1ffa88a677627c74df18d59f1aa6cd1c88d5">arrow::TimeUnit::NANO</a></div><div
 class="ttdef"><b>Definition:</b> type.h:567</div></div>
-<div class="ttc" 
id="structarrow_1_1_time_unit_html_a561ef51c3755bd873f8f86f5bc4ec1ffadc3335445f7fa1b26f9c78754a1f217b"><div
 class="ttname"><a 
href="structarrow_1_1_time_unit.html#a561ef51c3755bd873f8f86f5bc4ec1ffadc3335445f7fa1b26f9c78754a1f217b">arrow::TimeUnit::MILLI</a></div><div
 class="ttdef"><b>Definition:</b> type.h:567</div></div>
+<div class="ttc" 
id="structarrow_1_1_time_unit_html_a561ef51c3755bd873f8f86f5bc4ec1ffaf8ce7e9dc4001c956488dd701d567cb1"><div
 class="ttname"><a 
href="structarrow_1_1_time_unit.html#a561ef51c3755bd873f8f86f5bc4ec1ffaf8ce7e9dc4001c956488dd701d567cb1">arrow::TimeUnit::MICRO</a></div><div
 class="ttdef"><b>Definition:</b> type.h:572</div></div>
+<div class="ttc" 
id="classarrow_1_1_status_html_a5c0b0031db6eeec3dcc70485d24cfe03"><div 
class="ttname"><a 
href="classarrow_1_1_status.html#a5c0b0031db6eeec3dcc70485d24cfe03">arrow::Status::OK</a></div><div
 class="ttdeci">static Status OK()</div><div class="ttdef"><b>Definition:</b> 
status.h:119</div></div>
+<div class="ttc" 
id="classarrow_1_1_status_html_aaaa6c0ddc3021415c238ab07353f3195"><div 
class="ttname"><a 
href="classarrow_1_1_status.html#aaaa6c0ddc3021415c238ab07353f3195">arrow::Status::Invalid</a></div><div
 class="ttdeci">static Status Invalid(const std::string &amp;msg)</div><div 
class="ttdef"><b>Definition:</b> status.h:142</div></div>
+<div class="ttc" 
id="structarrow_1_1_time_unit_html_a561ef51c3755bd873f8f86f5bc4ec1ffa88a677627c74df18d59f1aa6cd1c88d5"><div
 class="ttname"><a 
href="structarrow_1_1_time_unit.html#a561ef51c3755bd873f8f86f5bc4ec1ffa88a677627c74df18d59f1aa6cd1c88d5">arrow::TimeUnit::NANO</a></div><div
 class="ttdef"><b>Definition:</b> type.h:572</div></div>
+<div class="ttc" 
id="structarrow_1_1_time_unit_html_a561ef51c3755bd873f8f86f5bc4ec1ffadc3335445f7fa1b26f9c78754a1f217b"><div
 class="ttname"><a 
href="structarrow_1_1_time_unit.html#a561ef51c3755bd873f8f86f5bc4ec1ffadc3335445f7fa1b26f9c78754a1f217b">arrow::TimeUnit::MILLI</a></div><div
 class="ttdef"><b>Definition:</b> type.h:572</div></div>
 <div class="ttc" id="namespacearrow_html"><div class="ttname"><a 
href="namespacearrow.html">arrow</a></div><div class="ttdoc">Top-level 
namespace for Apache Arrow C++ API. </div><div class="ttdef"><b>Definition:</b> 
allocator.h:28</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->

http://git-wip-us.apache.org/repos/asf/arrow-site/blob/a4dfae21/docs/cpp/decimal_8h.html
----------------------------------------------------------------------
diff --git a/docs/cpp/decimal_8h.html b/docs/cpp/decimal_8h.html
index d92257b..99ea72e 100644
--- a/docs/cpp/decimal_8h.html
+++ b/docs/cpp/decimal_8h.html
@@ -66,36 +66,24 @@ $(function() {
   <div class="summary">
 <a href="#nested-classes">Classes</a> &#124;
 <a href="#namespaces">Namespaces</a> &#124;
-<a href="#typedef-members">Typedefs</a> &#124;
 <a href="#func-members">Functions</a>  </div>
   <div class="headertitle">
 <div class="title">decimal.h File Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="textblock"><code>#include &lt;cmath&gt;</code><br />
-<code>#include &lt;cstdlib&gt;</code><br />
-<code>#include &lt;iterator&gt;</code><br />
+<div class="textblock"><code>#include &lt;array&gt;</code><br />
+<code>#include &lt;cstdint&gt;</code><br />
 <code>#include &lt;string&gt;</code><br />
+<code>#include &lt;type_traits&gt;</code><br />
 <code>#include &quot;<a class="el" 
href="status_8h_source.html">arrow/status.h</a>&quot;</code><br />
-<code>#include &quot;<a class="el" 
href="bit-util_8h_source.html">arrow/util/bit-util.h</a>&quot;</code><br />
-<code>#include &quot;<a class="el" 
href="logging_8h_source.html">arrow/util/logging.h</a>&quot;</code><br />
-<code>#include &lt;boost/multiprecision/cpp_int.hpp&gt;</code><br />
+<code>#include &quot;<a class="el" 
href="visibility_8h_source.html">arrow/util/visibility.h</a>&quot;</code><br />
 </div>
 <p><a href="decimal_8h_source.html">Go to the source code of this file.</a></p>
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a 
name="nested-classes"></a>
 Classes</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct 
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="structarrow_1_1decimal_1_1_decimal.html">arrow::decimal::Decimal&lt; T 
&gt;</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct 
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="structarrow_1_1decimal_1_1_decimal.html">arrow::decimal::Decimal&lt; T 
&gt;</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct 
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="structarrow_1_1decimal_1_1_decimal_precision.html">arrow::decimal::DecimalPrecision&lt;
 T &gt;</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct 
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="structarrow_1_1decimal_1_1_decimal_precision_3_01int32__t_01_4.html">arrow::decimal::DecimalPrecision&lt;
 int32_t &gt;</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct 
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="structarrow_1_1decimal_1_1_decimal_precision_3_01int64__t_01_4.html">arrow::decimal::DecimalPrecision&lt;
 int64_t &gt;</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct 
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="structarrow_1_1decimal_1_1_decimal_precision_3_01int128__t_01_4.html">arrow::decimal::DecimalPrecision&lt;
 int128_t &gt;</a></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class 
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="classarrow_1_1_decimal128.html">arrow::Decimal128</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td 
class="mdescRight">Represents a signed 128-bit integer in two's complement.  <a 
href="classarrow_1_1_decimal128.html#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a 
name="namespaces"></a>
@@ -103,46 +91,33 @@ Namespaces</h2></td></tr>
 <tr class="memitem:namespacearrow"><td class="memItemLeft" align="right" 
valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="namespacearrow.html">arrow</a></td></tr>
 <tr class="memdesc:namespacearrow"><td class="mdescLeft">&#160;</td><td 
class="mdescRight">Top-level namespace for Apache Arrow C++ API. <br 
/></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:namespacearrow_1_1decimal"><td class="memItemLeft" 
align="right" valign="top"> &#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow_1_1decimal.html">arrow::decimal</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a 
name="typedef-members"></a>
-Typedefs</h2></td></tr>
-<tr class="memitem:a50355962eac4d6cdba26b35e4fd04e42"><td class="memItemLeft" 
align="right" valign="top">using&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow_1_1decimal.html#a50355962eac4d6cdba26b35e4fd04e42">arrow::decimal::Decimal32</a>
 = Decimal&lt; int32_t &gt;</td></tr>
-<tr class="separator:a50355962eac4d6cdba26b35e4fd04e42"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2209fbfc9988ce9e9638ac177955bd59"><td class="memItemLeft" 
align="right" valign="top">using&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow_1_1decimal.html#a2209fbfc9988ce9e9638ac177955bd59">arrow::decimal::Decimal64</a>
 = Decimal&lt; int64_t &gt;</td></tr>
-<tr class="separator:a2209fbfc9988ce9e9638ac177955bd59"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4c1617fe86996a9666a1e559a7ee2cda"><td class="memItemLeft" 
align="right" valign="top">using&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow_1_1decimal.html#a4c1617fe86996a9666a1e559a7ee2cda">arrow::decimal::Decimal128</a>
 = Decimal&lt; int128_t &gt;</td></tr>
-<tr class="separator:a4c1617fe86996a9666a1e559a7ee2cda"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a 
name="func-members"></a>
 Functions</h2></td></tr>
-<tr class="memitem:a6afad42fc4d82a39f887de378831a3f7"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow_1_1decimal.html#a6afad42fc4d82a39f887de378831a3f7">arrow::decimal::StringToInteger</a>
 (const std::string &amp;whole, const std::string &amp;fractional, int8_t sign, 
int32_t *out)</td></tr>
-<tr class="separator:a6afad42fc4d82a39f887de378831a3f7"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6757b6d3d936e6fde8284df46b5d4eb7"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow_1_1decimal.html#a6757b6d3d936e6fde8284df46b5d4eb7">arrow::decimal::StringToInteger</a>
 (const std::string &amp;whole, const std::string &amp;fractional, int8_t sign, 
int64_t *out)</td></tr>
-<tr class="separator:a6757b6d3d936e6fde8284df46b5d4eb7"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5d66feb7d15b4f4696141b52a539872e"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow_1_1decimal.html#a5d66feb7d15b4f4696141b52a539872e">arrow::decimal::StringToInteger</a>
 (const std::string &amp;whole, const std::string &amp;fractional, int8_t sign, 
int128_t *out)</td></tr>
-<tr class="separator:a5d66feb7d15b4f4696141b52a539872e"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3c19141f4b7535fcf6b6d28c4d2f65a2"><td 
class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr class="memitem:a3c19141f4b7535fcf6b6d28c4d2f65a2"><td 
class="memTemplItemLeft" align="right" valign="top">Status&#160;</td><td 
class="memTemplItemRight" valign="bottom"><a class="el" 
href="namespacearrow_1_1decimal.html#a3c19141f4b7535fcf6b6d28c4d2f65a2">arrow::decimal::FromString</a>
 (const std::string &amp;s, Decimal&lt; T &gt; *out, int *precision=nullptr, 
int *scale=nullptr)</td></tr>
-<tr class="separator:a3c19141f4b7535fcf6b6d28c4d2f65a2"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af56bba58a8ee43c37e5c38585fdfd56d"><td 
class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
-<tr class="memitem:af56bba58a8ee43c37e5c38585fdfd56d"><td 
class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td 
class="memTemplItemRight" valign="bottom"><a class="el" 
href="namespacearrow_1_1decimal.html#af56bba58a8ee43c37e5c38585fdfd56d">arrow::decimal::ToString</a>
 (const Decimal&lt; T &gt; &amp;decimal_value, int precision, int 
scale)</td></tr>
-<tr class="separator:af56bba58a8ee43c37e5c38585fdfd56d"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1975af90ff866271f5c4cc959e022c16"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow_1_1decimal.html#a1975af90ff866271f5c4cc959e022c16">arrow::decimal::FromBytes</a>
 (const uint8_t *bytes, Decimal32 *value)</td></tr>
-<tr class="memdesc:a1975af90ff866271f5c4cc959e022c16"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Conversion from raw bytes 
to a <a class="el" href="structarrow_1_1decimal_1_1_decimal.html">Decimal</a> 
value.  <a 
href="namespacearrow_1_1decimal.html#a1975af90ff866271f5c4cc959e022c16">More...</a><br
 /></td></tr>
-<tr class="separator:a1975af90ff866271f5c4cc959e022c16"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acabc2b352fcdcafff85ffe715adec980"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow_1_1decimal.html#acabc2b352fcdcafff85ffe715adec980">arrow::decimal::FromBytes</a>
 (const uint8_t *bytes, Decimal64 *value)</td></tr>
-<tr class="separator:acabc2b352fcdcafff85ffe715adec980"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a864eb8dca4afc698e8cf1859800f6aaa"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow_1_1decimal.html#a864eb8dca4afc698e8cf1859800f6aaa">arrow::decimal::FromBytes</a>
 (const uint8_t *bytes, bool is_negative, Decimal128 *decimal)</td></tr>
-<tr class="separator:a864eb8dca4afc698e8cf1859800f6aaa"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab734c81c4ccf4b89ce93304173901dc1"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow_1_1decimal.html#ab734c81c4ccf4b89ce93304173901dc1">arrow::decimal::ToBytes</a>
 (const Decimal32 &amp;value, uint8_t **bytes)</td></tr>
-<tr class="memdesc:ab734c81c4ccf4b89ce93304173901dc1"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Conversion from a <a 
class="el" href="structarrow_1_1decimal_1_1_decimal.html">Decimal</a> value to 
raw bytes.  <a 
href="namespacearrow_1_1decimal.html#ab734c81c4ccf4b89ce93304173901dc1">More...</a><br
 /></td></tr>
-<tr class="separator:ab734c81c4ccf4b89ce93304173901dc1"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaa275ef29e0ae2d68e4f28a68d259698"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow_1_1decimal.html#aaa275ef29e0ae2d68e4f28a68d259698">arrow::decimal::ToBytes</a>
 (const Decimal64 &amp;value, uint8_t **bytes)</td></tr>
-<tr class="separator:aaa275ef29e0ae2d68e4f28a68d259698"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6f498ea7605dcf60b6104b37bcf93ad0"><td class="memItemLeft" 
align="right" valign="top">void&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow_1_1decimal.html#a6f498ea7605dcf60b6104b37bcf93ad0">arrow::decimal::ToBytes</a>
 (const Decimal128 &amp;decimal, uint8_t **bytes, bool *is_negative)</td></tr>
-<tr class="separator:a6f498ea7605dcf60b6104b37bcf93ad0"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a51e61f82cdc796c8190f74b19a883b71"><td class="memItemLeft" 
align="right" valign="top">bool&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow.html#a51e61f82cdc796c8190f74b19a883b71">arrow::operator==</a>
 (const Decimal128 &amp;left, const Decimal128 &amp;right)</td></tr>
+<tr class="separator:a51e61f82cdc796c8190f74b19a883b71"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad313674a9e69cb868c9c36db2a168f38"><td class="memItemLeft" 
align="right" valign="top">bool&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow.html#ad313674a9e69cb868c9c36db2a168f38">arrow::operator!=</a>
 (const Decimal128 &amp;left, const Decimal128 &amp;right)</td></tr>
+<tr class="separator:ad313674a9e69cb868c9c36db2a168f38"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a00e97294150b521f706f5a11f564e92d"><td class="memItemLeft" 
align="right" valign="top">bool&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow.html#a00e97294150b521f706f5a11f564e92d">arrow::operator&lt;</a>
 (const Decimal128 &amp;left, const Decimal128 &amp;right)</td></tr>
+<tr class="separator:a00e97294150b521f706f5a11f564e92d"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b2da1d163682b3192990fcafb033898"><td class="memItemLeft" 
align="right" valign="top">bool&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow.html#a7b2da1d163682b3192990fcafb033898">arrow::operator&lt;=</a>
 (const Decimal128 &amp;left, const Decimal128 &amp;right)</td></tr>
+<tr class="separator:a7b2da1d163682b3192990fcafb033898"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab681299bc6b014a221b0af43d41e4b65"><td class="memItemLeft" 
align="right" valign="top">bool&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow.html#ab681299bc6b014a221b0af43d41e4b65">arrow::operator&gt;</a>
 (const Decimal128 &amp;left, const Decimal128 &amp;right)</td></tr>
+<tr class="separator:ab681299bc6b014a221b0af43d41e4b65"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac67110f6c0e89c45337d7e55e9904abe"><td class="memItemLeft" 
align="right" valign="top">bool&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow.html#ac67110f6c0e89c45337d7e55e9904abe">arrow::operator&gt;=</a>
 (const Decimal128 &amp;left, const Decimal128 &amp;right)</td></tr>
+<tr class="separator:ac67110f6c0e89c45337d7e55e9904abe"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1afbc3cbe738530b93a6e278f45d27d9"><td class="memItemLeft" 
align="right" valign="top">Decimal128&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow.html#a1afbc3cbe738530b93a6e278f45d27d9">arrow::operator-</a>
 (const Decimal128 &amp;operand)</td></tr>
+<tr class="separator:a1afbc3cbe738530b93a6e278f45d27d9"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3774a724f5011f76dd26afaf94e3b89d"><td class="memItemLeft" 
align="right" valign="top">Decimal128&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow.html#a3774a724f5011f76dd26afaf94e3b89d">arrow::operator+</a>
 (const Decimal128 &amp;left, const Decimal128 &amp;right)</td></tr>
+<tr class="separator:a3774a724f5011f76dd26afaf94e3b89d"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab7b0ad6b45ec460b28117b2502cee86e"><td class="memItemLeft" 
align="right" valign="top">Decimal128&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow.html#ab7b0ad6b45ec460b28117b2502cee86e">arrow::operator-</a>
 (const Decimal128 &amp;left, const Decimal128 &amp;right)</td></tr>
+<tr class="separator:ab7b0ad6b45ec460b28117b2502cee86e"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa66ea6168f23fdccd88518616e5104ab"><td class="memItemLeft" 
align="right" valign="top">Decimal128&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow.html#aa66ea6168f23fdccd88518616e5104ab">arrow::operator*</a>
 (const Decimal128 &amp;left, const Decimal128 &amp;right)</td></tr>
+<tr class="separator:aa66ea6168f23fdccd88518616e5104ab"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6f5fc6bffa009f45c4f2b54ce6678149"><td class="memItemLeft" 
align="right" valign="top">Decimal128&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow.html#a6f5fc6bffa009f45c4f2b54ce6678149">arrow::operator/</a>
 (const Decimal128 &amp;left, const Decimal128 &amp;right)</td></tr>
+<tr class="separator:a6f5fc6bffa009f45c4f2b54ce6678149"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4fa0dcbab734b9edda844b3d1f03bbe6"><td class="memItemLeft" 
align="right" valign="top">Decimal128&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="namespacearrow.html#a4fa0dcbab734b9edda844b3d1f03bbe6">arrow::operator%</a>
 (const Decimal128 &amp;left, const Decimal128 &amp;right)</td></tr>
+<tr class="separator:a4fa0dcbab734b9edda844b3d1f03bbe6"><td 
class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
 <!-- start footer part -->

Reply via email to