#include "sopnamsp.h" #include "sophyainit.h" #include "array.h" #include "fiondblock.h" #include "fioarr.h" #include "tarrinit.h" int main(int narg, char* arg[]) { cout << " ------------------------------------------------ " << endl; cout << " ---------- Start of ppftswap program ----------- " << endl; try { SophyaInit(); // Phase d'ecriture - remplissage de fichier PPF cout << ">>>> Create/Write PPF stream ppfts.ppf " << endl; { #define DSZ_SWT 8 // Vecteur pour garder les positions des tableaux ecrits TVector sw_fpos(10, BaseArray::RowVector); vector swsvfp; // Tableau pour les donnees a ecrire (en mode swap) // ds le flot PPersist NDataBlock sw_data(DSZ_SWT); // Objets divers a ecrire dans le meme flot NDataBlock idb(16); idb = 16; NDataBlock fdb(7); fdb = 4.5; TVector iv(7, BaseArray::RowVector); iv = RegularSequence(5.,3.); TMatrix mx(3,5); mx = RegularSequence(0.14,0.2); // ------------------------------------------------------------- // Generation de donnees et ecriture (pour lecture en mode swap) // ------------------------------------------------------------- POutPersist so("ppfts.ppf"); cout << " Writing data for testing swap ... " << endl; for(int i=0; i>>> Reading objects from PPF stream ppfts.ppf " << endl; { TVector sw_fpos; vector swsvfp; NDataBlock sw_data(DSZ_SWT); NDataBlock idb; NDataBlock fdb; TVector iv; TMatrix mx; PInPersist si("ppfts.ppf"); si >> idb; cout << " Read-OK DataBlock idb= \n" << idb << endl; si.GetObject(iv); cout << " Read-OK Vector iv= " << iv << endl; si >> PPFNameTag("MTX") >> mx; cout << " Read-OK Matrix mx= " << mx << endl; string tname = "FDB"; si.GotoNameTag(tname); si >> fdb; cout << " Read-OK DataBlock fdb at tag FDB : \n" << fdb << endl; cout << " --- Reading PositionTagTable ... " << endl; si >> PPFNameTag("PosTagTable"); si >> sw_fpos; cout << " Read-OK sw_fpos= " << sw_fpos << endl; for(int i=0; i> PPFNameTag("PosTagTable"); si.GetPosTagTable(swsvfp); for(int k=0; k