Exemple #1
0
int main(int argc, char *argv[])
{
   
    setIO("Peak");
    read(n);read(m);read(Q);
    for(int i = 1;i<=n;i++)
     read(val[i]),sz[i] = 1,f[i] = i;
    for(int i = 1;i<=m;i++)
     read(b[i].C[0]),read(b[i].C[1]),read(b[i].C[2]);
    sort(b+1,b+1+m);
    for(int i = 1;i<=Q;i++)
     read(c[i].C[0]),read(c[i].C[2]),read(c[i].C[1]),c[i].C[3]=i;
    sort(c+1,c+1+Q);
    int l = 1;
    for(int i = 1;i<=Q;i++)
    {
     while(l <= m && b[l].C[2] <= c[i].C[2])
     {
     
      int x = b[l].C[0],y = b[l].C[1];
      if(gf(x) != gf(y))
       Union(x,y);
      l++;
     }
     splay(c[i].C[0]);
     
     ans[c[i].C[3]] = fkt(c[i].C[0],c[i].C[1]);
    }
    for(int i = 1;i<=Q;i++)
     printf("%d\n",ans[i]);
    closeIO();
    return EXIT_SUCCESS;
}
TEST_F(TwoIndexGFTest,access)
{
    alps::gf::matsubara_index omega; omega=4;
    alps::gf::index sigma(1);

    gf(omega, sigma)=std::complex<double>(3,4);
    std::complex<double> x=gf(omega,sigma);
    EXPECT_EQ(3, x.real());
    EXPECT_EQ(4, x.imag());
}
TEST_F(ThreeIndexTestGF,access)
{
    alps::gf::matsubara_index omega; omega=4;
    alps::gf::momentum_index i; i=2;
    alps::gf::index sigma(1);

    gf(omega, i,sigma)=std::complex<double>(3,4);
    std::complex<double> x=gf(omega,i,sigma);
    EXPECT_EQ(3, x.real());
    EXPECT_EQ(4, x.imag());
}
Exemple #4
0
void Demo() {
    const int nspins=2;
    const int nfreq=10;
    const double beta=5;

    // Construct the meshes:
    g::matsubara_positive_mesh m_mesh(beta, nfreq);
    g::momentum_index_mesh k_mesh(generate_momentum_mesh());
    g::index_mesh s_mesh(nspins);
    
    // construct a GF using a pre-defined convenience type
    g::omega_k_sigma_gf gf(m_mesh, k_mesh, s_mesh);
    // initialize a GF to all-zeros
    gf.initialize();

    // Make indices:
    g::matsubara_index omega;
    omega=4;
    g::momentum_index ii(2);
    g::index sigma(0);

    // Assign a GF element:
    gf(omega,ii,sigma)=std::complex<double>(3,4);

    // Density matrix as a double-valued GF
    // on momentum and integer-index space:
    typedef
        g::two_index_gf<double, g::momentum_index_mesh, g::index_mesh>
        density_matrix_type;
    
    // Construct the object:
    density_matrix_type denmat=density_matrix_type(k_mesh,s_mesh);

    // prepare diagonal matrix
    const double U=3.0;
    denmat.initialize();
    // loop over first mesh index:
    for (g::momentum_index i=g::momentum_index(0);
         i<denmat.mesh1().extent(); ++i) {
        denmat(i,g::index(0))=0.5*U;
        denmat(i,g::index(1))=0.5*U;
    }

    // construct a tailed GF using predefined convenience type:
    g::omega_k_sigma_gf_with_tail gft(gf); 
    gft.set_tail(0, denmat);              // set the tail

    density_matrix_type gftail=gft.tail(0); // retrieve the tail

    // access the tailed GF element
    std::complex<double> x=gft(omega,ii,sigma);
}
    virtual void go() {
        release();
        param *p = param::instance();
        update_values(p);

        Iso_rectangle_2 bbox = get_bbox(p);
        std::string ndvi_file = p->get<boost::filesystem::path>("ndvi").string();
        std::string  dsm_file = p->get<boost::filesystem::path>("dsm" ).string();
        clip_bbox(bbox,ndvi_file);
        clip_bbox(bbox,dsm_file );

        gradient_functor gf(p->get<double>("sigmaD"));
        oriented_gradient_view grad_view(dsm_file,  bbox, gf);
        oriented_ndvi_view     ndvi_view(ndvi_file, bbox);

        m_confg_visitor->add_layer(ndvi_file);
        m_confg_visitor->add_layer(dsm_file);
        set_bbox(p,bbox);
        wxPoint p0(wxCoord(bbox.min().x()),wxCoord(bbox.min().y()));
        wxPoint p1(wxCoord(bbox.max().x()),wxCoord(bbox.max().y()));
        m_confg_visitor->set_bbox(wxRect(p0,p1));

        init_visitor        (p,*m_visitor);
        create_configuration(p,grad_view,ndvi_view,m_config);
        create_sampler      (p,m_sampler);
        create_schedule     (p,m_schedule);
        create_end_test     (p,m_end_test);

        m_thread = new boost::thread(
                simulated_annealing::optimize<configuration,sampler,schedule,end_test,visitor>,
                boost::ref(*m_config), boost::ref(*m_sampler),
                boost::ref(*m_schedule), boost::ref(*m_end_test),
                boost::ref(*m_visitor) );
    }
    void object::test<7>()
    {         
        GeomPtr geom;

        try
        {
            // use FLOATING model
            namespace ggm = geos::geom;
            namespace gio = geos::io;
            ggm::PrecisionModel pm(ggm::PrecisionModel::FLOATING);
            ggm::GeometryFactory gf(&pm);
            gio::WKTReader wktReader(&gf);
            const std::string str = " POINT (0 0) ";
            geom.reset(wktReader.read(str)); //HERE IT FAILS

            geos::geom::CoordinateSequence *coords = geom->getCoordinates();
            ensure_equals(coords->getDimension(), 2U);
            ensure_distance(coords->getX(0), 0.0, 1e-12);
            ensure_distance( coords->getY(0), 0.0, 1e-12);
            delete coords;
        }
        catch (const geos::util::IllegalArgumentException& ex)
        {
            ensure( "Did get expected exception" );
            ex.what();
        }
        catch (...)
        {
            ensure( !"Got unexpected exception" );
        }
    }
Exemple #7
0
double pfijo(double x0, double es, double *ea, int imax, int *iter, int tabla)
{
    double xr=x0, xrold;

    if(tabla == 1)
    {
 
        printf ("\n\n|  i |      Raiz      |      ea      |     f(xr)    | \n");
        printf ("______________________________________________________\n");
    }

    *iter = 0;
    do{
        xrold = xr;
        xr = gf(xrold);
        *iter=*iter+1;
        if(xr!=0)
        {
            *ea=fabs((xr-xrold)/xr)*100;
        }
        if ( tabla == 1 ) {
            printf ("| %2d | %12.8f | %12.8f | %12.8f |\n", *iter, xr, *ea, f(xr) );
	    }

    }while(es < *ea && *iter <= imax);

    if ( tabla == 1 ) {
        printf ("\n\nLa Raiz es %6.4lf en %d iteraciones\n",xr,*iter);
        printf ("\n\nEl error relativo aproximado es %6.4lf\n",*ea);
        return 0;
    }
    else
        return xr;
}
TEST_F(TwoIndexGFTest,scaling)
{
    alps::gf::matsubara_index omega; omega=4;
    alps::gf::index sigma(1);

    gf(omega,sigma)=std::complex<double>(3,4);
    gf *= 2.;
    std::complex<double> x=gf(omega,sigma);
    EXPECT_NEAR(6, x.real(),1.e-10);
    EXPECT_NEAR(8, x.imag(),1.e-10);

    alps::gf::omega_sigma_gf gf1=gf/2;
    std::complex<double> x1=gf1(omega,sigma);
    EXPECT_NEAR(3, x1.real(),1.e-10);
    EXPECT_NEAR(4, x1.imag(),1.e-10);
}
// ######################################################################
void IpcInputFrameSeries::
onSimEventClockTick(SimEventQueue& q, rutz::shared_ptr<SimEventClockTick>& e)
{
	static int first_sim_event_clock = 1;

	if(first_sim_event_clock)
	{
		Image< PixRGB<byte> > rgbimg(Dims(image_width, image_height), ZEROS);
		GenericFrame gf(rgbimg);

		rutz::shared_ptr<SimEventInputFrame>
					ev(new SimEventInputFrame(this, gf, 0));
					q.post(ev);

		first_sim_event_clock = 0;
	}

	if(has_new_frame)
	{
		has_new_frame = 0;

		if (frame.initialized())
		{
			rutz::shared_ptr<SimEventInputFrame>
			ev(new SimEventInputFrame(this, frame, frame_counter));
			q.post(ev);
		}
	}
}
GenericFrame convert_disparity_message_to_generic_frame(carmen_simple_stereo_disparity_message* message)
{
	Image< PixRGB<byte> > rgbimg(Dims(image_width, image_height), ZEROS);

	get_depth_map_from_disparity_map(message->disparity, temp_depth_map, camera_instance, 50.0);

	for(int i = 0; i < (image_width * image_height); i++)
	{
		temp_disparity_map[i] = message->disparity[i];

		if(i > (image_width * 170) && i < ( image_width * (image_height - 110)) && temp_depth_map[i] <= 12000)
		{
			//temp_depth_map[i] = 12000.0 - temp_depth_map[i];
			rgbimg[i].p[0] = message->reference_image[3 * i];
			rgbimg[i].p[1] = message->reference_image[3 * i + 1];
			rgbimg[i].p[2] = message->reference_image[3 * i + 2];
		}
		else
		{
			temp_depth_map[i] = 0.0;
			rgbimg[i].p[0] = message->reference_image[3 * i] = 0.0;
			rgbimg[i].p[1] = message->reference_image[3 * i + 1] = 0.0;
			rgbimg[i].p[2] = message->reference_image[3 * i + 2] = 0.0;
		}
	}

	Image<unsigned short> depthimg(temp_depth_map, Dims(image_width, image_height));
	GenericFrame gf(rgbimg, depthimg);

	return gf;
}
Exemple #11
0
int main(){

	GraphFile gf("/tmp/");

	gf.init(3,6,11);

	printf("Total graphs: %llu\n", gf.get_total_graphs());

	int pos;


	while (1){
		printf("Enter position: ");
		scanf("%d", &pos);

		if (pos == -1) break;

		gf.seek_to(pos);
		gf.get_y();

		printf("Current position: %llu\n\n", gf.get_current_pos());

	}


}
Exemple #12
0
 static inline
 function_type build(cproc_type proc, const function_type &F )
 {
     const  function_type G(proc);
     composition          gf(G,F);
     return function_type(gf);
 }
TEST_F(ThreeIndexTestGF,scaling)
{
    alps::gf::momentum_index i; i=2;
    alps::gf::index sigma(1);
    alps::gf::matsubara_index omega; omega=4;

    gf(omega,i,sigma)=std::complex<double>(3,4);
    gf *= 2.;
    std::complex<double> x=gf(omega,i,sigma);
    EXPECT_NEAR(6, x.real(),1.e-10);
    EXPECT_NEAR(8, x.imag(),1.e-10);

    gf_type gf1=gf/2;
    std::complex<double> x1=gf1(omega,i,sigma);
    EXPECT_NEAR(3, x1.real(),1.e-10);
    EXPECT_NEAR(4, x1.imag(),1.e-10);
}
Exemple #14
0
//! Output stream operator for GFX
ostream &operator<<(ostream &os, const gfx &ingfx)
{
    int terms=0;
    for (int i=0; i<ingfx.degree+1; i++) {
	if (ingfx.coeffs[i] != gf(ingfx.q,-1) ) {
	    if (terms != 0) os << " + ";
	    terms++;
	    if (ingfx.coeffs[i] == gf(ingfx.q,0) ) {// is the coefficient an one (=alpha^0=1)
		os  << "x^" << i;
	    } else {
		os  << ingfx.coeffs[i] << "*x^" << i;
	    }
	}
    }
    if (terms == 0) os << "0";
    return os;
}
Exemple #15
0
int main(int argc, char *argv[])
{
    setIO("sample");CLEAR(st,0xff);st[0] = 0;
    int64 n=gi,m = gi,q=gi;s = gi;
    for(int64 i = 1;i<=n;++i) a[i] = gi;
    for(int64 i = 1,x,y,z;i<=m;++i) x = gi,y=gi,z = gi,add(x,y,z);
    tot = n;sort(e+1,e+tote+1);
    for(int64 i = 1,u,v;i<=tote;++i)
    {
     u = gf(e[i].u);v = gf(e[i].v);
     if(u == v) continue;++tot;w[tot] = e[i].w;add2(u,tot);add2(tot,u);add2(v,tot);add2(tot,v);fa[u] = tot;fa[v] = tot;
    }
    qu[SIZE(qu)=1] = tot;
    for(int64 i = 1,u;i<=SIZE(qu);++i)
     TRA(x,u=qu[i])
     {
      int64 v = lk[x].v;f[v][0] = u;++SIZE(qu);qu[SIZE(qu)] = v;lk[x^1].f = 1;
     }
Exemple #16
0
int kruskal()
	{
	qsort(e+1,cntE,sizeof(e[0]),cmp);
	memset(father,0,sizeof(father));
	memset(apr,0,sizeof(apr));
	int ans=0;
	for(int i=1;i<=cntE;i++)
		{
		int fx = gf(e[i] .x);
		int fy = gf(e[i] .y);
		if(fx != fy)
			{
			ans += e[i] .len;
			father[fx] = fy;
			apr[e[i].x] = apr[e[i].y] = true;
			}
		}
	return ans;
	}
TEST_F(TwoIndexGFTest,init)
{
    alps::gf::matsubara_index omega; omega=4;
    alps::gf::index sigma(1);

    gf.initialize();
    std::complex<double> x=gf(omega,sigma);
    EXPECT_EQ(0, x.real());
    EXPECT_EQ(0, x.imag());
}
Exemple #18
0
void UploadWindow::paint(Graphics& g)
{
	g.fillAll(Colours::black);

	Colour border = Colours::wheat;
	juce::Rectangle<int> rc(0, 0, getWidth(), getHeight());
	for (int i = 0; i < 4; i++)
	{
		g.setColour(i == 0 ? Colours::black : border);
		g.drawRect(rc.getX(), rc.getY(), rc.getWidth(), rc.getHeight());
		rc.reduce(1, 1);
		border = border.brighter(0.4f);
	}
	
	ColourGradient gf(Colours::red, 0, getHeight()/2.0f, Colours::darkred, float(getWidth()), getHeight()/2.0f, false);
	FillType ft(gf);

	int cx = getWidth() / 2;
	int cy = getHeight() / 2;
	const float r = 12.0f;
	for (int i = 3; i >= 0; i--)
	{
		if (i % 2 != 0)
			g.setFillType(ft);
		else
			g.setColour(Colours::white);
		
		g.fillEllipse(cx - (r * i), cy - (r * i), (r * i) * 2, (r * i) * 2);
	}
	g.setFillType(Colours::transparentWhite);

	if (smugMug.isUploading())
	{
		int64 n = smugMug.getTotalbytesUploaded();
		int64 d = smugMug.getTotalBytesToUpload();
		double percent = (d == 0) ? 0 : (double(n)/double(d)*100);
		

		GlyphArrangement glyphs;
		glyphs.addLineOfText(Font(25.0f, Font::bold), String(percent, 1) + ("%"), 0, 0);

		Path p;
		glyphs.createPath(p);

		juce::Rectangle<float> bounds = p.getBounds();
		float cx = getWidth() / 2.0f - bounds.getWidth() / 2.0f - bounds.getX();
		float cy = getHeight() / 2.0f - bounds.getHeight() / 2.0f - bounds.getY();

		AffineTransform trans = AffineTransform::translation(cx, cy);
		g.setColour(Colours::black);
		g.fillPath(p, trans);
		g.setColour(Colours::white);
		g.strokePath(p, PathStrokeType(1), trans);
	}
}
TEST_F(ThreeIndexTestGF,init)
{
    alps::gf::matsubara_index omega; omega=4;
    alps::gf::momentum_index i; i=2;
    alps::gf::index sigma(1);

    gf.initialize();
    std::complex<double> x=gf(omega,i,sigma);
    EXPECT_EQ(0, x.real());
    EXPECT_EQ(0, x.imag());
}
Exemple #20
0
static PyObject*
_gf(PyObject* self, PyObject* o)
{
	double d = PyFloat_AsDouble(o);
	K kobj = gf(d);
	if (!kobj) {
		PyErr_SetString(PyExc_RuntimeError, "gf returned NULL");
		return NULL;
	}
	return _mk_K(kobj);
}
TEST_F(TwoIndexGFTest,Assign)
{
    namespace g=alps::gf;
    g::omega_sigma_gf other_gf(matsubara_mesh(beta, nfreq*2), g::index_mesh(nspins));
    const g::matsubara_index omega(4);
    const g::index sigma(0);
    const std::complex<double> data(3,4);
    gf(omega,sigma)=data;
    
    gf2=gf;
    EXPECT_EQ(data, gf2(omega,sigma));
    EXPECT_THROW(other_gf=gf, std::invalid_argument);
    // EXPECT_EQ(data, other_gf(omega,sigma));
}
Exemple #22
0
int main() {

    

    Transport::GraphFactory gf("/vagrant/dev/yooo/graph.txt-dump", false);
    gf.setAll2();
    const Transport::Graph * gr = gf.get();

    
    cout << my_map.size() << endl;


    return 0;
}
Exemple #23
0
void gen_CLASS (node_t *root, int scopedepth)
{
    currentClass = root->label;

    for(int i = 0; i < root->n_children; i++) {
        node_t *child = root->children[i];

        if(child != NULL) {
            child->generate(child, scopedepth);
        }
    }

    currentClass = NULL;
    gf(root, scopedepth);
}
Exemple #24
0
bool Cartridge::load_file(const char *fn, uint8 *&data, unsigned &size, CompressionMode compression) const {
  if(file::exists(fn) == false) return false;

  Reader::Type filetype = Reader::Normal;
  if(compression == CompressionInspect) filetype = Reader::detect(fn, true);
  if(compression == CompressionAuto) filetype = Reader::detect(fn, snes.config.file.autodetect_type);

  switch(filetype) { default:
    case Reader::Normal: {
      FileReader ff(fn);
      if(!ff.ready()) return false;
      size = ff.size();
      data = ff.read();
    } break;

    #ifdef GZIP_SUPPORT
    case Reader::GZIP: {
      GZReader gf(fn);
      if(!gf.ready()) return false;
      size = gf.size();
      data = gf.read();
    } break;

    case Reader::ZIP: {
      ZipReader zf(fn);
      if(!zf.ready()) return false;
      size = zf.size();
      data = zf.read();
    } break;
    #endif

    #ifdef JMA_SUPPORT
    case Reader::JMA: {
      try {
        JMAReader jf(fn);
        size = jf.size();
        data = jf.read();
      } catch(JMA::jma_errors jma_error) {
        return false;
      }
    } break;
    #endif
  }

  return true;
}
TEST_F(GreensFunctionTailTest, TailSaveLoad)
{
  typedef gfns::greenf<std::complex<double>, gfns::matsubara_mesh<gfns::mesh::POSITIVE_ONLY>, gfns::index_mesh> omega_sigma_gf;
  typedef gfns::gf_tail<omega_sigma_gf, gfns::greenf<double, gfns::index_mesh> > omega_sigma_gf_with_tail;
  typedef gfns::greenf<double, gfns::index_mesh> density_matrix_type;
  density_matrix_type denmat = density_matrix_type(gfns::index_mesh(nspins));

  omega_sigma_gf gf(gfns::matsubara_positive_mesh(beta,nfreq), alps::gf::index_mesh(nspins));

  // prepare diagonal matrix
  double U=3.0;
  denmat.initialize();
  denmat(gfns::index(0))=0.5*U;
  denmat(gfns::index(1))=0.5*U;

  // Attach a tail to the GF
  int order=0;

  omega_sigma_gf_with_tail gft(gf);
  omega_sigma_gf_with_tail gft2(gft);
  EXPECT_EQ(gfns::TAIL_NOT_SET,gft.min_tail_order());
  EXPECT_EQ(gfns::TAIL_NOT_SET,gft.max_tail_order());

  gft.set_tail(order, denmat);

  EXPECT_EQ(0,gft.min_tail_order());
  EXPECT_EQ(0,gft.max_tail_order());
  EXPECT_EQ(0,(denmat - gft.tail(0)).norm());
  {
    alps::hdf5::archive oar("gf_2i_tailsaveload.h5","w");
    gft(gfns::matsubara_index(4),gfns::index(1))=std::complex<double>(7., 3.);
    oar["/gft"] << gft;
  }
  {
    alps::hdf5::archive iar("gf_2i_tailsaveload.h5");

    iar["/gft"] >> gft2;
  }
  EXPECT_EQ(gft2.tail().size(), gft.tail().size()) << "Tail size mismatch";
  EXPECT_NEAR(0, (gft.tail(0)-gft2.tail(0)).norm(), 1E-8)<<"Tail loaded differs from tail stored";

  EXPECT_EQ(7, gft2(gfns::matsubara_index(4), gfns::index(1)).real()) << "GF real part mismatch";
  EXPECT_EQ(3, gft2(gfns::matsubara_index(4), gfns::index(1)).imag()) << "GF imag part mismatch";

}
Exemple #26
0
main(int argc, char* argv[]) 
{
string ausgabe="./";
int NX=256;
int NY=256; //
double rpipe=0.02; // was 0.02
double rbeam=0.02;  // 2*rms
double ne=5.0e12; // was 5.0e12 SPS   1.0e13 LHC
double dx=1.1*2.0*rpipe/(NX-1.0);
double dy=1.1*2.0*rpipe/(NY-1.0);
double rho0=qe*ne; // ion charge density (KV,dc)  


 // Timer
clock_t t1,t2;
float tf;



string data_dir=ausgabe;
data_dir=data_dir + "/";

Grid2D rho_xy(NX,NY,dx,dy,data_dir + "rho_xy.dat"); 
Grid2D pot_xy(NX,NY,dx,dy,data_dir + "pot_xy.dat");

init_rho(rho_xy,rho0,rbeam);

Greenfb gf(rho_xy,1.1*rpipe,rpipe*0.0); // !!!! 1.1

rho_xy.print();

t1=clock();
poisson_xy(rho_xy,gf);  
t2=clock();

tf=(float)t2-(float)t1;
cout << "seconds:" << tf/CLOCKS_PER_SEC << endl;

pot_xy=rho_xy;
pot_xy.print();

}
Exemple #27
0
void gen_FUNCTION ( node_t *root, int scopedepth )
{
    function_symbol_t* entry = root->function_entry;
    int len = strlen(entry->label);
    char *temp = (char*) malloc(sizeof(char) * (len + 3));
    temp[0] = 0;
    strcat(temp, "_");

    if(currentClass != NULL) {
        strcat(temp, currentClass);
        strcat(temp, "_");
    }

    strcat(temp, entry->label);
    strcat(temp, ":");

    instruction_add(STRING, STRDUP(temp), NULL, 0, 0);

    gf(root,scopedepth);
}
TEST_F(ThreeIndexTestGF,Operators)
{
    namespace g=alps::gf;

    for (g::matsubara_index om=g::matsubara_index(0); om<gf.mesh1().extent(); ++om) {
        for (g::momentum_index ii=g::momentum_index(0); ii<gf.mesh2().extent(); ++ii) {
            for (g::index sig=g::index(0); sig<gf.mesh3().extent(); ++sig) {
                std::complex<double> v1(1+om()+ii(), 1+sig());
                std::complex<double> v2=1./v1;
                gf(om,ii,sig)=v1;
                gf2(om,ii,sig)=v2;
            }
        }
    }


    gf_type g_plus=gf+gf2;
    gf_type g_minus=gf-gf2;

    const double tol=1E-8;
                    
    for (g::matsubara_index om=g::matsubara_index(0); om<gf.mesh1().extent(); ++om) {
        for (g::momentum_index ii=g::momentum_index(0); ii<gf.mesh2().extent(); ++ii) {
            for (g::index sig=g::index(0); sig<gf.mesh3().extent(); ++sig) {

                std::complex<double> v1(1+om()+ii(), 1+sig());
                std::complex<double> v2=1./v1;
                
                std::complex<double> r1=v1+v2;
                std::complex<double> r2=v1-v2;
                
                ASSERT_NEAR(r1.real(),g_plus(om,ii,sig).real(),tol);
                ASSERT_NEAR(r1.imag(),g_plus(om,ii,sig).imag(),tol);

                ASSERT_NEAR(r2.real(),g_minus(om,ii,sig).real(),tol);
                ASSERT_NEAR(r2.imag(),g_minus(om,ii,sig).imag(),tol);
            }
        }
    }
}
TEST_F(TwoIndexGFTest,saveload)
{
    namespace g=alps::gf;
    {
        alps::hdf5::archive oar("gf.h5","w");
        gf(g::matsubara_index(4), g::index(1))=std::complex<double>(7., 3.);
        gf.save(oar,"/gf");
    }
    {
        alps::hdf5::archive iar("gf.h5");
        gf2.load(iar,"/gf");
    }
    EXPECT_EQ(7, gf2(g::matsubara_index(4), g::index(1)).real());
    EXPECT_EQ(3, gf2(g::matsubara_index(4), g::index(1)).imag());
    {
        alps::hdf5::archive oar("gf.h5","rw");
        oar["/gf/version/major"]<<7;
        EXPECT_THROW(gf2.load(oar,"/gf"),std::runtime_error);
    }
    EXPECT_EQ(7, gf2(g::matsubara_index(4), g::index(1)).real());
    EXPECT_EQ(3, gf2(g::matsubara_index(4), g::index(1)).imag());
}
Exemple #30
0
	virtual void SetUp() {
		sockaddr_x sa;

		int sock = Xsocket(AF_XIA, SOCK_STREAM, 0);
		XreadLocalHostAddr(sock, ad, XID_LEN, hid, XID_LEN, fid, XID_LEN);
		sprintf(fdag, FULL_DAG, ad, hid, SID);
		Graph gf(fdag);
		gf.fill_sockaddr(&sa);
		XregisterName(FULL_NAME, &sa);

		sprintf(hdag, HOST_DAG, ad, hid);
		Graph gh(hdag);
		gh.fill_sockaddr(&sa);
		XregisterName(HOST_NAME, &sa);
		Xclose(sock);

		nad = new Node(ad);
		nhid = new Node(hid);
		nsid = new Node(SID);

		ai = NULL;
	}