Back to home page

EIC code displayed by LXR

 
 

    


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

0001 // ./sfactor_test.sh
0002 
0003 #include <cstdlib>
0004 #include <iostream>
0005 #include <vector>
0006 #include "sfactor.h"
0007 
0008 #include "NP.hh"
0009 
0010 const char* FOLD = getenv("FOLD") ; 
0011 const char* name = "factors.npy" ; 
0012 
0013 void Dump(const std::vector<sfactor>& factors)
0014 {
0015     for(unsigned i=0 ; i < factors.size() ; i++ ) 
0016     {
0017         const sfactor& f = factors[i] ; 
0018         std::cout << f.desc() << std::endl ; 
0019     }
0020 }
0021 
0022 void test_Write()
0023 {
0024     std::vector<sfactor> factors ;     
0025     for(unsigned i=0 ; i < 10 ; i++)
0026     {
0027         sfactor f ; 
0028         f.index = i ; 
0029         f.set_sub("0123456789abcdef0123456789abcdef"); 
0030         f.freq = 100*i ; 
0031         factors.push_back(f) ;  
0032     }
0033     Dump(factors); 
0034 
0035     NP::Write<int>(FOLD, name, (int*)factors.data(), factors.size(), sfactor::NV ); 
0036     std::cout << "wrote " << FOLD << "/" << name  << std::endl ; 
0037 }
0038 
0039 void test_Read()
0040 {
0041     std::vector<sfactor> factors ;     
0042     NP* a = NP::Load(FOLD, name); 
0043     factors.resize(a->shape[0]); 
0044     memcpy( (int*)factors.data(), a->bytes(), a->arr_bytes() ); 
0045     Dump(factors); 
0046 }
0047 
0048 
0049 int main(int argc, char** argv)
0050 {
0051     test_Read(); 
0052     return 0 ; 
0053 }