You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: flploc.go
    path of file: ./repos/caire/vendor/github.com/esimov/pigo/core
    
    the code of the file until where you have to start completion: package pigo

import (
	"errors"
	"io/ioutil"
	"math"
	"path/filepath"
	"sync"
)

// FlpCascade holds the binary representation of the facial landmark points cascade files
type FlpCascade struct {
	*PuplocCascade
	error
}

// We are using sync.Pool to avoid memory allocation on the heap
// in 
    
func (plc *PuplocCascade) GetLandmarkPoint(leftEye, rightEye *Puploc, img ImageParams, perturb int, flipV bool) *Puploc {
	dx := (leftEye.Row - rightEye.Row) * (leftEye.Row - rightEye.Row)
	dy := (leftEye.Col - rightEye.Col) * (leftEye.Col - rightEye.Col)
	dist := math.Sqrt(float64(dx + dy))

	row := float64(leftEye.Row+rightEye.Row)/2.0 + 0.25*dist
	col := float64(leftEye.Col+rightEye.Col)/2.0 + 0.15*dist
	scale := 3.0 * dist

	flploc := flplocPool.Get().(*Puploc)
	defer flplocPool.Put(flploc)

	flploc.Row = int(row)
	flploc.Col = int(col)
	flploc.Scale = float32(scale)
	flploc.Perturbs = perturb

	if flipV {
		return plc.RunDetector(*flploc, img, 0.0, true)
	}
	return plc.RunDetector(*flploc, img, 0.0, false)
}