Skip to content

SetDoubleVariableValue() generates memory leak #11

@omer316

Description

@omer316

The following code will continuously leak memory:

package main

import (
	"fmt"

	"github.com/Pramod-Devireddy/go-exprtk"
)

func main() {
	for {
		exprtkObj := exprtk.NewExprtk()
		defer exprtkObj.Delete()

		exprtkObj.SetExpression("(x + 2)*(y-2)")

		exprtkObj.AddDoubleVariable("x")
		exprtkObj.AddDoubleVariable("y")

		err := exprtkObj.CompileExpression()
		if err != nil {
			fmt.Println(err.Error())
			return
		}

		var x float64
		var y float64

		for i := 0; i < 10000; i++ {
			exprtkObj.SetDoubleVariableValue("x", x)
			exprtkObj.SetDoubleVariableValue("y", y)

			fmt.Println(exprtkObj.GetEvaluatedValue())

			x = x + 1
			y = y + 1
		}
		exprtkObj.Delete()
	}
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions