⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ckn_strnum.cpp

📁 一个不错
💻 CPP
📖 第 1 页 / 共 2 页
字号:
   // base sample + "e1"   {"0e1",3,0,0,0,1},{"+0e1",4,0,0,0,1},{"-0e1",4,0,0,0,1},   {".0e1",4,0,0,-1,1},{"+.0e1",5,0,0,-1,1},{"-.0e1",5,0,0,-1,1},   {".00e1",5,0,0,-2,1},{"+.00e1",6,0,0,-2,1},{"-.00e1",6,0,0,-2,1},   {"0.e1",4,0,0,0,1},{"+0.e1",5,0,0,0,1},{"-0.e1",5,0,0,0,1},   {"0.0e1",5,0,0,-1,1},{"+0.0e1",6,0,0,-1,1},{"-0.0e1",6,0,0,-1,1},   {"00.0e1",6,0,0,-1,1},{"+00.0e1",7,0,0,-1,1},{"-00.0e1",7,0,0,-1,1},   {"0.010e1",7,0,10,-3,1},{"+0.010e1",8,0,10,-3,1},{"-0.010e1",8,0,-10,-3,1},   {"123e1",5,123,0,0,1}, {"+123e1",6,123,0,0,1}, {"-123e1",6,-123,0,0,1},   {".123e1",6,0,123,-3,1}, {"+.123e1",7,0,123,-3,1}, {"-.123e1",7,0,-123,-3,1},   {".120e1",6,0,120,-3,1}, {"+.120e1",7,0,120,-3,1}, {"-.120e1",7,0,-120,-3,1},   {"123.e1",6,123,0,0,1},{"+123.e1",7,123,0,0,1},{"-123.e1",7,-123,0,0,1},   {"123.0e1",7,123,0,-1,1},{"+123.0e1",8,123,0,-1,1},{"-123.0e1",8,-123,0,-1,1},   {"23.45e1",7,23,45,-2,1},{"+23.45e1",8,23,45,-2,1},{"-23.45e1",8,-23,-45,-2,1},   {"23.40e1",7,23,40,-2,1},{"+23.40e1",8,23,40,-2,1},{"-23.40e1",8,-23,-40,-2,1},   // base sample + "e+1"   {"0e+1",4,0,0,0,1},{"+0e+1",5,0,0,0,1},{"-0e+1",5,0,0,0,1},   {".0e+1",5,0,0,-1,1},{"+.0e+1",6,0,0,-1,1},{"-.0e+1",6,0,0,-1,1},   {".00e+1",6,0,0,-2,1},{"+.00e+1",7,0,0,-2,1},{"-.00e+1",7,0,0,-2,1},   {"0.e+1",5,0,0,0,1},{"+0.e+1",6,0,0,0,1},{"-0.e+1",6,0,0,0,1},   {"0.0e+1",6,0,0,-1,1},{"+0.0e+1",7,0,0,-1,1},{"-0.0e+1",7,0,0,-1,1},   {"00.0e+1",7,0,0,-1,1},{"+00.0e+1",8,0,0,-1,1},{"-00.0e+1",8,0,0,-1,1},   {"0.010e+1",8,0,10,-3,1},{"+0.010e+1",9,0,10,-3,1},{"-0.010e+1",9,0,-10,-3,1},   {"123e+1",6,123,0,0,1}, {"+123e+1",7,123,0,0,1}, {"-123e+1",7,-123,0,0,1},   {".123e+1",7,0,123,-3,1}, {"+.123e+1",8,0,123,-3,1}, {"-.123e+1",8,0,-123,-3,1},   {".120e+1",7,0,120,-3,1}, {"+.120e+1",8,0,120,-3,1}, {"-.120e+1",8,0,-120,-3,1},   {"123.e+1",7,123,0,0,1},{"+123.e+1",8,123,0,0,1},{"-123.e+1",8,-123,0,0,1},   {"123.0e+1",8,123,0,-1,1},{"+123.0e+1",9,123,0,-1,1},{"-123.0e+1",9,-123,0,-1,1},   {"23.45e+1",8,23,45,-2,1},{"+23.45e+1",9,23,45,-2,1},{"-23.45e+1",9,-23,-45,-2,1},   {"23.40e+1",8,23,40,-2,1},{"+23.40e+1",9,23,40,-2,1},{"-23.40e+1",9,-23,-40,-2,1},   // base sample + "e-1"   {"0e-1",4,0,0,0,-1},{"+0e-1",5,0,0,0,-1},{"-0e-1",5,0,0,0,-1},   {".0e-1",5,0,0,-1,-1},{"+.0e-1",6,0,0,-1,-1},{"-.0e-1",6,0,0,-1,-1},   {".00e-1",6,0,0,-2,-1},{"+.00e-1",7,0,0,-2,-1},{"-.00e-1",7,0,0,-2,-1},   {"0.e-1",5,0,0,0,-1},{"+0.e-1",6,0,0,0,-1},{"-0.e-1",6,0,0,0,-1},   {"0.0e-1",6,0,0,-1,-1},{"+0.0e-1",7,0,0,-1,-1},{"-0.0e-1",7,0,0,-1,-1},   {"00.0e-1",7,0,0,-1,-1},{"+00.0e-1",8,0,0,-1,-1},{"-00.0e-1",8,0,0,-1,-1},   {"0.010e-1",8,0,10,-3,-1},{"+0.010e-1",9,0,10,-3,-1},{"-0.010e-1",9,0,-10,-3,-1},   {"123e-1",6,123,0,0,-1}, {"+123e-1",7,123,0,0,-1}, {"-123e-1",7,-123,0,0,-1},   {".123e-1",7,0,123,-3,-1}, {"+.123e-1",8,0,123,-3,-1}, {"-.123e-1",8,0,-123,-3,-1},   {".120e-1",7,0,120,-3,-1}, {"+.120e-1",8,0,120,-3,-1}, {"-.120e-1",8,0,-120,-3,-1},   {"123.e-1",7,123,0,0,-1},{"+123.e-1",8,123,0,0,-1},{"-123.e-1",8,-123,0,0,-1},   {"123.0e-1",8,123,0,-1,-1},{"+123.0e-1",9,123,0,-1,-1},{"-123.0e-1",9,-123,0,-1,-1},   {"23.45e-1",8,23,45,-2,-1},{"+23.45e-1",9,23,45,-2,-1},{"-23.45e-1",9,-23,-45,-2,-1},   {"23.40e-1",8,23,40,-2,-1},{"+23.40e-1",9,23,40,-2,-1},{"-23.40e-1",9,-23,-40,-2,-1},   // base sample + "E1"  (these expressions are checked, check for 'E')   {"0E1",3,0,0,0,1},{"+0E1",4,0,0,0,1},{"-0E1",4,0,0,0,1},   {".0E1",4,0,0,-1,1},{"+.0E1",5,0,0,-1,1},{"-.0E1",5,0,0,-1,1},   {".00E1",5,0,0,-2,1},{"+.00E1",6,0,0,-2,1},{"-.00E1",6,0,0,-2,1},   {"0.E1",4,0,0,0,1},{"+0.E1",5,0,0,0,1},{"-0.E1",5,0,0,0,1},   {"0.0E1",5,0,0,-1,1},{"+0.0E1",6,0,0,-1,1},{"-0.0E1",6,0,0,-1,1},   {"00.0E1",6,0,0,-1,1},{"+00.0E1",7,0,0,-1,1},{"-00.0E1",7,0,0,-1,1},   {"0.010E1",7,0,10,-3,1},{"+0.010E1",8,0,10,-3,1},{"-0.010E1",8,0,-10,-3,1},   {"123E1",5,123,0,0,1}, {"+123E1",6,123,0,0,1}, {"-123E1",6,-123,0,0,1},   {".123E1",6,0,123,-3,1}, {"+.123E1",7,0,123,-3,1}, {"-.123E1",7,0,-123,-3,1},   {".120E1",6,0,120,-3,1}, {"+.120E1",7,0,120,-3,1}, {"-.120E1",7,0,-120,-3,1},   {"123.E1",6,123,0,0,1},{"+123.E1",7,123,0,0,1},{"-123.E1",7,-123,0,0,1},   {"123.0E1",7,123,0,-1,1},{"+123.0E1",8,123,0,-1,1},{"-123.0E1",8,-123,0,-1,1},   {"23.45E1",7,23,45,-2,1},{"+23.45E1",8,23,45,-2,1},{"-23.45E1",8,-23,-45,-2,1},   {"23.40E1",7,23,40,-2,1},{"+23.40E1",8,23,40,-2,1},{"-23.40E1",8,-23,-40,-2,1}, }; for(size_t i=0; i<sizeof(chk_tab)/sizeof(ChkSmp3<NumT>); ++i) {   chk_tab[i].verify(); } WyRet r; NumT res1,res2; int res3; const char* endptr; //{ // NumT Max=std::numeric_limits<NumT>::max(); // NumT Min=std::numeric_limits<NumT>::min(); //} // check error {   const char s1[]="a";   int frdig=100;   res1=res2=100;   res3=100;   if((r=Wy::wy_strnum3(res1,res2,frdig,res3,&endptr,s1,sizeof(s1)-1))!=Wym_ENOENT) {     WY_THROW(r);   }   if(endptr-s1!=0) {     WY_THROW( WyRet() );   }   if(res1!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res2!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res3!=0) {     WY_THROW( WyRet() );   }   if((r=Wy::wy_strnum3(res1,res2,frdig,res3,&endptr,"",0))!=Wym_ENOENT) {     WY_THROW(r);   } } {   const char s1[]="2a";   int frdig=100;   res1=res2=100;   res3=100;   if((r=Wy::wy_strnum3(res1,res2,frdig,res3,&endptr,s1,sizeof(s1)-1))!=Wym_EBADMSG) {     WY_THROW(r);   }   if(endptr-s1!=1) {     WY_THROW( WyRet() );   }   if(res1!=NumT(2)) {     WY_THROW( WyRet() );   }   if(res2!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res3!=0) {     WY_THROW( WyRet() );   } } {   const char s1[]="2ea";   int frdig=100;   res1=res2=100;   res3=100;   if((r=Wy::wy_strnum3(res1,res2,frdig,res3,&endptr,s1,sizeof(s1)-1))!=Wym_EBADMSG) {     WY_THROW(r);   }   if(endptr-s1!=1) {     WY_THROW( WyRet() );   }   if(res1!=NumT(2)) {     WY_THROW( WyRet() );   }   if(res2!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res3!=0) {     WY_THROW( WyRet() );   } } {   const char s1[]=".";   int frdig=100;   res1=res2=100;   res3=100;   if((r=Wy::wy_strnum3(res1,res2,frdig,res3,&endptr,s1,sizeof(s1)-1))!=Wym_ENOENT) {     WY_THROW(r);   }   if(endptr-s1!=0) {     WY_THROW( WyRet() );   }   if(res1!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res2!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res3!=0) {     WY_THROW( WyRet() );   } } {   const char s1[]=".e";   int frdig=100;   res1=res2=100;   res3=100;   if((r=Wy::wy_strnum3(res1,res2,frdig,res3,&endptr,s1,sizeof(s1)-1))!=Wym_ENOENT) {     WY_THROW(r);   }   if(endptr-s1!=0) {     WY_THROW( WyRet() );   }   if(res1!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res2!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res3!=0) {     WY_THROW( WyRet() );   } } {   const char s1[]="-.";   int frdig=100;   res1=res2=100;   res3=100;   if((r=Wy::wy_strnum3(res1,res2,frdig,res3,&endptr,s1,sizeof(s1)-1))!=Wym_ENOENT) {     WY_THROW(r);   }   if(endptr-s1!=0) {     WY_THROW( WyRet() );   }   if(res1!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res2!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res3!=0) {     WY_THROW( WyRet() );   } } {   const char s1[]="-.e";   int frdig=100;   res1=res2=100;   res3=100;   if((r=Wy::wy_strnum3(res1,res2,frdig,res3,&endptr,s1,sizeof(s1)-1))!=Wym_ENOENT) {     WY_THROW(r);   }   if(endptr-s1!=0) {     WY_THROW( WyRet() );   }   if(res1!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res2!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res3!=0) {     WY_THROW( WyRet() );   } } {   const char s1[]=".x";   int frdig=100;   res1=res2=100;   res3=100;   if((r=Wy::wy_strnum3(res1,res2,frdig,res3,&endptr,s1,sizeof(s1)-1))!=Wym_ENOENT) {     WY_THROW(r);   }   if(endptr-s1!=0) {     WY_THROW( WyRet() );   }   if(res1!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res2!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res3!=0) {     WY_THROW( WyRet() );   } } {   const char s1[]=".3x";   int frdig=100;   res1=res2=100;   res3=100;   if((r=Wy::wy_strnum3(res1,res2,frdig,res3,&endptr,s1,sizeof(s1)-1))!=Wym_EBADMSG) {     WY_THROW(r);   }   if(endptr-s1!=2) {     WY_THROW( WyRet() );   }   if(res1!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res2!=NumT(3)) {     WY_THROW( WyRet() );   }   if(res3!=0) {     WY_THROW( WyRet() );   } } {   const char s1[]="+.3x";   int frdig=100;   res1=res2=100;   res3=100;   if((r=Wy::wy_strnum3(res1,res2,frdig,res3,&endptr,s1,sizeof(s1)-1))!=Wym_EBADMSG) {     WY_THROW(r);   }   if(endptr-s1!=3) {     WY_THROW( WyRet() );   }   if(res1!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res2!=NumT(3)) {     WY_THROW( WyRet() );   }   if(res3!=0) {     WY_THROW( WyRet() );   } } {   const char s1[]="-.3x";   int frdig=100;   res1=res2=100;   res3=100;   if((r=Wy::wy_strnum3(res1,res2,frdig,res3,&endptr,s1,sizeof(s1)-1))!=Wym_EBADMSG) {     WY_THROW(r);   }   if(endptr-s1!=3) {     WY_THROW( WyRet() );   }   if(res1!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res2!=NumT(-3)) {     WY_THROW( WyRet() );   }   if(res3!=0) {     WY_THROW( WyRet() );   } } {   const char s1[]="-.3e";   int frdig=100;   res1=res2=100;   res3=100;   if((r=Wy::wy_strnum3(res1,res2,frdig,res3,&endptr,s1,sizeof(s1)-1))!=Wym_EBADMSG) {     WY_THROW(r);   }   if(endptr-s1!=3) {     WY_THROW( WyRet() );   }   if(res1!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res2!=NumT(-3)) {     WY_THROW( WyRet() );   }   if(res3!=0) {     WY_THROW( WyRet() );   } } {   const char s1[]="1.x";   int frdig=100;   res1=res2=100;   res3=100;   if((r=Wy::wy_strnum3(res1,res2,frdig,res3,&endptr,s1,sizeof(s1)-1))!=Wym_EBADMSG) {     WY_THROW(r);   }   if(endptr-s1!=2) {     WY_THROW( WyRet() );   }   if(res1!=NumT(1)) {     WY_THROW( WyRet() );   }   if(res2!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res3!=0) {     WY_THROW( WyRet() );   } } {   const char s1[]="1.e";   int frdig=100;   res1=res2=100;   res3=100;   if((r=Wy::wy_strnum3(res1,res2,frdig,res3,&endptr,s1,sizeof(s1)-1))!=Wym_EBADMSG) {     WY_THROW(r);   }   if(endptr-s1!=2) {     WY_THROW( WyRet() );   }   if(res1!=NumT(1)) {     WY_THROW( WyRet() );   }   if(res2!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res3!=0) {     WY_THROW( WyRet() );   } } {   const char s1[]="+1.x";   int frdig=100;   res1=res2=100;   res3=100;   if((r=Wy::wy_strnum3(res1,res2,frdig,res3,&endptr,s1,sizeof(s1)-1))!=Wym_EBADMSG) {     WY_THROW(r);   }   if(endptr-s1!=3) {     WY_THROW( WyRet() );   }   if(res1!=NumT(1)) {     WY_THROW( WyRet() );   }   if(res2!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res3!=0) {     WY_THROW( WyRet() );   } } {   const char s1[]="+1.e";   int frdig=100;   res1=res2=100;   res3=100;   if((r=Wy::wy_strnum3(res1,res2,frdig,res3,&endptr,s1,sizeof(s1)-1))!=Wym_EBADMSG) {     WY_THROW(r);   }   if(endptr-s1!=3) {     WY_THROW( WyRet() );   }   if(res1!=NumT(1)) {     WY_THROW( WyRet() );   }   if(res2!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res3!=0) {     WY_THROW( WyRet() );   } } {   const char s1[]="-1.x";   int frdig=100;   res1=res2=100;   res3=100;   if((r=Wy::wy_strnum3(res1,res2,frdig,res3,&endptr,s1,sizeof(s1)-1))!=Wym_EBADMSG) {     WY_THROW(r);   }   if(endptr-s1!=3) {     WY_THROW( WyRet() );   }   if(res1!=NumT(-1)) {     WY_THROW( WyRet() );   }   if(res2!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res3!=0) {     WY_THROW( WyRet() );   } } {   const char s1[]="-1ee";   int frdig=100;   res1=res2=100;   res3=100;   if((r=Wy::wy_strnum3(res1,res2,frdig,res3,&endptr,s1,sizeof(s1)-1))!=Wym_EBADMSG) {     WY_THROW(r);   }   if(endptr-s1!=2) {     WY_THROW( WyRet() );   }   if(res1!=NumT(-1)) {     WY_THROW( WyRet() );   }   if(res2!=NumT(0)) {     WY_THROW( WyRet() );   }   if(res3!=0) {     WY_THROW( WyRet() );   } } {   const char s1[]="12.34ee";   int frdig=100;   res1=res2=100;   res3=100;   if((r=Wy::wy_strnum3(res1,res2,frdig,res3,&endptr,s1,sizeof(s1)-1))!=Wym_EBADMSG) {     WY_THROW(r);   }   if(endptr-s1!=5) {     WY_THROW( WyRet() );   }   if(res1!=NumT(12)) {     WY_THROW( WyRet() );   }   if(res2!=NumT(34)) {     WY_THROW( WyRet() );   }   if(res3!=0) {     WY_THROW( WyRet() );   } }};void ck_strnum(void){ ck_strnum2_typed<signed int>(); ck_strnum2_typed<signed long>(); ck_strnum2_typed<signed long long>(); ck_strnum3_typed<signed int>(); ck_strnum3_typed<signed long>(); ck_strnum3_typed<signed long long>();};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -