function CLogicalOrOperator() {}
CLogicalOrOperator.prototype =
{
	cardinality : 2,
	invoke : function (op1, op2) { return(op1 || op2); }
};

function CLogicalAndOperator() {}
CLogicalAndOperator.prototype =
{
	cardinality : 2,
	invoke : function (op1, op2) { return(op1 && op2); }
};

function CLogicalXorOperator() {}
CLogicalXorOperator.prototype =
{
	cardinality : 2,
	invoke : function (op1, op2) { return((!op1 && op2) || (op1 && !op2)); }
}

function CLogicalNotOperator() {}
CLogicalNotOperator.prototype =
{
	cardinality : 1,
	invoke : function (op1) { return(!op1); }
}
