#delete_macros 
	{ 
		AB
		Absorption_Edge_Correction
		Absorption_With_Sample_Thickness_mm_Shape
		Absorption_With_Sample_Thickness_mm_Shape_Intensity
		Apply_Brindley_Spherical_R_PD
		Capillary_Offset_Cos_2Th_mm
		Capillary_Offset_Sin_2Th_mm
		CS_G
		CS_L
		Cubic_F
		Cubic_I
		Cubic_P
		Cycle_Ramp
		Cylindrical_2Th_Correction
		Cylindrical_I_Correction
		Divergence
		Divergence_Sample_Length
		e0_from_Strain
		FDS_BS_Shape
		Finger_et_al
		Index_x0_from_d
		Index_x0_from_th2
		K_Factor_MAC_K
		K_Factor_WP
		Lorentz_Factor
		LP_Factor
		LVol_CS_G_L
		LVol_FWHM_CS_G_L
		Mixture_LAC_1_on_cm
		Monoclinic_C
		Monoclinic_P
		One_on_X
		Orthorhombic_C
		Orthorhombic_F
		Orthorhombic_I
		Orthorhombic_P
		Out_cf_hkl
		Out_for_cf
		Phase_Density_g_on_cm3
		Phase_LAC_1_on_cm
		Pick
		PO
		PO_Spherical_Harmonics
		PO_Two_Directions
		PVII_h
		PVII_m
		PVII_Peak_Type
		PV_Peak_Type
		Ramp
		Ramp_Clamp
		Sample_Thickness
		Scherrer
		SD
		Simple_Axial_Model
		Specimen_Tilt
		SPVII_to_PVII_Peak_type
		Stephens_cubic
		Stephens_hexagonal
		Stephens_monoclinic
		Stephens_orthorhombic
		Stephens_tetragonal_high
		Stephens_tetragonal_low
		Stephens_triclinic
		Stephens_trigonal_high
		Stephens_trigonal_high_2
		Stephens_trigonal_low
		Strain
		Strain_G
		Strain_L
		Surface_Roughness_Pitschke_et_al
		Surface_Roughness_Suortti
		SW
		TCHZ_Peak_Type
		Tetragonal_I
		Tetragonal_P
		Triclinic_P
		Trigonal_Hexagonal_P
		Trigonal_Hexagonal_R
		Tube_Tails
		User_Defined_Dependence_Convolution
		UVW
		Variable_Divergence
		Variable_Divergence_Intensity
		Variable_Divergence_Shape
		ZE
	}  
macro Out_cf_hkl(w)
	{
		out_hkl_for_cf	w
	}
macro Out_for_cf(w)
	{
		out_a_for_cf w
	}
macro Stephens_triclinic
	(
		etac, etav,
		s400c,s400v,
		s040c,s040v,
		s004c,s004v,
		s220c,s220v,
		s202c,s202v,
		s022c,s022v,
		s310c,s310v,
		s103c,s103v,
		s031c,s031v,
		s130c,s130v,
		s301c,s301v,
		s013c,s013v,
		s211c,s211v,
		s121c,s121v,
		s112c,s112v
	)
	{
		sm_type "Stephens_triclinic"
		sm_eta etac etav
		s400 s400c s400v
		s040 s040c s040v
		s004 s004c s004v
		s220 s220c s220v
		s202 s202c s202v
		s022 s022c s022v
		s310 s310c s310v
		s103 s103c s103v
		s031 s031c s031v
		s130 s130c s130v
		s301 s301c s301v
		s013 s013c s013v
		s211 s211c s211v
		s121 s121c s121v
		s112 s112c s112v
	}		   
macro Stephens_monoclinic
	(
		etac, etav,
		s400c,s400v,	
		s040c,s040v,
		s004c,s004v,
		s220c,s220v,
		s202c,s202v,
		s022c,s022v,
		s121c,s121v,
		s103c,s103v,
		s301c,s301v
	)
	{
		sm_type "Stephens_monoclinic"
		sm_eta etac etav
		s400 s400c s400v	
		s040 s040c s040v
		s004 s004c s004v
		s220 s220c s220v
		s202 s202c s202v
		s022 s022c s022v
		s121 s121c s121v
		s103 s103c s103v
		s301 s301c s301v
	}
macro Stephens_orthorhombic
	(
		etac, etav,
		s400c,s400v,
		s040c,s040v,
		s004c,s004v,
		s220c,s220v,
		s202c,s202v,
		s022c,s022v
	)
	{
		sm_type "Stephens_orthorhombic"
		sm_eta etac etav
		s400 s400c s400v
		s040 s040c s040v
		s004 s004c s004v
		s220 s220c s220v
		s202 s202c s202v
		s022 s022c s022v
	}
macro Stephens_tetragonal_low
	(
		etac, etav,
		s400c,s400v,
		s004c,s004v,
		s220c,s220v,
		s202c,s202v,
		s310c,s310v
	)
	{
		sm_type "Stephens_tetragonal_low"
		sm_eta etac etav
		s400 s400c s400v
		s004 s004c s004v
		s220 s220c s220v
		s202 s202c s202v
		s310 s310c s310v
	}
macro Stephens_tetragonal_high
	(
		etac, etav,
		s400c,s400v,
		s004c,s004v,
		s220c,s220v,
		s202c,s202v
	)
	{
		sm_type "Stephens_tetragonal_high"
		sm_eta etac etav
		s400 s400c s400v
		s004 s004c s004v
		s220 s220c s220v
		s202 s202c s202v
	}
macro Stephens_trigonal_low
	(
		etac, etav,
		s400c,s400v,
		s004c,s004v,
		s220c,s220v,
		s202c,s202v,
		s310c,s310v
	)
	{
		sm_type "Stephens_trigonal_low"
		sm_eta etac etav
		s400 s400c s400v
		s004 s004c s004v
		s220 s220c s220v
		s202 s202c s202v
		s310 s310c s310v
	}
macro Stephens_trigonal_high
	(
		etac, etav,
		s400c,s400v,
		s004c,s004v,
		s202c,s202v,
		s211c,s211v
	)
	{
		sm_type "Stephens_trigonal_high"
		sm_eta etac etav
		s400 s400c s400v
		s004 s004c s004v
		s202 s202c s202v
		s211 s211c s211v
	}
macro Stephens_trigonal_high_2
	(
		etac, etav,
		s400c,s400v,
		s004c,s004v,
		s202c,s202v,
		s211c,s211v
	)
	{
		sm_type "Stephens_trigonal_high_2"
		sm_eta etac etav
		s400 s400c s400v
		s004 s004c s004v
		s202 s202c s202v
		s211 s211c s211v
	}
macro Stephens_hexagonal
	(
		etac, etav,
		s400c,s400v,
		s004c,s004v,
		s202c,s202v
	)
	{
		sm_type "Stephens_hexagonal"
		sm_eta etac etav
		s400 s400c s400v
		s004 s004c s004v
		s202 s202c s202v
	}
macro Stephens_cubic
	(
		etac, etav,
		s400c,s400v,
		s220c,s220v	
	)
	{
		sm_type "Stephens_cubic"
		sm_eta etac etav
		s400 s400c s400v
		s220 s220c s220v	
	}	   		
macro Capillary_Offset_Sin_2Th_mm(c, v) { _capillary_offset_sin_2th_mm Fix_If_Eqn(c, v) }
macro Capillary_Offset_Sin_2Th_mm(v) { Capillary_Offset_Sin_2Th_mm(,v) }
macro Capillary_Offset_Cos_2Th_mm(c, v) { _capillary_offset_cos_2th_mm Fix_If_Eqn(c, v) }
macro Capillary_Offset_Cos_2Th_mm(v) { Capillary_Offset_Cos_2Th_mm(,v) }
macro K_Factor_WP(w) { _k_factor_wp w }
macro K_Factor_MAC_K(mac, k, amor) { _k_factor_mac mac _k_factor_k k _k_factor_amor amor }
macro Finger_et_al(cvs, cvh) { _finger_s cvs _finger_h cvh }
macro Lorentz_Factor { }
macro LP_Factor(c, v) { _lp_factor Fix_If_Eqn(c, v) }
macro LP_Factor(v) { LP_Factor(,v) }
macro Surface_Roughness_Pitschke_et_al(a1c, a1v, a2c, a2v) { _sr_pitschke_a1 Fix_If_Eqn(a1c, a1v) _sr_pitschke_a2 Fix_If_Eqn(a2c, a2v) }
macro Surface_Roughness_Suortti(a1c, a1v, a2c, a2v) { _sr_suortti_a1 Fix_If_Eqn(a1c, a1v) _sr_suortti_a2 Fix_If_Eqn(a2c, a2v) }
macro SW(c, v) { _sw Fix_If_Eqn(c, v) }
macro SW(v) { SW(, v) }
macro ZE(c, v) { _ze Fix_If_Eqn(c, v) }
macro ZE(v) { ZE(,v) }
macro CS_L(c, v) { _cs Fix_If_Eqn(c, v) }
macro CS_L(v) { CS_L(,v) }
macro CS_G(c, v) { _csg Fix_If_Eqn(c, v) }
macro CS_G(v) { CS_G(,v) }
macro Strain_L(c, v) { _ms Fix_If_Eqn(c, v) }
macro Strain_L(v) { Strain_L(,v) }
macro Strain_G(c, v) { _msg Fix_If_Eqn(c, v) }
macro Strain_G(v) { Strain_G(,v) }
macro User_Defined_Dependence_Convolution(convtype, x_dep, c, v)
	{
		_user_dep_conv Fix_If_Eqn(c, v)    
			_conv_type 
				#m_ifarg convtype "hat" 
					"Hat"
				#m_else
					#m_ifarg convtype "lor_fwhm"
						"Lorentzian"
					#m_else
						#m_ifarg convtype "gauss_fwhm"
							"Gaussian"
						#m_else
							#m_ifarg convtype "circles_conv"
								"Circles"
							#m_else
								#m_ifarg convtype "exp_conv_const"
									"Exponential"
								#m_else
									#m_ifarg convtype "one_on_x_conv"
										"One_on_X_conv"
									#m_else
										convtype                          
									#m_endif         
								#m_endif         
							#m_endif         
						#m_endif         
					#m_endif         
				#m_endif         
			#m_ifarg x_dep "" 
				_th2_dep "Constant"
			#m_else 
				_th2_dep Double_Quote x_dep Double_Quote
			#m_endif         
	}
macro Phase_Density_g_on_cm3(v) { _pden v }
macro Phase_LAC_1_on_cm(v) { _plac v }
macro One_on_X(c, v) { _one_on_x Fix_If_Eqn(c, v) }
macro One_on_X(v) { One_on_X(,v) }
macro SD(c, v) { _sd Fix_If_Eqn(c, v) }
macro SD(v) { SD(,v) }
macro AB(c, v) { _ab Fix_If_Eqn(c, v) }
macro AB(v) { AB(,v) }
macro Sample_Thickness(c, v) { _spec_depth Fix_If_Eqn(c, v) }
macro Sample_Thickness(v) { Sample_Thickness(,v) }
macro Simple_Axial_Model(c, v) { _simple_axial Fix_If_Eqn(c, v) }
macro Simple_Axial_Model(v) { Simple_Axial_Model(,v) }
macro Specimen_Tilt(c, v) { _st Fix_If_Eqn(c, v) }
macro Specimen_Tilt(v) { Specimen_Tilt(,v) }
macro Strain(c, v) 
	{ 
		_mess "|Strain has been converted to |Strain_G"
		_msg     
		#m_ifarg c #m_eqn
			= 2.69129 c; 
		#m_else
			c : = 2.69129 #m_first_word v v;
		#m_endif
	}
macro Strain(v) { _msg = 2.69129 v; }
macro PO(c, v, ang, hkl) { _pomd1 Fix_If_Eqn(c, v) If_Not_Blank(hkl, _po_hkl hkl) } 
macro PO(v, ang, hkl) { PO(, v, ang, hkl) } 
macro PO_Two_Directions(
	c1, v1, ang1, hkl1,
   c2, v2, ang2, hkl2,
   w1c, w1v)
	{
		_pomd1 Fix_If_Eqn(c1, v1) If_Not_Blank(hkl1, _po_hkl hkl1)
		_pomd2 Fix_If_Eqn(c2, v2) If_Not_Blank(hkl2, _po_hkl hkl2)
		_pomd_fract_1 Fix_If_Eqn(w1c, w1v) 
	}
macro PVII_m(c, v) { _pvii_m Fix_If_Eqn(c, v) }
macro PVII_m(v) { PVII_m(,v) }
macro PVII_h(c, v) { _pvii_h Fix_If_Eqn(c, v) }
macro PVII_h(v) { PVII_h(,v) }
macro SPVII_to_PVII_Peak_type { peak_type pvii }
macro Scherrer(k, fwhm, s, csize) { _k_scherrer k _s_scherrer s _csize_scherrer csize }
macro PO_Spherical_Harmonics(sh, order) { If_Not_Blank(sh, spherical_harmonics_hkl sh)  sh_order order }
macro UVW(u, uv, v, vv, w, wv)           
	{
		_dummy_prm Fix_If_Eqn(u, uv) 
		_dummy_prm Fix_If_Eqn(v, vv) 
		_dummy_prm Fix_If_Eqn(w, wv) 
		_mess "|UVW as convolutions are no longer supported. Please change the peak type to PV_TCHZ to continue use of |UVW parameters"
	}
macro PV_Peak_Type(ha, hav, hb, hbv, hc, hcv, lora, lorav, lorb, lorbv, lorc, lorcv)
	{
		peak_type PV_MOD
		_pv_a  Fix_If_Eqn(ha,   hav) 
		_pv_b  Fix_If_Eqn(hb,   hbv) 
		_pv_c  Fix_If_Eqn(hc,   hcv) 
		_pv_la Fix_If_Eqn(lora, lorav) 
		_pv_lb Fix_If_Eqn(lorb, lorbv) 
		_pv_lc Fix_If_Eqn(lorc, lorcv)
	}
macro TCHZ_Peak_Type(u, uv, v, vv, w, wv, z, zv, x, xv, y, yv)
	{
		peak_type PV_TCHZ
		_tchz_u Fix_If_Eqn(u, uv) 
		_tchz_v Fix_If_Eqn(v, vv) 
		_tchz_w Fix_If_Eqn(w, wv) 
		_tchz_z Fix_If_Eqn(z, zv) 
		_tchz_x Fix_If_Eqn(x, xv) 
		_tchz_y Fix_If_Eqn(y, yv)
	}
macro PVII_Peak_Type(ha, hav,	hb, hbv,	hc, hcv,	ma, mav,	mb, mbv,	mc, mcv)
	{
		peak_type pvii
		_pvii_ha Fix_If_Eqn(ha, hav)	
		_pvii_hb Fix_If_Eqn(hb, hbv)	
		_pvii_hc Fix_If_Eqn(hc, hcv)	
		_pvii_ma Fix_If_Eqn(ma, mav)	
		_pvii_mb Fix_If_Eqn(mb, mbv)	
		_pvii_mc Fix_If_Eqn(mc, mcv)
	}
macro Absorption_With_Sample_Thickness_mm_Shape(u, uv, d, dv)
	{
		AB(u, uv)
		Sample_Thickness(d, dv)
	}
macro Absorption_With_Sample_Thickness_mm_Shape_Intensity(u, uv, d, dv)
	{
		Absorption_With_Sample_Thickness_mm_Shape(u, uv, d, dv)
		_ab_I
	}
macro LVol_CS_G_L(k, lvol, csgc, csgv, cslc, cslv)
	{
		_lvolk k
		_lvol lvol
		If_c_or_v_Ok(csgc, csgv, CS_G(csgc, csgv))
		If_c_or_v_Ok(cslc, cslv, CS_L(cslc, cslv))
	}          
macro LVol_FWHM_CS_G_L(k, lvol, kf, lvolf, csgc, csgv, cslc, cslv)
	{
		_lvolk k
		_lvol lvol
		_lvolkf kf
		_lvolf lvolf
		If_c_or_v_Ok(csgc, csgv, CS_G(csgc, csgv))
		If_c_or_v_Ok(cslc, cslv, CS_L(cslc, cslv))
	}          
macro e0_from_Strain(e0, sgc, sgv, slc, slv)
	{
		_e0 e0
		If_c_or_v_Ok(sgc, sgv, Strain_G(sgc, sgv))
		If_c_or_v_Ok(slc, slv, Strain_L(slc, slv))
	}          
macro Apply_Brindley_Spherical_R_PD(r, pd)
	{
		_brind r
		_packd pd
	}
macro Divergence(c, v) { _fsfa Fix_If_Eqn(c, v) }
macro Divergence_Sample_Length(c, v, slc, slv) 
	{ 
		_fsfa Fix_If_Eqn(c, v) 
		_fsfa_sam_len Fix_If_Eqn(slc, slv) 
		_fds_bs_ci 1
	}
macro FDS_BS_Shape(c, v, slc, slv) 
	{ 
		_fsfa Fix_If_Eqn(c, v) 
		_fsfa_sam_len Fix_If_Eqn(slc, slv) 
		_fds_bs_ci 0
	}
macro Divergence(v) { Divergence(,v) }
macro Cylindrical_I_Correction(c, v) { _cyl_I_corr Fix_If_Eqn(c, v)  }
macro Cylindrical_I_Correction(v) { Cylindrical_I_Correction(,v) }
macro Cylindrical_2Th_Correction(c, v) { _cyl_2Th_corr Fix_If_Eqn(c, v)  }
macro Cylindrical_2Th_Correction(v) { Cylindrical_2Th_Correction(,v) }
macro Variable_Divergence(c, v) { _fsfl Fix_If_Eqn(c, v) _fsfl_I }
macro Variable_Divergence(v) { Variable_Divergence(,v) }
macro Variable_Divergence_Intensity { 	_fsfl_I }
macro Variable_Divergence_Shape(c, v) { _fsfl Fix_If_Eqn(c, v) }
macro Variable_Divergence_Shape(v) { Variable_Divergence_Shape(,v) }
macro Tube_Tails(
	source_width_c, source_width_v, 
   z1_c, z1_v, 
   z2_c, z2_v, 
   z1_z2_h_c, z1_z2_h_v 
   )
	{     
		_tt_sw Fix_If_Eqn(source_width_c, source_width_v)	
		_tt_z1 Fix_If_Eqn(z1_c, z1_v)	
		_tt_z2 Fix_If_Eqn(z2_c, z2_v)	
		_tt_fr Fix_If_Eqn(z1_z2_h_c, z1_z2_h_v)	
	}
macro Index_x0_from_d(x0) { index_x0_ x0 }
macro Index_x0_from_d(x0, worder) { index_x0_ x0 index_x0_order_ worder }
macro Index_x0_from_th2(x0) { index_x0_ x0 }
macro Index_x0_from_th2(x0, worder) { index_x0_ x0 index_x0_order_ worder }

macro Mixture_LAC_1_on_cm(w)	
	{
		_mLAC	= w;
	}
macro Absorption_Edge_Correction(
   max_lam,
   cedge,       vedge,
   ca_white,    va_white,
   cb_white,    vb_white,
   ca_erf,      va_erf,
   cedge_extra, vedge_extra)
	{
		absorption_edge Fix_If_Eqn(cedge, vedge) 
			edge_max_lam max_lam
			a_white Fix_If_Eqn(ca_white, va_white) 
			b_white Fix_If_Eqn(cb_white, vb_white) 
			a_erf Fix_If_Eqn(ca_erf, va_erf) 
			edge_extra Fix_If_Eqn(cedge_scale, vedge_extra) 
	}
macro Pick(& n)
	{
		_gui_pick = n;
	}
' ---------------------------------------
#delete_macros 
	{
		Gr_bkg
		Gr_hat
		dQ_damping
		dQ_lor_damping
		convolute_Qmax_Sinc
		convolute_alpha
	}
macro Gr_bkg(ac, av, bc, bv, cc, cv)
	{
		_fo_cos_a Fix_If_Eqn(ac, av) 
		_fo_cos_b Fix_If_Eqn(bc, bv) 
		_fo_cos_c Fix_If_Eqn(cc, cv) 
	}			 
macro Gr_hat(c, v, numhats)
	{
		_gr_hat Fix_If_Eqn(c, v)
		_gr_num_hats numhats
	}			 		 
macro dQ_damping(dQ,dQv)
	{
		_dQ_damping Fix_If_Eqn(dQ, dQv) 
	}
macro dQ_lor_damping(dQ, dQv, lor, lorv)
	{
		_dQ_lor_damping_dQ Fix_If_Eqn(dQ, dQv) 
		_dQ_lor_damping_lor Fix_If_Eqn(lor, lorv) 
	}
macro convolute_Qmax_Sinc(qmax_, qmaxv_)
	{
		_convolute_Qmax_Sinc Fix_If_Eqn(qmax_, qmaxv_) 
	}
macro convolute_alpha(c, v)
	{
		_convolute_alpha Fix_If_Eqn(c, v) 
	}
' ---------------------------------------
	
 