SIMPLE_FORMULA_FAMILY ; FORMULA
{
	FORMULA [ beautify = false ] {
		'F+G'             ; SAMPLE_FORMULA_DOD
		'F+x'           ; SAMPLE_FORMULA_DON
		'x+F'           ; SAMPLE_FORMULA_NOD
#		'x+y'           ; SAMPLE_FORMULA_NON
		'f(F)'            ; SAMPLE_FORMULA_FD
#		'f(x)'          ; SAMPLE_FORMULA_FN
		'f(F,G)'       ; SAMPLE_FORMULA_FDD
		'f(F,x)'     ; SAMPLE_FORMULA_FDN
		'f(x,F)'     ; SAMPLE_FORMULA_FND
#		'f(x,y)'        ; SAMPLE_FORMULA_FNN
	}= SAMPLE_FORMULA_DOD
}

_FUNCTIONS
{

	FUNCTION1 {
		'-' ; neg
		not
		sgn
		int

		abs
		sqrt

		log
		log10
		exp

		sin
		cos
		tan

		asin
		acos
		atan
		
		coslat
		sinlat

#		maxvalue
#		minvalue
		count
		mean
		rms
		stdev
		sum
		var
	} = neg

	FUNCTION2 {
		max
		min
		covar
		div
		merge
		mod
		interpolate
	} = max

	FUNCTION3 {
		max
		min
	} = max

	OPERATORS {
		'+ '  
		'- ' 
		'/ '
		'* ' 
		'^ '  
		'> '  
		'>=' 
		'< '  
		'<=' 
		'= '  
		'<>'
		and
		or
	} = '-'

}

SAMPLE_FORMULA_DOD {
	PARAMETER_1 [ interface = icon, class = GRIB/GEOPOINTS ] { @ }
	OPERATOR    [ beautify = false,interface=menu ] { &_FUNCTIONS&OPERATORS } = '-'
	PARAMETER_2 [ interface = icon, class = GRIB/GEOPOINTS ] { @ }
}

SAMPLE_FORMULA_DON {
	PARAMETER_1 [ interface = icon, class = GRIB/GEOPOINTS ] { @ }
	OPERATOR    [ beautify = false,interface=menu ] { &_FUNCTIONS&OPERATORS } = '-'
	PARAMETER_2                      { * } = 0
}

SAMPLE_FORMULA_NOD {
	PARAMETER_1                      { * } = 0
	OPERATOR    [ beautify = false,interface=menu ] { &_FUNCTIONS&OPERATORS } = '-'
	PARAMETER_2 [ interface = icon, class = GRIB/GEOPOINTS ] { @ }
}

#SAMPLE_FORMULA_NON {
#	PARAMETER_1                      { * } = 0
#	OPERATOR    [ beautify = false,interface=menu ] { &_FUNCTIONS&OPERATORS } = '-'
#	PARAMETER_2                      { * } = 0
#}

SAMPLE_FORMULA_FD {
	FUNCTION    [ beautify = false,interface=menu ] { &_FUNCTIONS&FUNCTION1 } = mean
	PARAMETER   [ interface = icon, class = GRIB/GEOPOINTS ] { @ }
}

#SAMPLE_FORMULA_FN {
#	FUNCTION    [ beautify = false,interface=menu ] { &_FUNCTIONS&FUNCTION1 } = neg
#	PARAMETER                        { * } = 0
#}


SAMPLE_FORMULA_FDD {
	FUNCTION    [ beautify = false,interface=menu ] { &_FUNCTIONS&FUNCTION2 } = max
	PARAMETER_1 [ interface = icon, class = GRIB/GEOPOINTS ] { @ }
	PARAMETER_2 [ interface = icon, class = GRIB/GEOPOINTS ] { @ }
}

SAMPLE_FORMULA_FDN {
	FUNCTION    [ beautify = false,interface=menu ] { &_FUNCTIONS&FUNCTION3 } = max
	PARAMETER_1 [ interface = icon, class = GRIB/GEOPOINTS ] { @ }
	PARAMETER_2                      { */ } = 0
}

SAMPLE_FORMULA_FND {
	FUNCTION    [ beautify = false,interface=menu ] { &_FUNCTIONS&FUNCTION3 } = max
	PARAMETER_1                      { * } = 0
	PARAMETER_2 [ interface = icon, class = GRIB/GEOPOINTS ] { @ }
}

#SAMPLE_FORMULA_FNN {
#	FUNCTION    [ beautify = false,interface=menu ] { &_FUNCTIONS&FUNCTION2 } = max
#	PARAMETER_1                      { * } = 0
#	PARAMETER_2                      { * } = 0
#}










