func Calculate(cfg Config, date time.Time) (Times, error) {
	cfg = adjustHighLatitudeConfig(cfg)
	times, err := calculate(cfg, date)
	if err != nil {
		return Times{}, err
	}
	times = applyTimeCorrections(cfg, times)
	return times, nil
}
Calculate calculates the prayer time for specified date with specified configuration.
package prayer
import (
	"math"
	"time"
	"github.com/hablullah/go-juliandays"
)
type Times struct {
	Fajr    time.Time
	Sunrise time.Time
	Zuhr    time.Time
	Asr     time.Time
	Maghrib time.Time
	Isha    time.Time
}
type TimeCorrections struct {
	Fajr    time.Duration
	Sunrise time.Duration
	Zuhr    time.Duration
	Asr     time.Duration
	Maghrib time.Duration
	Isha    time.Duration
}
type Config struct {
	Latitude float64
	Longitude float64
	Elevation float64
	CalculationMethod CalculationMethod
	FajrAngle float64
	IshaAngle float64
	MaghribDuration time.Duration
	AsrConvention AsrConvention
	PreciseToSeconds bool
	TimeCorrections TimeCorrections
	HighLatitudeMethod HighLatitudeMethod
}