Changeset 11d9bec in tol
- Timestamp:
- Nov 21, 2011, 11:53:04 AM (15 years ago)
- Branches:
- 1941-docker-image-to-test, devel, master
- Children:
- 523e2d1
- Parents:
- 9f6ab11
- File:
-
- 1 edited
-
tol/btol/serie_type/tsrgrav.cpp (modified) (19 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tol/btol/serie_type/tsrgrav.cpp
r9f6ab11 r11d9bec 85 85 //-------------------------------------------------------------------- 86 86 { 87 if(!Dating()) { return(BDat::Unknown()); } 87 BDat dat; 88 BUserTimeSet* dating = Dating(); 89 if(dating && (dating->Inf()<=dte) && (dating->Sup()>=dte)) 90 { 88 91 BUniformDist var(Real(Arg(1)),Real(Arg(2))); 89 return(var.Random()); 92 dat = var.Random(); 93 } 94 return(dat); 90 95 } 91 96 … … 125 130 BDat BTsrGaussian::GetDat(const BDate& dte) 126 131 { 127 BDat newValue; 132 BDat dat; 133 BUserTimeSet* dating = Dating(); 134 if(dating && (dating->Inf()<=dte) && (dating->Sup()>=dte)) 135 { 128 136 std::map<double, BDat>::const_iterator keyIterator; 129 130 if(!Dating()) newValue = BDat::Unknown(); 131 else { 132 keyIterator = valuesMap_.find(dte.Hash()); 133 if(keyIterator == valuesMap_.end()) { 134 newValue = dist_.Random(); 135 valuesMap_.insert(std::pair<double, BDat>(dte.Hash(), newValue)); 136 } else newValue = keyIterator->second; 137 } 138 139 return(newValue); 137 keyIterator = valuesMap_.find(dte.Hash()); 138 if(keyIterator == valuesMap_.end()) 139 { 140 dat = dist_.Random(); 141 valuesMap_.insert(std::pair<double, BDat>(dte.Hash(), dat)); 142 } 143 else 144 { 145 dat = keyIterator->second; 146 } 147 } 148 return(dat); 140 149 } 141 150 … … 179 188 //-------------------------------------------------------------------- 180 189 { 181 if(!Dating()) { return(BDat::Unknown()); } 182 if(dte == Center()) { return(BDat(1.0)); } 183 else { return(BDat(0.0)); } 184 } 185 190 BDat dat; 191 BUserTimeSet* dating = Dating(); 192 if(dating && (dating->Inf()<=dte) && (dating->Sup()>=dte)) 193 { 194 if(!Dating()) { return(BDat::Unknown()); } 195 if(dte == Center()) { return(BDat(1.0)); } 196 else { return(BDat(0.0)); } 197 } 198 return(dat); 199 } 186 200 187 201 //-------------------------------------------------------------------- … … 199 213 //-------------------------------------------------------------------- 200 214 { 201 if(!Dating()) { return(BDat::Unknown()); } 202 if(dte == Center()) { return(BDat( 1.0)); } 203 else if(dte == PostCenter()) { return(BDat(-1.0)); } 204 else { return(BDat( 0.0)); } 215 BDat dat; 216 BUserTimeSet* dating = Dating(); 217 if(dating && (dating->Inf()<=dte) && (dating->Sup()>=dte)) 218 { 219 if(dte == Center()) { return(BDat( 1.0)); } 220 else if(dte == PostCenter()) { return(BDat(-1.0)); } 221 else { return(BDat( 0.0)); } 222 } 223 return(dat); 205 224 } 206 225 … … 220 239 //-------------------------------------------------------------------- 221 240 { 222 if(!Dating()) { return(BDat::Unknown()); } 223 if(dte >= Center()) { return(BDat(1.0)); } 224 else { return(BDat(0.0)); } 241 BDat dat; 242 BUserTimeSet* dating = Dating(); 243 if(dating && (dating->Inf()<=dte) && (dating->Sup()>=dte)) 244 { 245 if(dte >= Center()) { return(BDat(1.0)); } 246 else { return(BDat(0.0)); } 247 } 248 return(dat); 249 225 250 } 226 251 … … 242 267 //-------------------------------------------------------------------- 243 268 { 244 BDate d; 245 if(!Dating()) { return(BDat::Unknown()); } 246 if(dte<Center()) { return(BDat(0.0)); } 247 else { 248 d = Dating()->FirstNoLess (Center()); 249 return(Dating()->Difference(d, dte)+1); 250 } 269 BDat dat; 270 BUserTimeSet* dating = Dating(); 271 if(dating && (dating->Inf()<=dte) && (dating->Sup()>=dte)) 272 { 273 BDate d; 274 if(dte<Center()) { return(BDat(0.0)); } 275 else 276 { 277 d = dating->FirstNoLess (Center()); 278 return(dating->Difference(d, dte)+1); 279 } 280 } 281 return(dat); 251 282 } 252 283 … … 278 309 //-------------------------------------------------------------------- 279 310 { 280 if(!Dating()) { return(BDat::Unknown()); } 281 BDat dat; 282 if(d0!=d1) 283 { 284 if(y1!=y0) 285 { 286 BReal pendient = (y1-y0)/Dating()->Difference(d0, d1); 287 dat = y0 + pendient*Dating()->Difference(d0, dte); 288 } 289 else 290 { 291 dat = y0; 311 BDat dat; 312 BUserTimeSet* dating = Dating(); 313 if(dating && (dating->Inf()<=dte) && (dating->Sup()>=dte)) 314 { 315 if(d0!=d1) 316 { 317 if(y1!=y0) 318 { 319 BReal pendient = (y1-y0)/Dating()->Difference(d0, d1); 320 dat = y0 + pendient*Dating()->Difference(d0, dte); 321 } 322 else 323 { 324 dat = y0; 325 } 292 326 } 293 327 } … … 320 354 //-------------------------------------------------------------------- 321 355 { 322 if(!Dating()) { return(BDat::Unknown()); } 323 BDat dat; 356 BDat dat; 357 BUserTimeSet* dating = Dating(); 358 if(dating && (dating->Inf()<=dte) && (dating->Sup()>=dte) && center_) 324 359 if(center_) 325 360 { 326 BDate next = dte + Dating();361 BDate next = dte + dating; 327 362 if(next.HasValue()) 328 363 { 329 BDate prev = next - Dating();364 BDate prev = next - dating; 330 365 if(prev.HasValue()) 331 366 { … … 367 402 //-------------------------------------------------------------------- 368 403 { 369 if(!Dating()) { return(BDat::Unknown()); }370 B Dat dat;371 if( center_)404 BDat dat; 405 BUserTimeSet* dating = Dating(); 406 if(dating && (dating->Inf()<=dte) && (dating->Sup()>=dte) && center_) 372 407 { 373 408 dat = center_->Contain(dte); … … 478 513 //-------------------------------------------------------------------- 479 514 { 480 if(!Dating()||!Ser()||!Ser()->Dating()) { return(BDat::Unknown()); } 481 BDate dte2 = dte + Dating() - Ser()->Dating(); 482 483 BUserDate* uDte1 = new BContensDate(dte ); 484 BUserDate* uDte2 = new BContensDate(dte2); 485 486 BList* lst = Cons(Ser(),Cons(uDte1,NCons(uDte2))); 487 BDatStatistic* uDat = (BDatStatistic*)(Stat()->Evaluator(lst)); 488 BDat dat; 489 if(uDat) 490 { 491 dat = uDat->Contens(); 492 DESTROY(uDat); 515 BDat dat; 516 BUserTimeSet* dating = Dating(); 517 if(dating && (dating->Inf()<=dte) && (dating->Sup()>=dte) && Ser() && Ser()->Dating()) 518 { 519 BDate dte2 = dte + Dating() - Ser()->Dating(); 520 BUserDate* uDte1 = new BContensDate(dte ); 521 BUserDate* uDte2 = new BContensDate(dte2); 522 BList* lst = Cons(Ser(),Cons(uDte1,NCons(uDte2))); 523 BDatStatistic* uDat = (BDatStatistic*)(Stat()->Evaluator(lst)); 524 if(uDat) 525 { 526 dat = uDat->Contens(); 527 DESTROY(uDat); 528 } 493 529 } 494 530 return(dat); … … 548 584 //-------------------------------------------------------------------- 549 585 { 550 if(!Dating()) { return(BDat::Unknown()); } 551 BDat dat; 586 BDat dat; 587 BUserTimeSet* dating = Dating(); 588 if(dating && (dating->Inf()<=dte) && (dating->Sup()>=dte)) 589 { 552 590 if(Ser(1)&&Ser(2)) 553 591 { 554 if(Ser(1)->Dating()->Contain(dte)) { dat = (*Ser(1))[dte]; } 555 else { dat = (*Ser(2))[dte]; } 556 } 557 return(dat); 592 if(Ser(1)->Dating()->Contain(dte)) { dat = (*Ser(1))[dte]; } 593 else { dat = (*Ser(2))[dte]; } 594 } 595 } 596 return(dat); 558 597 } 559 598 … … 582 621 { 583 622 //InitTotalTime("BTsrExpand::GetDat"); 584 if(!Dating()) { return(BDat::Unknown()); } 585 BDat dat; 586 BDat val = 0; 587 if(Arg(2)) { val = Dat(Arg(2)); } 588 if(Dating() && (dte>=FirstDate()) && dte<=LastDate()) 589 { 590 if(Data().HasValue()) { dat = data_[GetIndex(dte)]; } 591 else 592 { 593 BInt n=0; 594 BDate d=FirstDate(); 595 BDat lastNotEqual = val; 596 597 GetLength(); 598 Ser()->GetData(data_, FirstDate(),LastDate(),Length()); 599 600 BHash hash; Dating()->GetHashBetween(hash, FirstDate(),LastDate()); 601 BReal h = dte.Hash(); 602 for(; n<Length(); n++) 603 { 604 if(data_[n]==val) 605 { 606 data_[n] = lastNotEqual; 607 } 608 else { lastNotEqual = data_[n]; } 609 if(hash[n]==h) { dat = data_[n]; } 610 d+=Dating(); 623 BDat dat; 624 BUserTimeSet* dating = Dating(); 625 if(dating && (dating->Inf()<=dte) && (dating->Sup()>=dte)) 626 { 627 BDat val = 0; 628 if(Arg(2)) { val = Dat(Arg(2)); } 629 if(Dating() && (dte>=FirstDate()) && dte<=LastDate()) 630 { 631 if(Data().HasValue()) { dat = data_[GetIndex(dte)]; } 632 else 633 { 634 BInt n=0; 635 BDate d=FirstDate(); 636 BDat lastNotEqual = val; 637 GetLength(); 638 Ser()->GetData(data_, FirstDate(),LastDate(),Length()); 639 BHash hash; Dating()->GetHashBetween(hash, FirstDate(),LastDate()); 640 BReal h = dte.Hash(); 641 for(; n<Length(); n++) 642 { 643 if(data_[n]==val) 644 { 645 data_[n] = lastNotEqual; 646 } 647 else { lastNotEqual = data_[n]; } 648 if(hash[n]==h) { dat = data_[n]; } 649 d+=Dating(); 650 } 611 651 } 612 652 } 613 653 } 614 654 //SumPartialTime; 615 616 655 return(dat); 617 656 } … … 689 728 //-------------------------------------------------------------------- 690 729 { 691 if(!Dating()) { return(BDat::Unknown()); } 692 BDat dat; 693 if((dte>=FirstDate()) && (dte<=LastDate())) 694 { 695 if(!IsStochastic()) 696 { 697 dat = Ser()->GetDat(dte); 698 } 699 else if(Data().HasValue()) 700 { 701 bool wasTheBegin = false; 702 if(FirstDate()==BDate::Begin()) 703 { 704 wasTheBegin = true; 705 firstDate_ = BDate::DefaultFirst(); 706 } 707 dat = data_[GetIndex(dte)]; 708 if(wasTheBegin) firstDate_ = BDate::Begin(); 709 } 710 else 711 { 712 GetLength(); 713 Ser()->GetData(data_,FirstDate(),LastDate(),Length()); 714 715 BInt n=0; 716 BDate d = FirstDate(); 717 if(d==BDate::Begin()) d = BDate::DefaultFirst(); 718 BHash hash; Dating()->GetHashBetween(hash, FirstDate(),LastDate()); 719 BReal h = dte.Hash(); 720 721 for(; n<hash.Size(); n++) 722 { 723 hash[n] = d.Hash(); 724 if(hash[n]==h) { dat = data_[n]; } 725 d+=Dating(); 726 } 727 length_ = hash.Size(); 728 CompactData(); 730 BDat dat; 731 BUserTimeSet* dating = Dating(); 732 if(dating && (dating->Inf()<=dte) && (dating->Sup()>=dte)) 733 { 734 if((dte>=FirstDate()) && (dte<=LastDate())) 735 { 736 if(!IsStochastic()) 737 { 738 dat = Ser()->GetDat(dte); 739 } 740 else if(Data().HasValue()) 741 { 742 bool wasTheBegin = false; 743 if(FirstDate()==BDate::Begin()) 744 { 745 wasTheBegin = true; 746 firstDate_ = BDate::DefaultFirst(); 747 } 748 dat = data_[GetIndex(dte)]; 749 if(wasTheBegin) firstDate_ = BDate::Begin(); 750 } 751 else 752 { 753 GetLength(); 754 Ser()->GetData(data_,FirstDate(),LastDate(),Length()); 755 756 BInt n=0; 757 BDate d = FirstDate(); 758 if(d==BDate::Begin()) d = BDate::DefaultFirst(); 759 BHash hash; Dating()->GetHashBetween(hash, FirstDate(),LastDate()); 760 BReal h = dte.Hash(); 761 762 for(; n<hash.Size(); n++) 763 { 764 hash[n] = d.Hash(); 765 if(hash[n]==h) { dat = data_[n]; } 766 d+=Dating(); 767 } 768 length_ = hash.Size(); 769 CompactData(); 770 } 729 771 } 730 772 } … … 787 829 { 788 830 //InitTotalTime("BTsrPolyn::GetDat"); 789 if(!Dating()) { return(BDat::Unknown()); } 790 BDat dat; 791 if(!Length()) 792 { 793 dat = 0.0; 794 for(BInt n = 0; n<pol_.Size(); n++) 795 { 796 BDate d = ser_->Dating()->Prev(dte, pol_[n].Degree()); 797 BDat x = (*ser_)[d]; 798 dat += pol_[n].Coef()*x; 799 } 800 } 801 else if(Data().HasValue()) { dat = data_[GetIndex(dte)]; } 802 else if((dte>=firstDate_) && dte<=lastDate_) 803 { 804 BData serData; 805 ser_->GetData(serData); 806 807 808 BHash hash; Dating()->GetHashBetween(hash, firstDate_,lastDate_); 809 Realloc(hash.Size()); 810 BInt n; 811 BDate d; 812 BReal h = dte.Hash(); 813 814 for(n=0; n<Length(); n++) 815 { 816 data_[n] = 0.0; 817 for(BInt p = 0; p<pol_.Size(); p++) 818 { 819 BInt m = n-pol_[p].Degree()+backward_; 820 BDat x = serData[m]; 821 data_[n] += pol_[p].Coef()*x; 822 } 823 if(hash[n]==h) { dat = data_[n]; } 824 825 } 826 CompactData(); 827 } 828 //SumPartialTime; 831 BDat dat; 832 BUserTimeSet* dating = Dating(); 833 if(dating && (dating->Inf()<=dte) && (dating->Sup()>=dte)) 834 { 835 if(!Length()) 836 { 837 dat = 0.0; 838 for(BInt n = 0; n<pol_.Size(); n++) 839 { 840 BDate d = ser_->Dating()->Prev(dte, pol_[n].Degree()); 841 BDat x = (*ser_)[d]; 842 dat += pol_[n].Coef()*x; 843 } 844 } 845 else if(Data().HasValue()) { dat = data_[GetIndex(dte)]; } 846 else if((dte>=firstDate_) && dte<=lastDate_) 847 { 848 BData serData; 849 ser_->GetData(serData); 850 851 852 BHash hash; Dating()->GetHashBetween(hash, firstDate_,lastDate_); 853 Realloc(hash.Size()); 854 BInt n; 855 BDate d; 856 BReal h = dte.Hash(); 857 858 for(n=0; n<Length(); n++) 859 { 860 data_[n] = 0.0; 861 for(BInt p = 0; p<pol_.Size(); p++) 862 { 863 BInt m = n-pol_[p].Degree()+backward_; 864 BDat x = serData[m]; 865 data_[n] += pol_[p].Coef()*x; 866 } 867 if(hash[n]==h) { dat = data_[n]; } 868 869 } 870 CompactData(); 871 } 872 } 873 //SumPartialTime; 829 874 return(dat); 830 875 } … … 903 948 { 904 949 //nitTotalTime("BTsrDifEq::GetDat"); 905 if(!Dating()) { return(BDat::Unknown()); } 906 BDat dat; 907 if(firstDate_.HasValue() && lastDate_.HasValue() && 908 (dte>=firstDate_) && (dte<=lastDate_)) 909 { 910 if(Data().HasValue()) { dat = data_[GetIndex(dte)]; } 911 else 912 { 913 BInt n=0; 914 BHash hash; Dating()->GetHashBetween(hash, firstDate_,lastDate_); 915 Realloc(hash.Size()); 916 BReal h0 = ser_->FirstDate().Hash(); 917 BReal h = dte.Hash(); 918 919 for(n=0; (n<Length()) && (hash[n]<h0); n++) 920 { 921 data_[n] = (*ini_)[HashToDte(hash[n])]; 922 if(hash[n]==h) { dat = data_[n]; } 923 } 924 925 for(; n<Length(); n++) 926 { 927 data_[n] = (*ser_)[HashToDte(hash[n])]; 928 for(BInt p = 0; p<pol_.Size(); p++) 929 { 930 BInt m = n-pol_[p].Degree(); 931 BDat x = data_[m]; 932 data_[n] += pol_[p].Coef()*x; 933 } 934 if(hash[n]==h) { dat = data_[n]; } 935 } 936 CompactData(); 950 BDat dat; 951 BUserTimeSet* dating = Dating(); 952 if(dating && (dating->Inf()<=dte) && (dating->Sup()>=dte)) 953 { 954 if(firstDate_.HasValue() && lastDate_.HasValue() && 955 (dte>=firstDate_) && (dte<=lastDate_)) 956 { 957 if(Data().HasValue()) { dat = data_[GetIndex(dte)]; } 958 else 959 { 960 BInt n=0; 961 BHash hash; Dating()->GetHashBetween(hash, firstDate_,lastDate_); 962 Realloc(hash.Size()); 963 BReal h0 = ser_->FirstDate().Hash(); 964 BReal h = dte.Hash(); 965 966 for(n=0; (n<Length()) && (hash[n]<h0); n++) 967 { 968 data_[n] = (*ini_)[HashToDte(hash[n])]; 969 if(hash[n]==h) { dat = data_[n]; } 970 } 971 972 for(; n<Length(); n++) 973 { 974 data_[n] = (*ser_)[HashToDte(hash[n])]; 975 for(BInt p = 0; p<pol_.Size(); p++) 976 { 977 BInt m = n-pol_[p].Degree(); 978 BDat x = data_[m]; 979 data_[n] += pol_[p].Coef()*x; 980 } 981 if(hash[n]==h) { dat = data_[n]; } 982 } 983 CompactData(); 984 } 937 985 } 938 986 } … … 1017 1065 //-------------------------------------------------------------------- 1018 1066 { 1019 if(!Dating()) { return(BDat::Unknown()); } 1020 if(!LeftSer() || !RightSer()) { return(BDat::Unknown()); } 1021 if(dte<=Center()) { return((*LeftSer()) [dte]); } 1022 else { return((*RightSer())[dte]); } 1067 BDat dat; 1068 BUserTimeSet* dating = Dating(); 1069 if(dating && (dating->Inf()<=dte) && (dating->Sup()>=dte)) 1070 { 1071 if(!LeftSer() || !RightSer()) { return(BDat::Unknown()); } 1072 if(dte<=Center()) { return((*LeftSer()) [dte]); } 1073 else { return((*RightSer())[dte]); } 1074 } 1075 return(dat); 1023 1076 } 1024 1077 … … 1060 1113 //-------------------------------------------------------------------- 1061 1114 { 1062 if(!Dating()) { return(BDat::Unknown()); } 1063 if(!LeftSer() || !RightSer()) { return(BDat::Unknown()); } 1064 if(dte>=RightSer()->FirstDate()) { return((*RightSer())[dte]); } 1065 else { return((*LeftSer ())[dte]); } 1115 BDat dat; 1116 BUserTimeSet* dating = Dating(); 1117 if(dating && (dating->Inf()<=dte) && (dating->Sup()>=dte)) 1118 { 1119 if(!Dating()) { return(BDat::Unknown()); } 1120 if(!LeftSer() || !RightSer()) { return(BDat::Unknown()); } 1121 if(dte>=RightSer()->FirstDate()) { return((*RightSer())[dte]); } 1122 else { return((*LeftSer ())[dte]); } 1123 } 1124 return(dat); 1066 1125 } 1067 1126 … … 1103 1162 //-------------------------------------------------------------------- 1104 1163 { 1105 if(!Dating()) { return(BDat::Unknown()); } 1106 if(!LeftSer() || !RightSer()) { return(BDat::Unknown()); } 1107 if(dte<=LeftSer()->LastDate()) { return((*LeftSer ())[dte]); } 1108 else { return((*RightSer())[dte]); } 1164 BDat dat; 1165 BUserTimeSet* dating = Dating(); 1166 if(dating && (dating->Inf()<=dte) && (dating->Sup()>=dte)) 1167 { 1168 if(!Dating()) { return(BDat::Unknown()); } 1169 if(!LeftSer() || !RightSer()) { return(BDat::Unknown()); } 1170 if(dte<=LeftSer()->LastDate()) { return((*LeftSer ())[dte]); } 1171 else { return((*RightSer())[dte]); } 1172 } 1173 return(dat); 1109 1174 } 1110 1175 … … 1148 1213 //-------------------------------------------------------------------- 1149 1214 { 1150 if(!Dating()) { return(BDat::Unknown()); } 1151 BDat dat; 1152 if(Data().HasValue()) { dat = data_[GetIndex(dte)]; } 1153 else 1154 { 1155 BInt len = GetLength(); 1156 Realloc(len); 1157 BDate d; 1158 BInt n; 1159 BInt ind=-1; 1160 BData expand(len); 1161 BPol p = rat_ % (len-1); 1162 BHash hash; Dating()->GetHashBetween(hash, FirstDate(),LastDate()); 1163 BReal h = dte.Hash(); 1164 //Std("\nExpansion = "); 1165 for(n=0; n<len; n++) 1166 { 1167 expand[n] = p.Coef(n); 1168 data_[n]=(*ser_)[HashToDte(hash[n])]; 1169 //Std(expand[n].Name()); 1170 //Std(data_[n].Name()); 1171 } 1172 for(n=0; n<len; n++) 1173 { 1174 //Std(BText("\nOmmit[")+d+"]="+(*ommit_)[d]); 1175 if((*ommit_)[d]!=0) 1176 { 1177 BDat pivot = data_[n]; 1178 for(BInt m=n; m<Length(); m++) 1215 BDat dat; 1216 BUserTimeSet* dating = Dating(); 1217 if(dating && (dating->Inf()<=dte) && (dating->Sup()>=dte)) 1218 { 1219 if(Data().HasValue()) { dat = data_[GetIndex(dte)]; } 1220 else 1221 { 1222 BInt len = GetLength(); 1223 Realloc(len); 1224 BDate d; 1225 BInt n; 1226 BInt ind=-1; 1227 BData expand(len); 1228 BPol p = rat_ % (len-1); 1229 BHash hash; Dating()->GetHashBetween(hash, FirstDate(),LastDate()); 1230 BReal h = dte.Hash(); 1231 //Std("\nExpansion = "); 1232 for(n=0; n<len; n++) 1233 { 1234 expand[n] = p.Coef(n); 1235 data_[n]=(*ser_)[HashToDte(hash[n])]; 1236 //Std(expand[n].Name()); 1237 //Std(data_[n].Name()); 1238 } 1239 for(n=0; n<len; n++) 1240 { 1241 //Std(BText("\nOmmit[")+d+"]="+(*ommit_)[d]); 1242 if((*ommit_)[d]!=0) 1179 1243 { 1180 data_[m] -= expand[m-n]*pivot; 1244 BDat pivot = data_[n]; 1245 for(BInt m=n; m<Length(); m++) 1246 { 1247 data_[m] -= expand[m-n]*pivot; 1248 } 1249 //Std(BText("\ndata_[")+n+"]="+data_[n].Name()); 1181 1250 } 1182 //Std(BText("\ndata_[")+n+"]="+data_[n].Name()); 1183 } 1184 if(hash[n]==h) { ind = n; } 1185 } 1186 if(ind>=0) { dat = data_[ind]; } 1187 } 1188 return(dat); 1189 } 1251 if(hash[n]==h) { ind = n; } 1252 } 1253 if(ind>=0) { dat = data_[ind]; } 1254 } 1255 } 1256 return(dat); 1257 }
Note: See TracChangeset
for help on using the changeset viewer.
