Changeset 4019 in Sophya


Ignore:
Timestamp:
Sep 24, 2011, 6:31:08 PM (13 years ago)
Author:
cmv
Message:

ajout generateurs tinymt32+64, cmv 24/09/2011

Location:
trunk/SophyaLib/BaseTools
Files:
8 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/BaseTools/Makefile

    r3879 r4019  
    44 
    55clean:
    6          rm -f $(SOPHYAOBJP)datatype.o $(SOPHYAOBJP)dvlist.o $(SOPHYAOBJP)fiondblock.o $(SOPHYAOBJP)mutyv.o $(SOPHYAOBJP)ndatablock.o $(SOPHYAOBJP)pexceptions.o $(SOPHYAOBJP)ppersist.o $(SOPHYAOBJP)ppfbinstream.o $(SOPHYAOBJP)ppftpointerio.o $(SOPHYAOBJP)randfmt.o $(SOPHYAOBJP)randinterf.o $(SOPHYAOBJP)randr48.o $(SOPHYAOBJP)rawstream.o $(SOPHYAOBJP)sophyainit.o $(SOPHYAOBJP)stsrand.o $(SOPHYAOBJP)timestamp.o $(SOPHYAOBJP)dSFMT.o $(SOPHYAOBJP)gnumd5.o
     6         rm -f $(SOPHYAOBJP)datatype.o $(SOPHYAOBJP)dvlist.o $(SOPHYAOBJP)fiondblock.o $(SOPHYAOBJP)mutyv.o $(SOPHYAOBJP)ndatablock.o $(SOPHYAOBJP)pexceptions.o $(SOPHYAOBJP)ppersist.o $(SOPHYAOBJP)ppfbinstream.o $(SOPHYAOBJP)ppftpointerio.o $(SOPHYAOBJP)randtmt64.o $(SOPHYAOBJP)randtmt32.o $(SOPHYAOBJP)randfmt.o $(SOPHYAOBJP)randinterf.o $(SOPHYAOBJP)randr48.o $(SOPHYAOBJP)rawstream.o $(SOPHYAOBJP)sophyainit.o $(SOPHYAOBJP)stsrand.o $(SOPHYAOBJP)timestamp.o $(SOPHYAOBJP)dSFMT.o $(SOPHYAOBJP)gnumd5.o $(SOPHYAOBJP)tinymt32.o $(SOPHYAOBJP)tinymt64.o
    77        rm -f $(SOPHYALIBP)libBaseTools.a
    88 
    9 $(SOPHYALIBP)libBaseTools.a : $(SOPHYAOBJP)datatype.o $(SOPHYAOBJP)dSFMT.o $(SOPHYAOBJP)dvlist.o $(SOPHYAOBJP)fiondblock.o $(SOPHYAOBJP)gnumd5.o $(SOPHYAOBJP)mutyv.o $(SOPHYAOBJP)ndatablock.o $(SOPHYAOBJP)pexceptions.o $(SOPHYAOBJP)ppersist.o $(SOPHYAOBJP)ppfbinstream.o $(SOPHYAOBJP)ppftpointerio.o $(SOPHYAOBJP)randfmt.o $(SOPHYAOBJP)randinterf.o $(SOPHYAOBJP)randr48.o $(SOPHYAOBJP)rawstream.o $(SOPHYAOBJP)sophyainit.o $(SOPHYAOBJP)stsrand.o $(SOPHYAOBJP)timestamp.o
     9$(SOPHYALIBP)libBaseTools.a : $(SOPHYAOBJP)datatype.o $(SOPHYAOBJP)dSFMT.o $(SOPHYAOBJP)dvlist.o $(SOPHYAOBJP)fiondblock.o $(SOPHYAOBJP)gnumd5.o $(SOPHYAOBJP)mutyv.o $(SOPHYAOBJP)ndatablock.o $(SOPHYAOBJP)pexceptions.o $(SOPHYAOBJP)ppersist.o $(SOPHYAOBJP)ppfbinstream.o $(SOPHYAOBJP)ppftpointerio.o $(SOPHYAOBJP)randtmt64.o $(SOPHYAOBJP)randtmt32.o $(SOPHYAOBJP)randfmt.o $(SOPHYAOBJP)randinterf.o $(SOPHYAOBJP)randr48.o $(SOPHYAOBJP)rawstream.o $(SOPHYAOBJP)sophyainit.o $(SOPHYAOBJP)stsrand.o $(SOPHYAOBJP)timestamp.o $(SOPHYAOBJP)tinymt32.o $(SOPHYAOBJP)tinymt64.o
    1010        $(AR) $(ARFLAGS) $@ $?
    1111        touch $(SOPHYAINCP)/SophyaConfInfo/libsophya.objlist
    1212 
    1313$(SOPHYAOBJP)datatype.o: datatype.cc datatype.h \
    14   $(SOPHYAINCP)machdefs.h
     14 $(SOPHYAINCP)machdefs.h
    1515        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  datatype.cc
    1616 
    17 $(SOPHYAOBJP)dvlist.o: dvlist.cc \
    18   $(SOPHYAINCP)machdefs.h \
    19   dvlist.h objfio.h anydataobj.h ppersist.h pexceptions.h gnumd5.h \
    20   ppfbinstream.h rawstream.h ppfnametag.h mutyv.h timestamp.h \
    21   $(SOPHYAINCP)strutil.h
     17$(SOPHYAOBJP)dvlist.o: dvlist.cc $(SOPHYAINCP)machdefs.h \
     18 dvlist.h objfio.h anydataobj.h ppersist.h pexceptions.h gnumd5.h \
     19 ppfbinstream.h rawstream.h ppfnametag.h mutyv.h timestamp.h \
     20 $(SOPHYAINCP)strutil.h
    2221        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  dvlist.cc
    2322 
    2423$(SOPHYAOBJP)fiondblock.o: fiondblock.cc sopnamsp.h \
    25   $(SOPHYAINCP)machdefs.h \
    26   pexceptions.h datatype.h fiondblock.h ppersist.h gnumd5.h \
    27   ppfbinstream.h rawstream.h ppfnametag.h ndatablock.h anydataobj.h
     24 $(SOPHYAINCP)machdefs.h pexceptions.h datatype.h \
     25 fiondblock.h ppersist.h gnumd5.h ppfbinstream.h rawstream.h ppfnametag.h \
     26 ndatablock.h anydataobj.h
    2827        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fiondblock.cc
    2928 
    3029$(SOPHYAOBJP)mutyv.o: mutyv.cc sopnamsp.h mutyv.h \
    31   $(SOPHYAINCP)machdefs.h \
    32   timestamp.h objfio.h anydataobj.h ppersist.h pexceptions.h gnumd5.h \
    33   ppfbinstream.h rawstream.h ppfnametag.h
     30 $(SOPHYAINCP)machdefs.h timestamp.h objfio.h \
     31 anydataobj.h ppersist.h pexceptions.h gnumd5.h ppfbinstream.h \
     32 rawstream.h ppfnametag.h
    3433        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  mutyv.cc
    3534 
    3635$(SOPHYAOBJP)ndatablock.o: ndatablock.cc sopnamsp.h \
    37   $(SOPHYAINCP)machdefs.h \
    38   pexceptions.h ndatablock.h anydataobj.h thsafeop.h
     36 $(SOPHYAINCP)machdefs.h pexceptions.h \
     37 ndatablock.h anydataobj.h thsafeop.h
    3938        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  ndatablock.cc
    4039 
    4140$(SOPHYAOBJP)pexceptions.o: pexceptions.cc sopnamsp.h pexceptions.h \
    42   $(SOPHYAINCP)machdefs.h
     41 $(SOPHYAINCP)machdefs.h
    4342        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pexceptions.cc
    4443 
    4544$(SOPHYAOBJP)ppersist.o: ppersist.cc sopnamsp.h \
    46   $(SOPHYAINCP)machdefs.h \
    47   pexceptions.h ppersist.h gnumd5.h ppfbinstream.h rawstream.h \
    48   ppfnametag.h anydataobj.h
     45 $(SOPHYAINCP)machdefs.h pexceptions.h ppersist.h \
     46 gnumd5.h ppfbinstream.h rawstream.h ppfnametag.h anydataobj.h
    4947        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  ppersist.cc
    5048 
    5149$(SOPHYAOBJP)ppfbinstream.o: ppfbinstream.cc sopnamsp.h \
    52   $(SOPHYAINCP)machdefs.h \
    53   ppfbinstream.h rawstream.h pexceptions.h
     50 $(SOPHYAINCP)machdefs.h ppfbinstream.h \
     51 rawstream.h pexceptions.h
    5452        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  ppfbinstream.cc
    5553 
    5654$(SOPHYAOBJP)ppftpointerio.o: ppftpointerio.cc \
    57   $(SOPHYAINCP)machdefs.h \
    58   ppftpointerio.h ppersist.h pexceptions.h gnumd5.h ppfbinstream.h \
    59   rawstream.h ppfnametag.h
     55 $(SOPHYAINCP)machdefs.h ppftpointerio.h \
     56 ppersist.h pexceptions.h gnumd5.h ppfbinstream.h rawstream.h \
     57 ppfnametag.h
    6058        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  ppftpointerio.cc
     59 
    6160 
    6261$(SOPHYAOBJP)randfmt.o: randfmt.cc randfmt.h \
     
    6665        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  randfmt.cc
    6766 
     67$(SOPHYAOBJP)randtmt32.o: randtmt32.cc randtmt32.h \
     68  $(SOPHYAINCP)machdefs.h \
     69  objfio.h anydataobj.h ppersist.h pexceptions.h gnumd5.h ppfbinstream.h \
     70  rawstream.h ppfnametag.h randinterf.h tinymt32.h
     71        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  randtmt32.cc
     72 
     73$(SOPHYAOBJP)randtmt64.o: randtmt64.cc randtmt64.h \
     74  $(SOPHYAINCP)machdefs.h \
     75  objfio.h anydataobj.h ppersist.h pexceptions.h gnumd5.h ppfbinstream.h \
     76  rawstream.h ppfnametag.h randinterf.h tinymt64.h
     77        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  randtmt64.cc
     78 
    6879$(SOPHYAOBJP)randinterf.o: randinterf.cc sopnamsp.h \
    69   $(SOPHYAINCP)machdefs.h \
    70   pexceptions.h randinterf.h anydataobj.h
     80 $(SOPHYAINCP)machdefs.h pexceptions.h \
     81 randinterf.h anydataobj.h
    7182        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  randinterf.cc
    7283 
    73 $(SOPHYAOBJP)randr48.o: randr48.cc \
    74   $(SOPHYAINCP)machdefs.h \
    75   thsafeop.h pexceptions.h fiondblock.h ppersist.h gnumd5.h \
    76   ppfbinstream.h rawstream.h ppfnametag.h ndatablock.h anydataobj.h \
    77   randr48.h objfio.h randinterf.h
     84$(SOPHYAOBJP)randr48.o: randr48.cc $(SOPHYAINCP)machdefs.h \
     85 thsafeop.h pexceptions.h fiondblock.h ppersist.h gnumd5.h ppfbinstream.h \
     86 rawstream.h ppfnametag.h ndatablock.h anydataobj.h randr48.h objfio.h \
     87 randinterf.h
    7888        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  randr48.cc
    7989 
    8090$(SOPHYAOBJP)rawstream.o: rawstream.cc sopnamsp.h rawstream.h \
    81   $(SOPHYAINCP)machdefs.h \
    82   pexceptions.h
     91 $(SOPHYAINCP)machdefs.h pexceptions.h
    8392        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  rawstream.cc
    8493 
    8594$(SOPHYAOBJP)sophyainit.o: sophyainit.cc sopnamsp.h \
    86   $(SOPHYAINCP)machdefs.h \
    87   sophyainit.h pexceptions.h ppersist.h gnumd5.h ppfbinstream.h \
    88   rawstream.h ppfnametag.h fiondblock.h ndatablock.h anydataobj.h \
    89   dvlist.h objfio.h mutyv.h timestamp.h randr48.h randinterf.h randfmt.h \
    90   fiosegdb.h segdatablock.h thsafeop.h ppftpointerio.h ppfwrapstlv.h \
    91   sversion.h
     95 $(SOPHYAINCP)machdefs.h sophyainit.h \
     96 pexceptions.h ppersist.h gnumd5.h ppfbinstream.h rawstream.h \
     97 ppfnametag.h fiondblock.h ndatablock.h anydataobj.h dvlist.h objfio.h \
     98 mutyv.h timestamp.h randr48.h randinterf.h randfmt.h randtmt32.h randtmt64.h fiosegdb.h \
     99 segdatablock.h thsafeop.h ppftpointerio.h ppfwrapstlv.h sversion.h
    92100        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  sophyainit.cc
    93101 
    94102$(SOPHYAOBJP)stsrand.o: stsrand.cc stsrand.h \
    95   $(SOPHYAINCP)machdefs.h \
    96   objfio.h anydataobj.h ppersist.h pexceptions.h gnumd5.h ppfbinstream.h \
    97   rawstream.h ppfnametag.h ndatablock.h thsafeop.h fiondblock.h
     103 $(SOPHYAINCP)machdefs.h objfio.h anydataobj.h \
     104 ppersist.h pexceptions.h gnumd5.h ppfbinstream.h rawstream.h \
     105 ppfnametag.h ndatablock.h thsafeop.h fiondblock.h
    98106        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  stsrand.cc
    99107 
    100 $(SOPHYAOBJP)timestamp.o: timestamp.cc \
    101   $(SOPHYAINCP)machdefs.h \
    102   timestamp.h objfio.h anydataobj.h ppersist.h pexceptions.h gnumd5.h \
    103   ppfbinstream.h rawstream.h ppfnametag.h
     108$(SOPHYAOBJP)timestamp.o: timestamp.cc $(SOPHYAINCP)machdefs.h \
     109 timestamp.h objfio.h anydataobj.h ppersist.h pexceptions.h gnumd5.h \
     110 ppfbinstream.h rawstream.h ppfnametag.h
    104111        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  timestamp.cc
    105112 
     
    107114        $(CCOMPILE) -o $@  dSFMT.c
    108115 
    109 $(SOPHYAOBJP)gnumd5.o: gnumd5.c \
    110   $(SOPHYAINCP)machdefs.h \
    111   bithelp.h gnumd5.h
     116$(SOPHYAOBJP)gnumd5.o: gnumd5.c $(SOPHYAINCP)machdefs.h \
     117 bithelp.h gnumd5.h
    112118        $(CCOMPILE) -o $@  gnumd5.c
    113119 
     120$(SOPHYAOBJP)tinymt32.o: tinymt32.c tinymt32.h
     121        $(CCOMPILE) -o $@  tinymt32.c
     122 
     123$(SOPHYAOBJP)tinymt64.o: tinymt64.c tinymt64.h
     124        $(CCOMPILE) -o $@  tinymt64.c
     125 
  • trunk/SophyaLib/BaseTools/objlist.list

    r3615 r4019  
    1111ppftpointerio.o
    1212randfmt.o
     13randtmt32.o
     14randtmt64.o
    1315randinterf.o
    1416randr48.o
     
    1719stsrand.o
    1820timestamp.o
     21tinymt32.o
     22tinymt64.o
  • trunk/SophyaLib/BaseTools/randinterf.cc

    r4018 r4019  
    8888/////////////////////////////////////////////////////////////////////////
    8989void RandomGeneratorInterface::GenerateSeedVector(int nseed,vector<uint_2>& seed,int lp)
    90 // renvoie un vecteur de nseed+2 entiers 32 bits
    91 // [0 - 2] = codage sur 48 bits du nombre (melange) de microsec depuis l'origine
     90// renvoie un vecteur de 3+nseed entiers 16 bits
     91// [0 - 2] = codage sur 3*16 = 48 bits du nombre (melange) de microsec depuis l'origine
    9292// [3 -> 3+ngene-1] = entiers aleatoires (poor man generator)
    9393//
     
    112112  // Calcul du temps ecoule depuis l'origine en microsecondes
    113113  uint_8 tmicro70 = (uint_8)now.tv_sec*(uint_8)1000000 + (uint_8)now.tv_usec;
    114   if(lp>1) cout<<"."<<now.tv_sec<<" sec + "<<now.tv_usec<<" musec = "<<tmicro70<<" musec"<<endl;
     114  if(lp>1) cout<<".since orig: "<<now.tv_sec<<" sec + "<<now.tv_usec<<" musec = "<<tmicro70<<" musec"<<endl;
    115115  // Remplissage du tableau de 48 bits
    116116  uint_2 b[48]; uint_8 tdum = tmicro70;
     
    125125  for(int ip=0;ip<16;ip++) {
    126126    if(ip%3==1) swap(b[ip],b[32+ip]);
    127     else if(ip%3==2) swap(b[ip],b[16-ip]);
     127    else if(ip%3==2) swap(b[ip],b[16+ip]);
    128128  }
    129129  if(lp>2) {
     
    139139    for(int ip=0;ip<16;ip++) {seed[i] += w*b[i*16+ip]; w *= 2;}
    140140  }
    141   if(lp>0) cout<<"seed(time): "<<seed[0]<<" "<<seed[1]<<" "<<seed[2]<<endl;
     141  if(lp>0) cout<<"seed_time[0-2]: "<<seed[0]<<" "<<seed[1]<<" "<<seed[2]<<endl;
     142  // On recree tmicro70 avec les bits melanges
     143  tmicro70 = uint_8(seed[0]) | (uint_8(seed[1])<<16) | (uint_8(seed[2])<<32);
    142144
    143145  // ---
     
    160162  // the requirements. The constants below are arbitrary otherwise
    161163  uint_4 seed0 = uint_4(tmicro70&0xFFFFFFFFULL);
    162   if(lp>2) cout<<"seed0(time): "<<seed0<<endl;
     164  if(lp>2) cout<<"seed0_time_init_t88: "<<seed0<<endl;
    163165  uint_4 state_s1, state_s2, state_s3;
    164166  state_s1 = 1243598713U ^ seed0; if (state_s1 <  2) state_s1 = 1243598713U;
     
    177179    uint_2 s = uint_2( (s1^s2^s3)&0xFFFFU );
    178180    seed.push_back(s);
    179     if(lp>0) cout<<"seed(t88): "<<seed[3+nfill]<<endl;
     181    if(lp>0) cout<<"seed_t88["<<nfill+3<<"]: "<<seed[3+nfill]<<endl;
    180182    nfill++;
    181183  }
     
    356358r_8 RandomGeneratorInterface::GaussianPolarBoxMuller()
    357359{
    358 double x1,x2,w;
    359 do {
     360 double x1,x2,w;
     361 do {
    360362   x1 = 2.0 * Next() - 1.0;
    361363   x2 = 2.0 * Next() - 1.0;
    362364   w = x1 * x1 + x2 * x2;
    363    } while ( w >= 1.0 || w==0. );
    364 return x1 * sqrt(-2.0*log(w)/w);
     365 } while ( w >= 1.0 || w==0. );
     366 return x1 * sqrt(-2.0*log(w)/w);
    365367}
    366368
     
    368370r_8 RandomGeneratorInterface::GaussianRatioUnif()
    369371{
    370 double u,v,x;
    371 while(true) {
    372   do {u = Next();} while ( u == 0. );
    373   v = (2.0*Next()-1.0)*s2se_RatioUnif;
    374   x = v/u;
    375   if(x*x <= 5.0-4.0*ep1q_RatioUnif*u) break;
    376   if(x*x<4.0*epm135_RatioUnif/u+1.4)
    377     if(v*v<-4.0*u*u*log(u)) break;
    378 }
    379 return x;
     372 double u,v,x;
     373 while(true) {
     374   do {u = Next();} while ( u == 0. );
     375   v = (2.0*Next()-1.0)*s2se_RatioUnif;
     376   x = v/u;
     377   if(x*x <= 5.0-4.0*ep1q_RatioUnif*u) break;
     378   if(x*x<4.0*epm135_RatioUnif/u+1.4)
     379     if(v*v<-4.0*u*u*log(u)) break;
     380 }
     381 return x;
    380382}
    381383
    382384r_8 RandomGeneratorInterface::GaussianLevaRatioUnif()
    383385{
    384 double u,v,x,y,q;
     386 double u,v,x,y,q;
    385387 do {
    386388   u = 1.-Next();  // in ]0,1]
     
    525527   * This implementation does one-sided upper-tailed deviates.
    526528   */
    527 
    528   if (s < slim)
    529     {
    530       /* For small s, use a direct rejection method. The limit s < 1
    531          can be adjusted to optimise the overall efficiency */
    532       double x;
    533       do
    534         {
    535           x = Gaussian();
    536         }
    537       while (x < s);
    538       return x;
    539     }
    540   else
    541     {
    542       /* Use the "supertail" deviates from the last two steps
    543        * of Marsaglia's rectangle-wedge-tail method, as described
    544        * in Knuth, v2, 3rd ed, pp 123-128.  (See also exercise 11, p139,
    545        * and the solution, p586.)
    546        */
    547       double u, v, x;
    548       do
    549         {
    550           u = Next();
    551           do
    552             {
    553               v = Next();
    554             }
    555           while (v == 0.0);
    556           x = sqrt (s * s - 2 * log (v));
    557         }
    558       while (x * u > s);
    559       return x;
    560     }
     529  if(s < slim) {
     530    /* For small s, use a direct rejection method. The limit s < 1
     531       can be adjusted to optimise the overall efficiency */
     532    double x;
     533    do {x = Gaussian();} while (x < s);
     534    return x;
     535  } else {
     536    /* Use the "supertail" deviates from the last two steps
     537     * of Marsaglia's rectangle-wedge-tail method, as described
     538     * in Knuth, v2, 3rd ed, pp 123-128.  (See also exercise 11, p139,
     539     * and the solution, p586.)
     540     */
     541    double u, v, x;
     542    do {u = Next();
     543      do {v = Next();} while (v == 0.0);
     544      x = sqrt (s * s - 2 * log (v));
     545    } while (x * u > s);
     546    return x;
     547  }
    561548}
    562549
  • trunk/SophyaLib/BaseTools/smakefile

    r3879 r4019  
    44 
    55clean:
    6          rm -f $(SOPHYAOBJP)datatype.o $(SOPHYAOBJP)dvlist.o $(SOPHYAOBJP)fiondblock.o $(SOPHYAOBJP)mutyv.o $(SOPHYAOBJP)ndatablock.o $(SOPHYAOBJP)pexceptions.o $(SOPHYAOBJP)ppersist.o $(SOPHYAOBJP)ppfbinstream.o $(SOPHYAOBJP)ppftpointerio.o $(SOPHYAOBJP)randfmt.o $(SOPHYAOBJP)randinterf.o $(SOPHYAOBJP)randr48.o $(SOPHYAOBJP)rawstream.o $(SOPHYAOBJP)sophyainit.o $(SOPHYAOBJP)stsrand.o $(SOPHYAOBJP)timestamp.o $(SOPHYAOBJP)dSFMT.o $(SOPHYAOBJP)gnumd5.o
     6         rm -f $(SOPHYAOBJP)datatype.o $(SOPHYAOBJP)dvlist.o $(SOPHYAOBJP)fiondblock.o $(SOPHYAOBJP)mutyv.o $(SOPHYAOBJP)ndatablock.o $(SOPHYAOBJP)pexceptions.o $(SOPHYAOBJP)ppersist.o $(SOPHYAOBJP)ppfbinstream.o $(SOPHYAOBJP)ppftpointerio.o $(SOPHYAOBJP)randtmt64.o $(SOPHYAOBJP)randtmt32.o $(SOPHYAOBJP)randfmt.o $(SOPHYAOBJP)randinterf.o $(SOPHYAOBJP)randr48.o $(SOPHYAOBJP)rawstream.o $(SOPHYAOBJP)sophyainit.o $(SOPHYAOBJP)stsrand.o $(SOPHYAOBJP)timestamp.o $(SOPHYAOBJP)dSFMT.o $(SOPHYAOBJP)gnumd5.o $(SOPHYAOBJP)tinymt32.o $(SOPHYAOBJP)tinymt64.o
    77        rm -f $(SOPHYALIBP)libBaseTools.a
    88 
    9 $(SOPHYALIBP)libBaseTools.a : $(SOPHYAOBJP)datatype.o $(SOPHYAOBJP)dSFMT.o $(SOPHYAOBJP)dvlist.o $(SOPHYAOBJP)fiondblock.o $(SOPHYAOBJP)gnumd5.o $(SOPHYAOBJP)mutyv.o $(SOPHYAOBJP)ndatablock.o $(SOPHYAOBJP)pexceptions.o $(SOPHYAOBJP)ppersist.o $(SOPHYAOBJP)ppfbinstream.o $(SOPHYAOBJP)ppftpointerio.o $(SOPHYAOBJP)randfmt.o $(SOPHYAOBJP)randinterf.o $(SOPHYAOBJP)randr48.o $(SOPHYAOBJP)rawstream.o $(SOPHYAOBJP)sophyainit.o $(SOPHYAOBJP)stsrand.o $(SOPHYAOBJP)timestamp.o
     9$(SOPHYALIBP)libBaseTools.a : $(SOPHYAOBJP)datatype.o $(SOPHYAOBJP)dSFMT.o $(SOPHYAOBJP)dvlist.o $(SOPHYAOBJP)fiondblock.o $(SOPHYAOBJP)gnumd5.o $(SOPHYAOBJP)mutyv.o $(SOPHYAOBJP)ndatablock.o $(SOPHYAOBJP)pexceptions.o $(SOPHYAOBJP)ppersist.o $(SOPHYAOBJP)ppfbinstream.o $(SOPHYAOBJP)ppftpointerio.o $(SOPHYAOBJP)randtmt64.o $(SOPHYAOBJP)randtmt32.o $(SOPHYAOBJP)randfmt.o $(SOPHYAOBJP)randinterf.o $(SOPHYAOBJP)randr48.o $(SOPHYAOBJP)rawstream.o $(SOPHYAOBJP)sophyainit.o $(SOPHYAOBJP)stsrand.o $(SOPHYAOBJP)timestamp.o $(SOPHYAOBJP)tinymt32.o $(SOPHYAOBJP)tinymt64.o
    1010        $(AR) $(ARFLAGS) $@ $?
    1111        touch $(SOPHYAINCP)/SophyaConfInfo/libsophya.objlist
    1212 
    1313$(SOPHYAOBJP)datatype.o: datatype.cc datatype.h \
    14   $(SOPHYAINCP)machdefs.h
     14 $(SOPHYAINCP)machdefs.h
    1515        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  datatype.cc
    1616 
    17 $(SOPHYAOBJP)dvlist.o: dvlist.cc \
    18   $(SOPHYAINCP)machdefs.h \
    19   dvlist.h objfio.h anydataobj.h ppersist.h pexceptions.h gnumd5.h \
    20   ppfbinstream.h rawstream.h ppfnametag.h mutyv.h timestamp.h \
    21   $(SOPHYAINCP)strutil.h
     17$(SOPHYAOBJP)dvlist.o: dvlist.cc $(SOPHYAINCP)machdefs.h \
     18 dvlist.h objfio.h anydataobj.h ppersist.h pexceptions.h gnumd5.h \
     19 ppfbinstream.h rawstream.h ppfnametag.h mutyv.h timestamp.h \
     20 $(SOPHYAINCP)strutil.h
    2221        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  dvlist.cc
    2322 
    2423$(SOPHYAOBJP)fiondblock.o: fiondblock.cc sopnamsp.h \
    25   $(SOPHYAINCP)machdefs.h \
    26   pexceptions.h datatype.h fiondblock.h ppersist.h gnumd5.h \
    27   ppfbinstream.h rawstream.h ppfnametag.h ndatablock.h anydataobj.h
     24 $(SOPHYAINCP)machdefs.h pexceptions.h datatype.h \
     25 fiondblock.h ppersist.h gnumd5.h ppfbinstream.h rawstream.h ppfnametag.h \
     26 ndatablock.h anydataobj.h
    2827        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  fiondblock.cc
    2928 
    3029$(SOPHYAOBJP)mutyv.o: mutyv.cc sopnamsp.h mutyv.h \
    31   $(SOPHYAINCP)machdefs.h \
    32   timestamp.h objfio.h anydataobj.h ppersist.h pexceptions.h gnumd5.h \
    33   ppfbinstream.h rawstream.h ppfnametag.h
     30 $(SOPHYAINCP)machdefs.h timestamp.h objfio.h \
     31 anydataobj.h ppersist.h pexceptions.h gnumd5.h ppfbinstream.h \
     32 rawstream.h ppfnametag.h
    3433        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  mutyv.cc
    3534 
    3635$(SOPHYAOBJP)ndatablock.o: ndatablock.cc sopnamsp.h \
    37   $(SOPHYAINCP)machdefs.h \
    38   pexceptions.h ndatablock.h anydataobj.h thsafeop.h
     36 $(SOPHYAINCP)machdefs.h pexceptions.h \
     37 ndatablock.h anydataobj.h thsafeop.h
    3938        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  ndatablock.cc
    4039 
    4140$(SOPHYAOBJP)pexceptions.o: pexceptions.cc sopnamsp.h pexceptions.h \
    42   $(SOPHYAINCP)machdefs.h
     41 $(SOPHYAINCP)machdefs.h
    4342        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pexceptions.cc
    4443 
    4544$(SOPHYAOBJP)ppersist.o: ppersist.cc sopnamsp.h \
    46   $(SOPHYAINCP)machdefs.h \
    47   pexceptions.h ppersist.h gnumd5.h ppfbinstream.h rawstream.h \
    48   ppfnametag.h anydataobj.h
     45 $(SOPHYAINCP)machdefs.h pexceptions.h ppersist.h \
     46 gnumd5.h ppfbinstream.h rawstream.h ppfnametag.h anydataobj.h
    4947        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  ppersist.cc
    5048 
    5149$(SOPHYAOBJP)ppfbinstream.o: ppfbinstream.cc sopnamsp.h \
    52   $(SOPHYAINCP)machdefs.h \
    53   ppfbinstream.h rawstream.h pexceptions.h
     50 $(SOPHYAINCP)machdefs.h ppfbinstream.h \
     51 rawstream.h pexceptions.h
    5452        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  ppfbinstream.cc
    5553 
    5654$(SOPHYAOBJP)ppftpointerio.o: ppftpointerio.cc \
    57   $(SOPHYAINCP)machdefs.h \
    58   ppftpointerio.h ppersist.h pexceptions.h gnumd5.h ppfbinstream.h \
    59   rawstream.h ppfnametag.h
     55 $(SOPHYAINCP)machdefs.h ppftpointerio.h \
     56 ppersist.h pexceptions.h gnumd5.h ppfbinstream.h rawstream.h \
     57 ppfnametag.h
    6058        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  ppftpointerio.cc
     59 
    6160 
    6261$(SOPHYAOBJP)randfmt.o: randfmt.cc randfmt.h \
     
    6665        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  randfmt.cc
    6766 
     67$(SOPHYAOBJP)randtmt32.o: randtmt32.cc randtmt32.h \
     68  $(SOPHYAINCP)machdefs.h \
     69  objfio.h anydataobj.h ppersist.h pexceptions.h gnumd5.h ppfbinstream.h \
     70  rawstream.h ppfnametag.h randinterf.h tinymt32.h
     71        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  randtmt32.cc
     72 
     73$(SOPHYAOBJP)randtmt64.o: randtmt64.cc randtmt64.h \
     74  $(SOPHYAINCP)machdefs.h \
     75  objfio.h anydataobj.h ppersist.h pexceptions.h gnumd5.h ppfbinstream.h \
     76  rawstream.h ppfnametag.h randinterf.h tinymt64.h
     77        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  randtmt64.cc
     78 
    6879$(SOPHYAOBJP)randinterf.o: randinterf.cc sopnamsp.h \
    69   $(SOPHYAINCP)machdefs.h \
    70   pexceptions.h randinterf.h anydataobj.h
     80 $(SOPHYAINCP)machdefs.h pexceptions.h \
     81 randinterf.h anydataobj.h
    7182        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  randinterf.cc
    7283 
    73 $(SOPHYAOBJP)randr48.o: randr48.cc \
    74   $(SOPHYAINCP)machdefs.h \
    75   thsafeop.h pexceptions.h fiondblock.h ppersist.h gnumd5.h \
    76   ppfbinstream.h rawstream.h ppfnametag.h ndatablock.h anydataobj.h \
    77   randr48.h objfio.h randinterf.h
     84$(SOPHYAOBJP)randr48.o: randr48.cc $(SOPHYAINCP)machdefs.h \
     85 thsafeop.h pexceptions.h fiondblock.h ppersist.h gnumd5.h ppfbinstream.h \
     86 rawstream.h ppfnametag.h ndatablock.h anydataobj.h randr48.h objfio.h \
     87 randinterf.h
    7888        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  randr48.cc
    7989 
    8090$(SOPHYAOBJP)rawstream.o: rawstream.cc sopnamsp.h rawstream.h \
    81   $(SOPHYAINCP)machdefs.h \
    82   pexceptions.h
     91 $(SOPHYAINCP)machdefs.h pexceptions.h
    8392        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  rawstream.cc
    8493 
    8594$(SOPHYAOBJP)sophyainit.o: sophyainit.cc sopnamsp.h \
    86   $(SOPHYAINCP)machdefs.h \
    87   sophyainit.h pexceptions.h ppersist.h gnumd5.h ppfbinstream.h \
    88   rawstream.h ppfnametag.h fiondblock.h ndatablock.h anydataobj.h \
    89   dvlist.h objfio.h mutyv.h timestamp.h randr48.h randinterf.h randfmt.h \
    90   fiosegdb.h segdatablock.h thsafeop.h ppftpointerio.h ppfwrapstlv.h \
    91   sversion.h
     95 $(SOPHYAINCP)machdefs.h sophyainit.h \
     96 pexceptions.h ppersist.h gnumd5.h ppfbinstream.h rawstream.h \
     97 ppfnametag.h fiondblock.h ndatablock.h anydataobj.h dvlist.h objfio.h \
     98 mutyv.h timestamp.h randr48.h randinterf.h randfmt.h randtmt32.h randtmt64.h fiosegdb.h \
     99 segdatablock.h thsafeop.h ppftpointerio.h ppfwrapstlv.h sversion.h
    92100        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  sophyainit.cc
    93101 
    94102$(SOPHYAOBJP)stsrand.o: stsrand.cc stsrand.h \
    95   $(SOPHYAINCP)machdefs.h \
    96   objfio.h anydataobj.h ppersist.h pexceptions.h gnumd5.h ppfbinstream.h \
    97   rawstream.h ppfnametag.h ndatablock.h thsafeop.h fiondblock.h
     103 $(SOPHYAINCP)machdefs.h objfio.h anydataobj.h \
     104 ppersist.h pexceptions.h gnumd5.h ppfbinstream.h rawstream.h \
     105 ppfnametag.h ndatablock.h thsafeop.h fiondblock.h
    98106        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  stsrand.cc
    99107 
    100 $(SOPHYAOBJP)timestamp.o: timestamp.cc \
    101   $(SOPHYAINCP)machdefs.h \
    102   timestamp.h objfio.h anydataobj.h ppersist.h pexceptions.h gnumd5.h \
    103   ppfbinstream.h rawstream.h ppfnametag.h
     108$(SOPHYAOBJP)timestamp.o: timestamp.cc $(SOPHYAINCP)machdefs.h \
     109 timestamp.h objfio.h anydataobj.h ppersist.h pexceptions.h gnumd5.h \
     110 ppfbinstream.h rawstream.h ppfnametag.h
    104111        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  timestamp.cc
    105112 
     
    107114        $(CCOMPILE) -o $@  dSFMT.c
    108115 
    109 $(SOPHYAOBJP)gnumd5.o: gnumd5.c \
    110   $(SOPHYAINCP)machdefs.h \
    111   bithelp.h gnumd5.h
     116$(SOPHYAOBJP)gnumd5.o: gnumd5.c $(SOPHYAINCP)machdefs.h \
     117 bithelp.h gnumd5.h
    112118        $(CCOMPILE) -o $@  gnumd5.c
    113119 
     120$(SOPHYAOBJP)tinymt32.o: tinymt32.c tinymt32.h
     121        $(CCOMPILE) -o $@  tinymt32.c
     122 
     123$(SOPHYAOBJP)tinymt64.o: tinymt64.c tinymt64.h
     124        $(CCOMPILE) -o $@  tinymt64.c
     125 
  • trunk/SophyaLib/BaseTools/sophyainit.cc

    r3750 r4019  
    1717#include "randr48.h"
    1818#include "randfmt.h"
     19#include "randtmt32.h"
     20#include "randtmt64.h"
    1921
    2022#include "fiosegdb.h"
     
    123125  PPRegister(ObjFileIO<FMTRandGen>);
    124126  DObjRegister(ObjFileIO<FMTRandGen>, FMTRandGen);
     127  PPRegister(ObjFileIO<TinyMT32RandGen>);
     128  DObjRegister(ObjFileIO<TinyMT32RandGen>, TinyMT32RandGen);
     129  PPRegister(ObjFileIO<TinyMT64RandGen>);
     130  DObjRegister(ObjFileIO<TinyMT64RandGen>, TinyMT64RandGen);
    125131
    126132  // Enregistrement des handlers PPF pour les SegDataBlock<T>
Note: See TracChangeset for help on using the changeset viewer.