📄 vnl_numeric_limits.cxx
字号:
// This is core/vnl/vnl_numeric_limits.cxx
#ifdef VCL_NEEDS_PRAGMA_INTERFACE
#pragma implementation
#endif
//
// numeric_limits
// Author: Andrew W. Fitzgibbon, Oxford RRG
// Created: 28 Aug 96
//
//-----------------------------------------------------------------------------
#include "vnl_numeric_limits.h"
#include <vxl_config.h> // for VXL_BIG_ENDIAN
// ----------------------------------------------------------------------
// Constants for int
const bool vnl_numeric_limits<int>::is_specialized VCL_STATIC_CONST_INIT_INT_DEFN(true);
const int vnl_numeric_limits<int>::digits VCL_STATIC_CONST_INIT_INT_DEFN(31);
const int vnl_numeric_limits<int>::digits10 VCL_STATIC_CONST_INIT_INT_DEFN(9);
const bool vnl_numeric_limits<int>::is_signed VCL_STATIC_CONST_INIT_INT_DEFN(true);
const bool vnl_numeric_limits<int>::is_integer VCL_STATIC_CONST_INIT_INT_DEFN(true);
const bool vnl_numeric_limits<int>::is_exact VCL_STATIC_CONST_INIT_INT_DEFN(true);
const int vnl_numeric_limits<int>::radix VCL_STATIC_CONST_INIT_INT_DEFN(2);
const int vnl_numeric_limits<int>::min_exponent VCL_STATIC_CONST_INIT_INT_DEFN(-31);
const int vnl_numeric_limits<int>::min_exponent10 VCL_STATIC_CONST_INIT_INT_DEFN(-9);
const int vnl_numeric_limits<int>::max_exponent VCL_STATIC_CONST_INIT_INT_DEFN(31);
const int vnl_numeric_limits<int>::max_exponent10 VCL_STATIC_CONST_INIT_INT_DEFN(9);
const bool vnl_numeric_limits<int>::has_infinity VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<int>::has_quiet_NaN VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<int>::has_signaling_NaN VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<int>::has_denorm VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<int>::is_iec559 VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<int>::is_bounded VCL_STATIC_CONST_INIT_INT_DEFN(true);
const bool vnl_numeric_limits<int>::is_modulo VCL_STATIC_CONST_INIT_INT_DEFN(true);
const bool vnl_numeric_limits<int>::traps VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<int>::tinyness_before VCL_STATIC_CONST_INIT_INT_DEFN(false);
const vnl_float_round_style vnl_numeric_limits<int>::round_style VCL_STATIC_CONST_INIT_INT_DEFN(vnl_round_toward_zero);
// ----------------------------------------------------------------------
// Constants for long
const bool vnl_numeric_limits<long>::is_specialized VCL_STATIC_CONST_INIT_INT_DEFN(true);
const int vnl_numeric_limits<long>::digits VCL_STATIC_CONST_INIT_INT_DEFN(31);
const int vnl_numeric_limits<long>::digits10 VCL_STATIC_CONST_INIT_INT_DEFN(9);
const bool vnl_numeric_limits<long>::is_signed VCL_STATIC_CONST_INIT_INT_DEFN(true);
const bool vnl_numeric_limits<long>::is_integer VCL_STATIC_CONST_INIT_INT_DEFN(true);
const bool vnl_numeric_limits<long>::is_exact VCL_STATIC_CONST_INIT_INT_DEFN(true);
const int vnl_numeric_limits<long>::radix VCL_STATIC_CONST_INIT_INT_DEFN(2);
const int vnl_numeric_limits<long>::min_exponent VCL_STATIC_CONST_INIT_INT_DEFN(-31);
const int vnl_numeric_limits<long>::min_exponent10 VCL_STATIC_CONST_INIT_INT_DEFN(-9);
const int vnl_numeric_limits<long>::max_exponent VCL_STATIC_CONST_INIT_INT_DEFN(31);
const int vnl_numeric_limits<long>::max_exponent10 VCL_STATIC_CONST_INIT_INT_DEFN(9);
const bool vnl_numeric_limits<long>::has_infinity VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<long>::has_quiet_NaN VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<long>::has_signaling_NaN VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<long>::has_denorm VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<long>::is_iec559 VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<long>::is_bounded VCL_STATIC_CONST_INIT_INT_DEFN(true);
const bool vnl_numeric_limits<long>::is_modulo VCL_STATIC_CONST_INIT_INT_DEFN(true);
const bool vnl_numeric_limits<long>::traps VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<long>::tinyness_before VCL_STATIC_CONST_INIT_INT_DEFN(false);
const vnl_float_round_style vnl_numeric_limits<long>::round_style VCL_STATIC_CONST_INIT_INT_DEFN(vnl_round_toward_zero);
// ----------------------------------------------------------------------
// Constants for unsigned long
const bool vnl_numeric_limits<unsigned long>::is_specialized VCL_STATIC_CONST_INIT_INT_DEFN(true);
const int vnl_numeric_limits<unsigned long>::digits VCL_STATIC_CONST_INIT_INT_DEFN(sizeof(unsigned long) * 8 );
const int vnl_numeric_limits<unsigned long>::digits10 VCL_STATIC_CONST_INIT_INT_DEFN( (digits * 301) / 1000 );
const bool vnl_numeric_limits<unsigned long>::is_signed VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<unsigned long>::is_integer VCL_STATIC_CONST_INIT_INT_DEFN(true);
const bool vnl_numeric_limits<unsigned long>::is_exact VCL_STATIC_CONST_INIT_INT_DEFN(true);
const int vnl_numeric_limits<unsigned long>::radix VCL_STATIC_CONST_INIT_INT_DEFN(2);
const int vnl_numeric_limits<unsigned long>::min_exponent VCL_STATIC_CONST_INIT_INT_DEFN(-31);
const int vnl_numeric_limits<unsigned long>::min_exponent10 VCL_STATIC_CONST_INIT_INT_DEFN(-9);
const int vnl_numeric_limits<unsigned long>::max_exponent VCL_STATIC_CONST_INIT_INT_DEFN(31);
const int vnl_numeric_limits<unsigned long>::max_exponent10 VCL_STATIC_CONST_INIT_INT_DEFN(9);
const bool vnl_numeric_limits<unsigned long>::has_infinity VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<unsigned long>::has_quiet_NaN VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<unsigned long>::has_signaling_NaN VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<unsigned long>::has_denorm VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<unsigned long>::is_iec559 VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<unsigned long>::is_bounded VCL_STATIC_CONST_INIT_INT_DEFN(true);
const bool vnl_numeric_limits<unsigned long>::is_modulo VCL_STATIC_CONST_INIT_INT_DEFN(true);
const bool vnl_numeric_limits<unsigned long>::traps VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<unsigned long>::tinyness_before VCL_STATIC_CONST_INIT_INT_DEFN(false);
const vnl_float_round_style vnl_numeric_limits<unsigned long>::round_style VCL_STATIC_CONST_INIT_INT_DEFN(vnl_round_toward_zero);
// ----------------------------------------------------------------------
// Constants for unsigned short
const bool vnl_numeric_limits<unsigned short>::is_specialized VCL_STATIC_CONST_INIT_INT_DEFN(true);
const int vnl_numeric_limits<unsigned short>::digits VCL_STATIC_CONST_INIT_INT_DEFN(sizeof(unsigned short) * 8 );
const int vnl_numeric_limits<unsigned short>::digits10 VCL_STATIC_CONST_INIT_INT_DEFN( (digits * 301) / 1000 );
const bool vnl_numeric_limits<unsigned short>::is_signed VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<unsigned short>::is_integer VCL_STATIC_CONST_INIT_INT_DEFN(true);
const bool vnl_numeric_limits<unsigned short>::is_exact VCL_STATIC_CONST_INIT_INT_DEFN(true);
const int vnl_numeric_limits<unsigned short>::radix VCL_STATIC_CONST_INIT_INT_DEFN(2);
const int vnl_numeric_limits<unsigned short>::min_exponent VCL_STATIC_CONST_INIT_INT_DEFN(-31);
const int vnl_numeric_limits<unsigned short>::min_exponent10 VCL_STATIC_CONST_INIT_INT_DEFN(-9);
const int vnl_numeric_limits<unsigned short>::max_exponent VCL_STATIC_CONST_INIT_INT_DEFN(31);
const int vnl_numeric_limits<unsigned short>::max_exponent10 VCL_STATIC_CONST_INIT_INT_DEFN(9);
const bool vnl_numeric_limits<unsigned short>::has_infinity VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<unsigned short>::has_quiet_NaN VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<unsigned short>::has_signaling_NaN VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<unsigned short>::has_denorm VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<unsigned short>::is_iec559 VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<unsigned short>::is_bounded VCL_STATIC_CONST_INIT_INT_DEFN(true);
const bool vnl_numeric_limits<unsigned short>::is_modulo VCL_STATIC_CONST_INIT_INT_DEFN(true);
const bool vnl_numeric_limits<unsigned short>::traps VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<unsigned short>::tinyness_before VCL_STATIC_CONST_INIT_INT_DEFN(false);
const vnl_float_round_style vnl_numeric_limits<unsigned short>::round_style VCL_STATIC_CONST_INIT_INT_DEFN(vnl_round_toward_zero);
// ----------------------------------------------------------------------
// Constants for short
const bool vnl_numeric_limits<short>::is_specialized VCL_STATIC_CONST_INIT_INT_DEFN(true);
const int vnl_numeric_limits<short>::digits VCL_STATIC_CONST_INIT_INT_DEFN(15);
const int vnl_numeric_limits<short>::digits10 VCL_STATIC_CONST_INIT_INT_DEFN(5);
const bool vnl_numeric_limits<short>::is_signed VCL_STATIC_CONST_INIT_INT_DEFN(true);
const bool vnl_numeric_limits<short>::is_integer VCL_STATIC_CONST_INIT_INT_DEFN(true);
const bool vnl_numeric_limits<short>::is_exact VCL_STATIC_CONST_INIT_INT_DEFN(true);
const int vnl_numeric_limits<short>::radix VCL_STATIC_CONST_INIT_INT_DEFN(2);
const int vnl_numeric_limits<short>::min_exponent VCL_STATIC_CONST_INIT_INT_DEFN(-15);
const int vnl_numeric_limits<short>::min_exponent10 VCL_STATIC_CONST_INIT_INT_DEFN(-5);
const int vnl_numeric_limits<short>::max_exponent VCL_STATIC_CONST_INIT_INT_DEFN(15);
const int vnl_numeric_limits<short>::max_exponent10 VCL_STATIC_CONST_INIT_INT_DEFN(5);
const bool vnl_numeric_limits<short>::has_infinity VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<short>::has_quiet_NaN VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<short>::has_signaling_NaN VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<short>::has_denorm VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<short>::is_iec559 VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<short>::is_bounded VCL_STATIC_CONST_INIT_INT_DEFN(true);
const bool vnl_numeric_limits<short>::is_modulo VCL_STATIC_CONST_INIT_INT_DEFN(true);
const bool vnl_numeric_limits<short>::traps VCL_STATIC_CONST_INIT_INT_DEFN(false);
const bool vnl_numeric_limits<short>::tinyness_before VCL_STATIC_CONST_INIT_INT_DEFN(false);
const vnl_float_round_style vnl_numeric_limits<short>::round_style VCL_STATIC_CONST_INIT_INT_DEFN(vnl_round_toward_zero);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -