DiaExpression

DiaExpression — A linear expression, part of a DiaConstraint.

Synopsis

struct              DiaExpression;
void                dia_expression_add                  (DiaExpression **expr,
                                                         DiaVariable *var,
                                                         gdouble c);
void                dia_expression_add_expression       (DiaExpression **expr,
                                                         DiaExpression *expr2);
void                dia_expression_times                (DiaExpression *expr,
                                                         gdouble c);
void                dia_expression_free                 (DiaExpression *expr);

Description

DiaExpression is a small data structure that holds a linear expression. The DiaConstraint class holds a DiaExpression. It is advised to use the DiaConstraint function rather than those functions directly.

Details

struct DiaExpression

struct DiaExpression {
	guint len;

	struct _DiaExpressionElem
	{
		DiaVariable *variable;
		gdouble constant;
	} elem[1];
};


dia_expression_add ()

void                dia_expression_add                  (DiaExpression **expr,
                                                         DiaVariable *var,
                                                         gdouble c);

Add "c * var" to expr (expr = expr + (c * var)).


dia_expression_add_expression ()

void                dia_expression_add_expression       (DiaExpression **expr,
                                                         DiaExpression *expr2);

Add expr2 to expr (expr = expr + expr2).


dia_expression_times ()

void                dia_expression_times                (DiaExpression *expr,
                                                         gdouble c);

Multiply expr with value c (expr = expr * c).


dia_expression_free ()

void                dia_expression_free                 (DiaExpression *expr);

Free an expression.

See Also

DiaConstraint, DiaVariable