github.com/andeya/ameda@v1.5.3/float32.go (about)

     1  package ameda
     2  
     3  import (
     4  	"fmt"
     5  	"math"
     6  )
     7  
     8  // Float32ToInterface converts float32 to interface.
     9  func Float32ToInterface(v float32) interface{} {
    10  	return v
    11  }
    12  
    13  // Float32ToInterfacePtr converts float32 to *interface.
    14  func Float32ToInterfacePtr(v float32) *interface{} {
    15  	r := Float32ToInterface(v)
    16  	return &r
    17  }
    18  
    19  // Float32ToString converts float32 to string.
    20  func Float32ToString(v float32) string {
    21  	return fmt.Sprintf("%f", v)
    22  }
    23  
    24  // Float32ToStringPtr converts float32 to *string.
    25  func Float32ToStringPtr(v float32) *string {
    26  	r := Float32ToString(v)
    27  	return &r
    28  }
    29  
    30  // Float32ToBool converts float32 to bool.
    31  func Float32ToBool(v float32) bool {
    32  	return v != 0
    33  }
    34  
    35  // Float32ToBoolPtr converts float32 to *bool.
    36  func Float32ToBoolPtr(v float32) *bool {
    37  	r := Float32ToBool(v)
    38  	return &r
    39  }
    40  
    41  // Float32ToFloat32Ptr converts float32 to *float32.
    42  func Float32ToFloat32Ptr(v float32) *float32 {
    43  	return &v
    44  }
    45  
    46  // Float32ToFloat64 converts float32 to float64.
    47  func Float32ToFloat64(v float32) float64 {
    48  	return float64(v)
    49  }
    50  
    51  // Float32ToFloat64Ptr converts float32 to *float64.
    52  func Float32ToFloat64Ptr(v float32) *float64 {
    53  	r := Float32ToFloat64(v)
    54  	return &r
    55  }
    56  
    57  // Float32ToInt converts float32 to int.
    58  func Float32ToInt(v float32) (int, error) {
    59  	if Host64bit {
    60  		if v > math.MaxInt64 || v < math.MinInt64 {
    61  			return 0, errOverflowValue
    62  		}
    63  	} else {
    64  		if v > math.MaxInt32 || v < math.MinInt32 {
    65  			return 0, errOverflowValue
    66  		}
    67  	}
    68  	return int(v), nil
    69  
    70  }
    71  
    72  // Float32ToInt8 converts float32 to int8.
    73  func Float32ToInt8(v float32) (int8, error) {
    74  	if v > math.MaxInt8 || v < math.MinInt8 {
    75  		return 0, errOverflowValue
    76  	}
    77  	return int8(v), nil
    78  }
    79  
    80  // Float32ToInt8Ptr converts float32 to *int8.
    81  func Float32ToInt8Ptr(v float32) (*int8, error) {
    82  	r, err := Float32ToInt8(v)
    83  	return &r, err
    84  }
    85  
    86  // Float32ToInt16 converts float32 to int16.
    87  func Float32ToInt16(v float32) (int16, error) {
    88  	if v > math.MaxInt16 || v < math.MinInt16 {
    89  		return 0, errOverflowValue
    90  	}
    91  	return int16(v), nil
    92  }
    93  
    94  // Float32ToInt16Ptr converts float32 to *int16.
    95  func Float32ToInt16Ptr(v float32) (*int16, error) {
    96  	r, err := Float32ToInt16(v)
    97  	return &r, err
    98  }
    99  
   100  // Float32ToInt32 converts float32 to int32.
   101  func Float32ToInt32(v float32) (int32, error) {
   102  	if v > math.MaxInt32 || v < math.MinInt32 {
   103  		return 0, errOverflowValue
   104  	}
   105  	return int32(v), nil
   106  }
   107  
   108  // Float32ToInt32Ptr converts float32 to *int32.
   109  func Float32ToInt32Ptr(v float32) (*int32, error) {
   110  	r, err := Float32ToInt32(v)
   111  	return &r, err
   112  }
   113  
   114  // Float32ToInt64 converts float32 to int64.
   115  func Float32ToInt64(v float32) (int64, error) {
   116  	if v > math.MaxInt64 || v < math.MinInt64 {
   117  		return 0, errOverflowValue
   118  	}
   119  	return int64(v), nil
   120  }
   121  
   122  // Float32ToInt64Ptr converts float32 to *int64.
   123  func Float32ToInt64Ptr(v float32) (*int64, error) {
   124  	r, err := Float32ToInt64(v)
   125  	return &r, err
   126  }
   127  
   128  // Float32ToUint converts float32 to uint.
   129  func Float32ToUint(v float32) (uint, error) {
   130  	if v < 0 {
   131  		return 0, errNegativeValue
   132  	}
   133  	if Host64bit {
   134  		if v > math.MaxUint64 {
   135  			return 0, errOverflowValue
   136  		}
   137  	} else {
   138  		if v > math.MaxUint32 {
   139  			return 0, errOverflowValue
   140  		}
   141  	}
   142  	return uint(v), nil
   143  }
   144  
   145  // Float32ToUintPtr converts float32 to *uint.
   146  func Float32ToUintPtr(v float32) (*uint, error) {
   147  	r, err := Float32ToUint(v)
   148  	return &r, err
   149  }
   150  
   151  // Float32ToUint8 converts float32 to uint8.
   152  func Float32ToUint8(v float32) (uint8, error) {
   153  	if v < 0 {
   154  		return 0, errNegativeValue
   155  	}
   156  	if v > math.MaxUint8 {
   157  		return 0, errOverflowValue
   158  	}
   159  	return uint8(v), nil
   160  }
   161  
   162  // Float32ToUint8Ptr converts float32 to *uint8.
   163  func Float32ToUint8Ptr(v float32) (*uint8, error) {
   164  	r, err := Float32ToUint8(v)
   165  	return &r, err
   166  }
   167  
   168  // Float32ToUint16 converts float32 to uint16.
   169  func Float32ToUint16(v float32) (uint16, error) {
   170  	if v < 0 {
   171  		return 0, errNegativeValue
   172  	}
   173  	if v > math.MaxUint16 {
   174  		return 0, errOverflowValue
   175  	}
   176  	return uint16(v), nil
   177  }
   178  
   179  // Float32ToUint16Ptr converts float32 to *uint16.
   180  func Float32ToUint16Ptr(v float32) (*uint16, error) {
   181  	r, err := Float32ToUint16(v)
   182  	return &r, err
   183  }
   184  
   185  // Float32ToUint32 converts float32 to uint32.
   186  func Float32ToUint32(v float32) (uint32, error) {
   187  	if v < 0 {
   188  		return 0, errNegativeValue
   189  	}
   190  	if v > math.MaxUint32 {
   191  		return 0, errOverflowValue
   192  	}
   193  	return uint32(v), nil
   194  }
   195  
   196  // Float32ToUint32Ptr converts float32 to *uint32.
   197  func Float32ToUint32Ptr(v float32) (*uint32, error) {
   198  	r, err := Float32ToUint32(v)
   199  	return &r, err
   200  }
   201  
   202  // Float32ToUint64 converts float32 to uint64.
   203  func Float32ToUint64(v float32) (uint64, error) {
   204  	if v < 0 {
   205  		return 0, errNegativeValue
   206  	}
   207  	if v > math.MaxUint64 {
   208  		return 0, errOverflowValue
   209  	}
   210  	return uint64(v), nil
   211  }
   212  
   213  // Float32ToUint64Ptr converts float32 to *uint64.
   214  func Float32ToUint64Ptr(v float32) (*uint64, error) {
   215  	r, err := Float32ToUint64(v)
   216  	return &r, err
   217  }