1# Licensed to the Apache Software Foundation (ASF) under one 2# or more contributor license agreements. See the NOTICE file 3# distributed with this work for additional information 4# regarding copyright ownership. The ASF licenses this file 5# to you under the Apache License, Version 2.0 (the 6# "License"); you may not use this file except in compliance 7# with the License. You may obtain a copy of the License at 8# 9# http://www.apache.org/licenses/LICENSE-2.0 10# 11# Unless required by applicable law or agreed to in writing, 12# software distributed under the License is distributed on an 13# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14# KIND, either express or implied. See the License for the 15# specific language governing permissions and limitations 16# under the License. 17 18module Arrow 19 class Decimal256 20 alias_method :to_s_raw, :to_s 21 22 # @overload to_s 23 # 24 # @return [String] 25 # The string representation of the decimal. 26 # 27 # @overload to_s(scale) 28 # 29 # @param scale [Integer] The scale of the decimal. 30 # @return [String] 31 # The string representation of the decimal including the scale. 32 # 33 # @since 3.0.0 34 def to_s(scale=nil) 35 if scale 36 to_string_scale(scale) 37 else 38 to_s_raw 39 end 40 end 41 42 alias_method :abs!, :abs 43 44 # @since 3.0.0 45 def abs 46 copied = dup 47 copied.abs! 48 copied 49 end 50 51 alias_method :negate!, :negate 52 53 # @since 3.0.0 54 def negate 55 copied = dup 56 copied.negate! 57 copied 58 end 59 end 60end 61