From 3c79402933e6c8961c72a57bf65f54f7244e21ef Mon Sep 17 00:00:00 2001 From: Valk Richard Li <48872266+ValKmjolnir@users.noreply.github.com> Date: Sat, 15 Feb 2020 16:34:42 +0800 Subject: [PATCH] Delete numeral_misc.h --- version2.0/numeral_misc.h | 152 -------------------------------------- 1 file changed, 152 deletions(-) delete mode 100644 version2.0/numeral_misc.h diff --git a/version2.0/numeral_misc.h b/version2.0/numeral_misc.h deleted file mode 100644 index b8bc5e8..0000000 --- a/version2.0/numeral_misc.h +++ /dev/null @@ -1,152 +0,0 @@ -#ifndef __NUMERAL_MISC_H__ -#define __NUMERAL_MISC_H__ - -bool check_numerable_string(std::string str) -{ - if(str.length()>1 && str[0]=='-') - { - // in lexer this statements are useless - // because lexer judge a number that begins with 0~9 (or 0x for hex & 0o for oct) - std::string temp=""; - int str_len=str.length(); - for(int i=1;i2 && str[0]=='0' && str[1]=='x') - { - int str_len=str.length(); - for(int i=2;i2 && str[0]=='0' && str[1]=='o') - { - int str_len=str.length(); - for(int i=2;i1) || (str[0]=='.') || (!float_dot_cnt && str[0]=='0')) - return false; - return true; - } - return false; -} - -double trans_string_to_number(std::string str) -{ - bool is_negative=false; - if(str.length()>1 && str[0]=='-') - { - // in parse this statements are useless - // because lexer recognizes a number that begins with a '0'~'9' char - std::string temp=""; - int str_len=str.length(); - for(int i=1;i1;--i) - { - if('0'<=str[i] && str[i]<='9') - hex_number+=bit_pow*(str[i]-'0'); - else if('a'<=str[i] && str[i]<='f') - hex_number+=bit_pow*(10+str[i]-'a'); - else - hex_number+=bit_pow*(10+str[i]-'A'); - bit_pow<<=4; - } - trans_str_number=(double)hex_number; - } - else if(str[0]=='0' && str[1]=='o') - { - long long int oct_number=0,bit_pow=1; - for(int i=str.length()-1;i>1;--i) - { - oct_number+=bit_pow*(str[i]-'0'); - bit_pow<<=3; - } - trans_str_number=(double)oct_number; - } - else - { - int float_dot_place=str.length(); - int str_len=str.length(); - double pow; - for(int i=0;i=0;--i) - { - trans_str_number+=pow*(double(str[i]-'0')); - pow*=10; - } - } - if(is_negative) - trans_str_number*=-1; - return trans_str_number; -} - -std::string trans_number_to_string(double number) -{ - std::string trans_num_string=""; - if(number<0) - { - trans_num_string+='-'; - number*=-1; - } - double integer_bit=1; - while(number>=integer_bit) - integer_bit*=10; - integer_bit/=10; - while(integer_bit!=0.1) - { - trans_num_string+=(char)('0'+(int(number/integer_bit))); - number-=(double)(int(number/integer_bit))*integer_bit; - integer_bit/=10; - } - if(number!=0) - trans_num_string+='.'; - while(number!=0) - { - trans_num_string+=(char)('0'+int(number*10)); - number*=10; - number-=(double)(int(number)); - } - return trans_num_string; -} - -#endif