예제 #1
0
bool_t
vml_LanczosArg (VML *vmls, char *name,LanczosArg *objp)
{
	 vml_class_begin(vmls,"LanczosArg",name);
	 if (!vml_RitzMatType (vmls, "RitzMat_lanczos", &objp->RitzMat_lanczos))
		 return FALSE;
	 if (!vml_RitzMatType (vmls, "RitzMat_convcheck", &objp->RitzMat_convcheck))
		 return FALSE;
	 if (!vml_Float (vmls, "mass", &objp->mass))
		 return FALSE;
	 if (!vml_int (vmls, "nk_lanczos_vectors", &objp->nk_lanczos_vectors))
		 return FALSE;
	 if (!vml_int (vmls, "np_lanczos_vectors", &objp->np_lanczos_vectors))
		 return FALSE;
	 if (!vml_Float (vmls, "eigen_shift", &objp->eigen_shift))
		 return FALSE;
	 if (!vml_Float (vmls, "stop_residual", &objp->stop_residual))
		 return FALSE;
	 if (!vml_int (vmls, "maxiters", &objp->maxiters))
		 return FALSE;
	 if (!vml_int (vmls, "save", &objp->save))
		 return FALSE;
	 if (!vml_int (vmls, "conv_check", &objp->conv_check))
		 return FALSE;
	 if (!vml_string (vmls, "results", &objp->results, ~0))
		 return FALSE;
	 if (!vml_string (vmls, "file", &objp->file, ~0))
		 return FALSE;
	 if (!vml_MatrixPolynomialArg (vmls, "matpoly_arg", &objp->matpoly_arg))
		 return FALSE;
	 vml_class_end(vmls,"LanczosArg",name);
	return TRUE;
}
예제 #2
0
bool_t
vml_CgArg (VML *vmls, char *name,CgArg *objp)
{
	 vml_class_begin(vmls,"CgArg",name);
	 if (!vml_Float (vmls, "mass", &objp->mass))
		 return FALSE;
	 if (!vml_Float (vmls, "epsilon", &objp->epsilon))
		 return FALSE;
	 if (!vml_int (vmls, "max_num_iter", &objp->max_num_iter))
		 return FALSE;
	 if (!vml_Float (vmls, "stop_rsd", &objp->stop_rsd))
		 return FALSE;
	 if (!vml_Float (vmls, "true_rsd", &objp->true_rsd))
		 return FALSE;
	 if (!vml_RitzMatType (vmls, "RitzMatOper", &objp->RitzMatOper))
		 return FALSE;
	 if (!vml_InverterType (vmls, "Inverter", &objp->Inverter))
		 return FALSE;
	 if (!vml_int (vmls, "bicgstab_n", &objp->bicgstab_n))
		 return FALSE;
	 if (!vml_string (vmls, "fname_eigen", &objp->fname_eigen, ~0))
		 return FALSE;
	 if (!vml_int (vmls, "neig", &objp->neig))
		 return FALSE;
	 if (!vml_Float (vmls, "eigen_shift", &objp->eigen_shift))
		 return FALSE;
	 if (!vml_Float (vmls, "ama_stop_rsd", &objp->ama_stop_rsd))
		 return FALSE;
	 vml_class_end(vmls,"CgArg",name);
	return TRUE;
}
예제 #3
0
bool_t
vml_MdwfTuningInitArg (VML *vmls, char *name,MdwfTuningInitArg *objp)
{
	 vml_class_begin(vmls,"MdwfTuningInitArg",name);
	 if (!vml_int (vmls, "ls_min", &objp->ls_min))
		 return FALSE;
	 if (!vml_int (vmls, "ls_max", &objp->ls_max))
		 return FALSE;
	 if (!vml_int (vmls, "rc_max", &objp->rc_max))
		 return FALSE;
	 if (!vml_int (vmls, "use_mdwf_for_dwf", &objp->use_mdwf_for_dwf))
		 return FALSE;
	 if (!vml_int (vmls, "use_single_precision", &objp->use_single_precision))
		 return FALSE;
	 if (!vml_Float (vmls, "c5_range", &objp->c5_range))
		 return FALSE;
	 if (!vml_Float (vmls, "rsd_granularity", &objp->rsd_granularity))
		 return FALSE;
	 if (!vml_string (vmls, "tuning_fn", &objp->tuning_fn, ~0))
		 return FALSE;
	 if (!vml_string (vmls, "tuning_record_fn", &objp->tuning_record_fn, ~0))
		 return FALSE;
	 vml_class_end(vmls,"MdwfTuningInitArg",name);
	return TRUE;
}
예제 #4
0
bool_t
vml_QPropWGaussArg (VML *vmls, char *name,QPropWGaussArg *objp)
{
	 vml_class_begin(vmls,"QPropWGaussArg",name);
	int i;
	 if (!vml_int (vmls, "gauss_N", &objp->gauss_N))
		 return FALSE;
	 if (!vml_Float (vmls, "gauss_W", &objp->gauss_W))
		 return FALSE;
	 if (!vml_int (vmls, "nt", &objp->nt))
		 return FALSE;
	 if (!vml_vector (vmls, "mt", (char *)objp->mt, 5,
		sizeof (int), (vmlproc_t) vml_int))
		 return FALSE;
	 if (!vml_GaussianKernelLinkSmearType (vmls, "gauss_link_smear_type", &objp->gauss_link_smear_type))
		 return FALSE;
	 if (!vml_int (vmls, "gauss_link_smear_N", &objp->gauss_link_smear_N))
		 return FALSE;
	 if (!vml_Float (vmls, "gauss_link_smear_coeff", &objp->gauss_link_smear_coeff))
		 return FALSE;
	 //Begin QUDA-CPS
	 if (!vml_int (vmls, "gauss_link_smear_ortho", &objp->gauss_link_smear_ortho))
		 return FALSE;
	 //Begin QUDA-CPS
	 vml_class_end(vmls,"QPropWGaussArg",name);
	return TRUE;
}
예제 #5
0
bool_t
vml_QudaArg (VML *vmls, char *name,QudaArg *objp)
{
	 vml_class_begin(vmls,"QudaArg",name);
	 if (!vml_CudaPrecision (vmls, "gauge_prec", &objp->gauge_prec))
		 return FALSE;
	 if (!vml_CudaPrecision (vmls, "spinor_prec", &objp->spinor_prec))
		 return FALSE;
	 if (!vml_CudaReconstructType (vmls, "reconstruct", &objp->reconstruct))
		 return FALSE;
	 if (!vml_CudaPrecision (vmls, "gauge_prec_sloppy", &objp->gauge_prec_sloppy))
		 return FALSE;
	 if (!vml_CudaPrecision (vmls, "spinor_prec_sloppy", &objp->spinor_prec_sloppy))
		 return FALSE;
	 if (!vml_CudaReconstructType (vmls, "reconstruct_sloppy", &objp->reconstruct_sloppy))
		 return FALSE;
	 if (!vml_Float (vmls, "reliable_delta", &objp->reliable_delta))
		 return FALSE;
	 if (!vml_int (vmls, "max_restart", &objp->max_restart))
		 return FALSE;
	 if (!vml_int (vmls, "device", &objp->device))
		 return FALSE;
	 vml_class_end(vmls,"QudaArg",name);
	return TRUE;
}
예제 #6
0
bool_t
vml_SplitRange (VML *vmls, char *name,SplitRange *objp)
{
	 vml_class_begin(vmls,"SplitRange",name);
	 if (!vml_int (vmls, "split_low", &objp->split_low))
		 return FALSE;
	 if (!vml_int (vmls, "split_high", &objp->split_high))
		 return FALSE;
	 vml_class_end(vmls,"SplitRange",name);
	return TRUE;
}
예제 #7
0
bool_t
vml_QPropWPointArg (VML *vmls, char *name,QPropWPointArg *objp)
{
	 vml_class_begin(vmls,"QPropWPointArg",name);
	 if (!vml_int (vmls, "x", &objp->x))
		 return FALSE;
	 if (!vml_int (vmls, "y", &objp->y))
		 return FALSE;
	 if (!vml_int (vmls, "z", &objp->z))
		 return FALSE;
	 vml_class_end(vmls,"QPropWPointArg",name);
	return TRUE;
}
예제 #8
0
bool_t
vml_QPropWBoxArg (VML *vmls, char *name,QPropWBoxArg *objp)
{
	 vml_class_begin(vmls,"QPropWBoxArg",name);
	 if (!vml_int (vmls, "box_start", &objp->box_start))
		 return FALSE;
	 if (!vml_int (vmls, "box_end", &objp->box_end))
		 return FALSE;
	 if (!vml_int (vmls, "use_xyz_offset", &objp->use_xyz_offset))
		 return FALSE;
	 vml_class_end(vmls,"QPropWBoxArg",name);
	return TRUE;
}
예제 #9
0
bool_t
vml_ActionRationalQuotientArg (VML *vmls, char *name,ActionRationalQuotientArg *objp)
{
	 vml_class_begin(vmls,"ActionRationalQuotientArg",name);
	 if (!vml_ActionBilinearArg (vmls, "bi_arg", &objp->bi_arg))
		 return FALSE;
	 if (!vml_Float (vmls, "spread", &objp->spread))
		 return FALSE;
	 if (!vml_int (vmls, "remez_generate", &objp->remez_generate))
		 return FALSE;
	 if (!vml_string (vmls, "rat_poles_file", &objp->rat_poles_file, ~0))
		 return FALSE;
	 if (!vml_array (vmls, "bsn_mass", (char **)&objp->bsn_mass.bsn_mass_val, (u_int *) &objp->bsn_mass.bsn_mass_len, ~0,
		sizeof (Float), (vmlproc_t) vml_Float))
		 return FALSE;
	 if (!vml_array (vmls, "frm_mass", (char **)&objp->frm_mass.frm_mass_val, (u_int *) &objp->frm_mass.frm_mass_len, ~0,
		sizeof (Float), (vmlproc_t) vml_Float))
		 return FALSE;
	 if (!vml_array (vmls, "bosons", (char **)&objp->bosons.bosons_val, (u_int *) &objp->bosons.bosons_len, ~0,
		sizeof (RationalDescr), (vmlproc_t) vml_RationalDescr))
		 return FALSE;
	 if (!vml_array (vmls, "fermions", (char **)&objp->fermions.fermions_val, (u_int *) &objp->fermions.fermions_len, ~0,
		sizeof (RationalDescr), (vmlproc_t) vml_RationalDescr))
		 return FALSE;
	 if (!vml_EigenDescr (vmls, "eigen", &objp->eigen))
		 return FALSE;
	 vml_class_end(vmls,"ActionRationalQuotientArg",name);
	return TRUE;
}
예제 #10
0
bool_t
vml_QuotientDescr (VML *vmls, char *name,QuotientDescr *objp)
{
	 vml_class_begin(vmls,"QuotientDescr",name);
	 if (!vml_Float (vmls, "bsn_mass", &objp->bsn_mass))
		 return FALSE;
	 if (!vml_Float (vmls, "bsn_mass_epsilon", &objp->bsn_mass_epsilon))
		 return FALSE;
	 if (!vml_Float (vmls, "frm_mass", &objp->frm_mass))
		 return FALSE;
	 if (!vml_Float (vmls, "frm_mass_epsilon", &objp->frm_mass_epsilon))
		 return FALSE;
	 if (!vml_int (vmls, "chrono", &objp->chrono))
		 return FALSE;
	 if (!vml_Float (vmls, "stop_rsd_hb", &objp->stop_rsd_hb))
		 return FALSE;
	 if (!vml_Float (vmls, "stop_rsd_fg_mult", &objp->stop_rsd_fg_mult))
		 return FALSE;
	 if (!vml_Float (vmls, "stop_rsd_md", &objp->stop_rsd_md))
		 return FALSE;
	 if (!vml_Float (vmls, "stop_rsd_mc", &objp->stop_rsd_mc))
		 return FALSE;
	 vml_class_end(vmls,"QuotientDescr",name);
	return TRUE;
}
예제 #11
0
bool_t
vml_IntABArg (VML *vmls, char *name,IntABArg *objp)
{
	 vml_class_begin(vmls,"IntABArg",name);
	 if (!vml_IntegratorType (vmls, "type", &objp->type))
		 return FALSE;
	 if (!vml_int (vmls, "A_steps", &objp->A_steps))
		 return FALSE;
	 if (!vml_int (vmls, "B_steps", &objp->B_steps))
		 return FALSE;
	 if (!vml_IntegratorLevel (vmls, "level", &objp->level))
		 return FALSE;
	 if (!vml_Float (vmls, "lambda", &objp->lambda))
		 return FALSE;
	 vml_class_end(vmls,"IntABArg",name);
	return TRUE;
}
예제 #12
0
bool_t
vml_PbpArg (VML *vmls, char *name,PbpArg *objp)
{
	 vml_class_begin(vmls,"PbpArg",name);
	int i;
	 if (!vml_PatternType (vmls, "pattern_kind", &objp->pattern_kind))
		 return FALSE;
	 if (!vml_int (vmls, "n_masses", &objp->n_masses))
		 return FALSE;
	 if (!vml_Float (vmls, "mass_start", &objp->mass_start))
		 return FALSE;
	 if (!vml_Float (vmls, "mass_step", &objp->mass_step))
		 return FALSE;
	 if (!vml_vector (vmls, "mass", (char *)objp->mass, MAX_PBP_MASSES,
		sizeof (Float), (vmlproc_t) vml_Float))
		 return FALSE;
	 if (!vml_int (vmls, "max_num_iter", &objp->max_num_iter))
		 return FALSE;
	 if (!vml_Float (vmls, "stop_rsd", &objp->stop_rsd))
		 return FALSE;
	 if (!vml_int (vmls, "src_u_s", &objp->src_u_s))
		 return FALSE;
	 if (!vml_int (vmls, "src_l_s", &objp->src_l_s))
		 return FALSE;
	 if (!vml_int (vmls, "snk_u_s", &objp->snk_u_s))
		 return FALSE;
	 if (!vml_int (vmls, "snk_l_s", &objp->snk_l_s))
		 return FALSE;
	 if (!vml_int (vmls, "snk_loop", &objp->snk_loop))
		 return FALSE;
	 vml_class_end(vmls,"PbpArg",name);
	return TRUE;
}
예제 #13
0
bool_t
vml_QPropWGFArg (VML *vmls, char *name,QPropWGFArg *objp)
{
	 vml_class_begin(vmls,"QPropWGFArg",name);
	 if (!vml_int (vmls, "gauge_fix_src", &objp->gauge_fix_src))
		 return FALSE;
	 vml_class_end(vmls,"QPropWGFArg",name);
	return TRUE;
}
예제 #14
0
bool_t
vml_MomArg (VML *vmls, char *name,MomArg *objp)
{
	 vml_class_begin(vmls,"MomArg",name);
	int i;
	 if (!vml_int (vmls, "no_of_momenta", &objp->no_of_momenta))
		 return FALSE;
	 if (!vml_int (vmls, "deg", &objp->deg))
		 return FALSE;
	 if (!vml_int (vmls, "dir", &objp->dir))
		 return FALSE;
	 if (!vml_vector (vmls, "src_begin", (char *)objp->src_begin, 4,
		sizeof (int), (vmlproc_t) vml_int))
		 return FALSE;
	 if (!vml_vector (vmls, "src_end", (char *)objp->src_end, 4,
		sizeof (int), (vmlproc_t) vml_int))
		 return FALSE;
	 vml_class_end(vmls,"MomArg",name);
	return TRUE;
}
예제 #15
0
bool_t
vml_BilinearDescr (VML *vmls, char *name,BilinearDescr *objp)
{
	 vml_class_begin(vmls,"BilinearDescr",name);
	 if (!vml_Float (vmls, "mass", &objp->mass))
		 return FALSE;
	 if (!vml_int (vmls, "max_num_iter", &objp->max_num_iter))
		 return FALSE;
	 vml_class_end(vmls,"BilinearDescr",name);
	return TRUE;
}
예제 #16
0
bool_t
vml_C5State (VML *vmls, char *name,C5State *objp)
{
	 vml_class_begin(vmls,"C5State",name);
	 if (!vml_Float (vmls, "val", &objp->val))
		 return FALSE;
	 if (!vml_int (vmls, "dwf_cg", &objp->dwf_cg))
		 return FALSE;
	 vml_class_end(vmls,"C5State",name);
	return TRUE;
}
예제 #17
0
bool_t
vml_QPropWRandArg (VML *vmls, char *name,QPropWRandArg *objp)
{
	 vml_class_begin(vmls,"QPropWRandArg",name);
	 if (!vml_RandomType (vmls, "rng", &objp->rng))
		 return FALSE;
	 if (!vml_int (vmls, "seed", &objp->seed))
		 return FALSE;
	 vml_class_end(vmls,"QPropWRandArg",name);
	return TRUE;
}
예제 #18
0
bool_t
vml_QPropWSlabArg (VML *vmls, char *name,QPropWSlabArg *objp)
{
	 vml_class_begin(vmls,"QPropWSlabArg",name);
	 if (!vml_QPropWRandArg (vmls, "rand_arg", &objp->rand_arg))
		 return FALSE;
	 if (!vml_int (vmls, "slab_width", &objp->slab_width))
		 return FALSE;
	 vml_class_end(vmls,"QPropWSlabArg",name);
	return TRUE;
}
예제 #19
0
bool_t
vml_RationalDescr (VML *vmls, char *name,RationalDescr *objp)
{
	 vml_class_begin(vmls,"RationalDescr",name);
	 if (!vml_FieldType (vmls, "field_type", &objp->field_type))
		 return FALSE;
	 if (!vml_int (vmls, "power_num", &objp->power_num))
		 return FALSE;
	 if (!vml_int (vmls, "power_den", &objp->power_den))
		 return FALSE;
	 if (!vml_long (vmls, "precision", &objp->precision))
		 return FALSE;
	 if (!vml_Float (vmls, "stop_rsd_fg_mult", &objp->stop_rsd_fg_mult))
		 return FALSE;
	 if (!vml_ApproxDescr (vmls, "md_approx", &objp->md_approx))
		 return FALSE;
	 if (!vml_ApproxDescr (vmls, "mc_approx", &objp->mc_approx))
		 return FALSE;
	 if (!vml_Float (vmls, "stag_bsn_mass", &objp->stag_bsn_mass))
		 return FALSE;
	 vml_class_end(vmls,"RationalDescr",name);
	return TRUE;
}
예제 #20
0
bool_t
vml_HmcArg (VML *vmls, char *name,HmcArg *objp)
{
	 vml_class_begin(vmls,"HmcArg",name);
	 if (!vml_int (vmls, "steps_per_traj", &objp->steps_per_traj))
		 return FALSE;
	 if (!vml_Float (vmls, "step_size", &objp->step_size))
		 return FALSE;
	 if (!vml_MetropolisType (vmls, "metropolis", &objp->metropolis))
		 return FALSE;
	 if (!vml_ReunitarizeType (vmls, "reunitarize", &objp->reunitarize))
		 return FALSE;
	 if (!vml_ReverseTest (vmls, "reverse", &objp->reverse))
		 return FALSE;
	 if (!vml_ReproduceTest (vmls, "reproduce", &objp->reproduce))
		 return FALSE;
	 if (!vml_int (vmls, "reproduce_attempt_limit", &objp->reproduce_attempt_limit))
		 return FALSE;
	 if (!vml_bool (vmls, "wfm_md_sloppy", &objp->wfm_md_sloppy))
		 return FALSE;
	 vml_class_end(vmls,"HmcArg",name);
	return TRUE;
}
예제 #21
0
bool_t
vml_MdwfArg (VML *vmls, char *name,MdwfArg *objp)
{
	 vml_class_begin(vmls,"MdwfArg",name);
	 if (!vml_array (vmls, "b5", (char **)&objp->b5.b5_val, (u_int *) &objp->b5.b5_len, ~0,
		sizeof (Float), (vmlproc_t) vml_Float))
		 return FALSE;
	 if (!vml_array (vmls, "c5", (char **)&objp->c5.c5_val, (u_int *) &objp->c5.c5_len, ~0,
		sizeof (Float), (vmlproc_t) vml_Float))
		 return FALSE;
	 if (!vml_Float (vmls, "M5", &objp->M5))
		 return FALSE;
	 if (!vml_CgArg (vmls, "cg_arg", &objp->cg_arg))
		 return FALSE;
	 if (!vml_array (vmls, "rsd_vec", (char **)&objp->rsd_vec.rsd_vec_val, (u_int *) &objp->rsd_vec.rsd_vec_len, ~0,
		sizeof (Float), (vmlproc_t) vml_Float))
		 return FALSE;
	 if (!vml_int (vmls, "use_single_precision", &objp->use_single_precision))
		 return FALSE;
	 if (!vml_int (vmls, "use_mdwf_for_dwf", &objp->use_mdwf_for_dwf))
		 return FALSE;
	 vml_class_end(vmls,"MdwfArg",name);
	return TRUE;
}
예제 #22
0
bool_t
vml_MatrixPolynomialArg (VML *vmls, char *name,MatrixPolynomialArg *objp)
{
	 vml_class_begin(vmls,"MatrixPolynomialArg",name);
	 if (!vml_int (vmls, "Npol", &objp->Npol))
		 return FALSE;
	 if (!vml_array (vmls, "params", (char **)&objp->params.params_val, (u_int *) &objp->params.params_len, ~0,
		sizeof (Float), (vmlproc_t) vml_Float))
		 return FALSE;
	 if (!vml_Pointer (vmls, "tmp1", &objp->tmp1))
		 return FALSE;
	 if (!vml_Pointer (vmls, "tmp2", &objp->tmp2))
		 return FALSE;
	 vml_class_end(vmls,"MatrixPolynomialArg",name);
	return TRUE;
}
예제 #23
0
bool_t
vml_EigenDescr (VML *vmls, char *name,EigenDescr *objp)
{
	 vml_class_begin(vmls,"EigenDescr",name);
	 if (!vml_EigenMeasure (vmls, "eigen_measure", &objp->eigen_measure))
		 return FALSE;
	 if (!vml_Float (vmls, "stop_rsd", &objp->stop_rsd))
		 return FALSE;
	 if (!vml_int (vmls, "max_num_iter", &objp->max_num_iter))
		 return FALSE;
	 if (!vml_string (vmls, "eig_lo_stem", &objp->eig_lo_stem, ~0))
		 return FALSE;
	 if (!vml_string (vmls, "eig_hi_stem", &objp->eig_hi_stem, ~0))
		 return FALSE;
	 vml_class_end(vmls,"EigenDescr",name);
	return TRUE;
}
예제 #24
0
bool_t
vml_FermionDescr (VML *vmls, char *name,FermionDescr *objp)
{
	 vml_class_begin(vmls,"FermionDescr",name);
	 if (!vml_Float (vmls, "epsilon", &objp->epsilon))
		 return FALSE;
	 if (!vml_int (vmls, "chrono", &objp->chrono))
		 return FALSE;
	 if (!vml_Float (vmls, "stop_rsd_fg_mult", &objp->stop_rsd_fg_mult))
		 return FALSE;
	 if (!vml_Float (vmls, "stop_rsd_md", &objp->stop_rsd_md))
		 return FALSE;
	 if (!vml_Float (vmls, "stop_rsd_mc", &objp->stop_rsd_mc))
		 return FALSE;
	 vml_class_end(vmls,"FermionDescr",name);
	return TRUE;
}
예제 #25
0
bool_t
vml_ActionRationalArg (VML *vmls, char *name,ActionRationalArg *objp)
{
	 vml_class_begin(vmls,"ActionRationalArg",name);
	 if (!vml_ActionBilinearArg (vmls, "bi_arg", &objp->bi_arg))
		 return FALSE;
	 if (!vml_int (vmls, "remez_generate", &objp->remez_generate))
		 return FALSE;
	 if (!vml_string (vmls, "rat_poles_file", &objp->rat_poles_file, ~0))
		 return FALSE;
	 if (!vml_array (vmls, "rationals", (char **)&objp->rationals.rationals_val, (u_int *) &objp->rationals.rationals_len, ~0,
		sizeof (RationalDescr), (vmlproc_t) vml_RationalDescr))
		 return FALSE;
	 if (!vml_EigenDescr (vmls, "eigen", &objp->eigen))
		 return FALSE;
	 vml_class_end(vmls,"ActionRationalArg",name);
	return TRUE;
}
예제 #26
0
bool_t
vml_MdwfTuning (VML *vmls, char *name,MdwfTuning *objp)
{
	 vml_class_begin(vmls,"MdwfTuning",name);
	 if (!vml_int (vmls, "stage", &objp->stage))
		 return FALSE;
	 if (!vml_int (vmls, "ls_min", &objp->ls_min))
		 return FALSE;
	 if (!vml_int (vmls, "ls_max", &objp->ls_max))
		 return FALSE;
	 if (!vml_int (vmls, "index", &objp->index))
		 return FALSE;
	 if (!vml_int (vmls, "opti_index", &objp->opti_index))
		 return FALSE;
	 if (!vml_Float (vmls, "opti_time", &objp->opti_time))
		 return FALSE;
	 if (!vml_array (vmls, "mdwf_arg", (char **)&objp->mdwf_arg.mdwf_arg_val, (u_int *) &objp->mdwf_arg.mdwf_arg_len, ~0,
		sizeof (MdwfArg), (vmlproc_t) vml_MdwfArg))
		 return FALSE;
	 if (!vml_array (vmls, "c5", (char **)&objp->c5.c5_val, (u_int *) &objp->c5.c5_len, ~0,
		sizeof (C5State), (vmlproc_t) vml_C5State))
		 return FALSE;
	 if (!vml_Float (vmls, "rsd_val", &objp->rsd_val))
		 return FALSE;
	 if (!vml_Float (vmls, "rsd_time", &objp->rsd_time))
		 return FALSE;
	 if (!vml_Float (vmls, "rsd_granularity", &objp->rsd_granularity))
		 return FALSE;
	 if (!vml_Float (vmls, "c5_range", &objp->c5_range))
		 return FALSE;
	 if (!vml_int (vmls, "rc_max", &objp->rc_max))
		 return FALSE;
	 if (!vml_int (vmls, "rc_val", &objp->rc_val))
		 return FALSE;
	 if (!vml_Float (vmls, "rc_time", &objp->rc_time))
		 return FALSE;
	 vml_class_end(vmls,"MdwfTuning",name);
	return TRUE;
}
예제 #27
0
bool_t
vml_MeasArg (VML *vmls, char *name,MeasArg *objp)
{
    vml_class_begin(vmls,"MeasArg",name);
    if (!vml_FclassType (vmls, "Fermion", &objp->Fermion))
        return FALSE;
    if (!vml_GclassType (vmls, "Gluon", &objp->Gluon))
        return FALSE;
    if (!vml_string (vmls, "WorkDirectory", &objp->WorkDirectory, ~0))
        return FALSE;
    if (!vml_string (vmls, "GaugeStem", &objp->GaugeStem, ~0))
        return FALSE;
    if (!vml_string (vmls, "RNGStem", &objp->RNGStem, ~0))
        return FALSE;
    if (!vml_MeasIOTask (vmls, "GaugeIO", &objp->GaugeIO))
        return FALSE;
    if (!vml_MeasIOTask (vmls, "RNGIO", &objp->RNGIO))
        return FALSE;
    if (!vml_int (vmls, "TrajStart", &objp->TrajStart))
        return FALSE;
    if (!vml_int (vmls, "TrajIncrement", &objp->TrajIncrement))
        return FALSE;
    if (!vml_int (vmls, "TrajLessThanLimit", &objp->TrajLessThanLimit))
        return FALSE;
    if (!vml_int (vmls, "TrajCur", &objp->TrajCur))
        return FALSE;
    if (!vml_int (vmls, "HdwXCsum", &objp->HdwXCsum))
        return FALSE;
    if (!vml_int (vmls, "HdwRCsum", &objp->HdwRCsum))
        return FALSE;
    if (!vml_int (vmls, "IOconcurrency", &objp->IOconcurrency))
        return FALSE;
    if (!vml_array (vmls, "TaskList", (char **)&objp->TaskList.TaskList_val, (u_int *) &objp->TaskList.TaskList_len, ~0,
                    sizeof (MeasTask), (vmlproc_t) vml_MeasTask))
        return FALSE;
    vml_class_end(vmls,"MeasArg",name);
    return TRUE;
}
예제 #28
0
bool_t
vml_DensArg (VML *vmls, char *name,DensArg *objp)
{
	 vml_class_begin(vmls,"DensArg",name);
	int i;
	 if (!vml_int (vmls, "n_src", &objp->n_src))
		 return FALSE;
	 if (!vml_int (vmls, "max_deri", &objp->max_deri))
		 return FALSE;
	 if (!vml_int (vmls, "max_save", &objp->max_save))
		 return FALSE;
	 if (!vml_int (vmls, "n_obs", &objp->n_obs))
		 return FALSE;
	 if (!vml_vector (vmls, "obs", (char *)objp->obs, MAX_DENS_OBS,
		sizeof (int), (vmlproc_t) vml_int))
		 return FALSE;
	 if (!vml_PatternType (vmls, "pattern_kind", &objp->pattern_kind))
		 return FALSE;
	 if (!vml_int (vmls, "n_masses", &objp->n_masses))
		 return FALSE;
	 if (!vml_Float (vmls, "mass_start", &objp->mass_start))
		 return FALSE;
	 if (!vml_Float (vmls, "mass_step", &objp->mass_step))
		 return FALSE;
	 if (!vml_vector (vmls, "mass", (char *)objp->mass, MAX_DENS_MASSES,
		sizeof (Float), (vmlproc_t) vml_Float))
		 return FALSE;
	 if (!vml_int (vmls, "max_num_iter", &objp->max_num_iter))
		 return FALSE;
	 if (!vml_Float (vmls, "stop_rsd", &objp->stop_rsd))
		 return FALSE;
	 if (!vml_int (vmls, "src_u_s", &objp->src_u_s))
		 return FALSE;
	 if (!vml_int (vmls, "src_l_s", &objp->src_l_s))
		 return FALSE;
	 if (!vml_int (vmls, "snk_u_s", &objp->snk_u_s))
		 return FALSE;
	 if (!vml_int (vmls, "snk_l_s", &objp->snk_l_s))
		 return FALSE;
	 if (!vml_int (vmls, "snk_loop", &objp->snk_loop))
		 return FALSE;
	 vml_class_end(vmls,"DensArg",name);
	return TRUE;
}
예제 #29
0
bool_t
vml_QPropWArg (VML *vmls, char *name,QPropWArg *objp)
{
	 vml_class_begin(vmls,"QPropWArg",name);
	 if (!vml_CgArg (vmls, "cg", &objp->cg))
		 return FALSE;
	 if (!vml_string (vmls, "file", &objp->file, ~0))
		 return FALSE;
	 if (!vml_int (vmls, "x", &objp->x))
		 return FALSE;
	 if (!vml_int (vmls, "y", &objp->y))
		 return FALSE;
	 if (!vml_int (vmls, "z", &objp->z))
		 return FALSE;
	 if (!vml_int (vmls, "t", &objp->t))
		 return FALSE;
	 if (!vml_int (vmls, "gauge_fix_src", &objp->gauge_fix_src))
		 return FALSE;
	 if (!vml_int (vmls, "gauge_fix_snk", &objp->gauge_fix_snk))
		 return FALSE;
	 if (!vml_int (vmls, "smeared_src", &objp->smeared_src))
		 return FALSE;
	 if (!vml_int (vmls, "smeared_snk", &objp->smeared_snk))
		 return FALSE;
	 if (!vml_int (vmls, "store_midprop", &objp->store_midprop))
		 return FALSE;
	 if (!vml_int (vmls, "save_prop", &objp->save_prop))
		 return FALSE;
	 if (!vml_int (vmls, "save_ls_prop", &objp->save_ls_prop))
		 return FALSE;
	 if (!vml_int (vmls, "do_half_fermion", &objp->do_half_fermion))
		 return FALSE;
	 if (!vml_SourceType (vmls, "SeqSmearSink", &objp->SeqSmearSink))
		 return FALSE;
	 if (!vml_string (vmls, "ensemble_label", &objp->ensemble_label, ~0))
		 return FALSE;
	 if (!vml_string (vmls, "ensemble_id", &objp->ensemble_id, ~0))
		 return FALSE;
	 if (!vml_int (vmls, "seqNum", &objp->seqNum))
		 return FALSE;
	 if (!vml_int (vmls, "StartSrcSpin", &objp->StartSrcSpin))
		 return FALSE;
	 if (!vml_int (vmls, "EndSrcSpin", &objp->EndSrcSpin))
		 return FALSE;
	 if (!vml_int (vmls, "StartSrcColor", &objp->StartSrcColor))
		 return FALSE;
	 if (!vml_int (vmls, "EndSrcColor", &objp->EndSrcColor))
		 return FALSE;
	 vml_class_end(vmls,"QPropWArg",name);
	return TRUE;
}