Back to home page

EIC code displayed by LXR

 
 

    


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

0001 /**
0002 
0003 ~/o/sysrap/tests/sfr_test.sh
0004 ~/o/sysrap/tests/sfr_test.cc
0005 ~/o/sysrap/tests/sfr_test.py
0006 
0007 **/
0008 
0009 #include "ssys.h"
0010 #include "sfr.h"
0011 
0012 struct sfr_test
0013 {
0014     static int main();
0015     static int MakeFromAxis();
0016     static int roundtrip();
0017 };
0018 
0019 int sfr_test::main()
0020 {
0021     //const char* test = "ALL" ;
0022     //const char* test = "MakeFromAxis" ;
0023     const char* test = "roundtrip" ;
0024     const char* TEST = ssys::getenvvar("TEST", test);
0025     bool ALL = strcmp(TEST, "ALL") == 0 ;
0026     int rc = 0 ;
0027     if(ALL||0==strcmp(TEST,"roundtrip")) rc += roundtrip();
0028     if(ALL||0==strcmp(TEST,"MakeFromAxis")) rc += MakeFromAxis();
0029     return rc ;
0030 }
0031 
0032 int sfr_test::MakeFromAxis()
0033 {
0034     const char* tpde = "45,45,0,1000" ;
0035     sfr mf = sfr::MakeFromAxis<double>(tpde, ',');
0036 
0037     std::cout
0038          << "sfr_test::MakeFromAxis"
0039          << " tpde " << tpde
0040          << "\n"
0041          << mf.desc()
0042          << "\n"
0043          ;
0044     return 0 ;
0045 }
0046 
0047 int sfr_test::roundtrip()
0048 {
0049     sfr a ;
0050     a.set_name("sfr_test::roundtrip");
0051 
0052     a.aux0.x = 1 ;
0053     a.aux0.y = 2 ;
0054     a.aux0.z = 3 ;
0055     a.aux0.w = 4 ;
0056 
0057     a.aux1.x = 10 ;
0058     a.aux1.y = 20 ;
0059     a.aux1.z = 30 ;
0060     a.aux1.w = 40 ;
0061 
0062     a.aux2.x = 100 ;
0063     a.aux2.y = 200 ;
0064     a.aux2.z = 300 ;
0065     a.aux2.w = 400 ;
0066 
0067     std::array<double,6> bb = {-300., -200., -100., +100., +200., +300. } ;
0068     a.set_bb(bb.data());
0069 
0070     std::cout << "A\n" << a.desc() << std::endl;
0071     a.save("$FOLD");
0072 
0073     sfr b = sfr::Load("$FOLD");
0074     std::cout << "B\n" << b.desc() << std::endl;
0075 
0076     return 0;
0077 }
0078 
0079 int main()
0080 {
0081     return sfr_test::main();
0082 }