Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:49:30

0001 /*
0002  * Copyright (c) 2019 Opticks Team. All Rights Reserved.
0003  *
0004  * This file is part of Opticks
0005  * (see https://bitbucket.org/simoncblyth/opticks).
0006  *
0007  * Licensed under the Apache License, Version 2.0 (the "License"); 
0008  * you may not use this file except in compliance with the License.  
0009  * You may obtain a copy of the License at
0010  *
0011  *   http://www.apache.org/licenses/LICENSE-2.0
0012  *
0013  * Unless required by applicable law or agreed to in writing, software 
0014  * distributed under the License is distributed on an "AS IS" BASIS, 
0015  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
0016  * See the License for the specific language governing permissions and 
0017  * limitations under the License.
0018  */
0019 
0020 #include <sstream>
0021 #include "SBase36.hh"
0022 
0023 const char* SBase36::LABELS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" ;
0024 
0025 std::string SBase36::operator()( unsigned int val ) const 
0026 {
0027     //  https://en.wikipedia.org/wiki/Base36
0028     std::stringstream ss ; 
0029     do { ss << LABELS[val % 36] ; } while (val /= 36);
0030     std::string r = ss.str(); 
0031     std::string rr(r.rbegin(), r.rend());
0032     return rr ;
0033 }   
0034 
0035 
0036