text:
/**
 * TextMagic API
 * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
 *
 * OpenAPI spec version: 2
 *
 *
 * NOTE: This class is auto generated by the swagger code generator 2.4.8.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 */

#include "UpdateInboundMessagesNotificationSettingsInputObject.h"

namespace com {
namespace textmagic {
namespace client {
namespace model {

UpdateInboundMessagesNotificationSettingsInputObject::UpdateInboundMessagesNotificationSettingsInputObject()
{
    m_InboundMessageNotification = false;
    m_InboundMessageNotificationIsSet = false;
    m_IncludeSmsHistory = false;
    m_IncludeSmsHistoryIsSet = false;
    m_SendInHtmlFormat = false;
    m_SendInHtmlFormatIsSet = false;
    m_AlertEmail1 = utility::conversions::to_string_t("");
    m_AlertEmail1IsSet = false;
    m_AlertEmail2 = utility::conversions::to_string_t("");
    m_AlertEmail2IsSet = false;
    m_AlertEmail3 = utility::conversions::to_string_t("");
    m_AlertEmail3IsSet = false;
}

UpdateInboundMessagesNotificationSettingsInputObject::~UpdateInboundMessagesNotificationSettingsInputObject()
{
}

void UpdateInboundMessagesNotificationSettingsInputObject::validate()
{
    // TODO: implement validation
}

web::json::value UpdateInboundMessagesNotificationSettingsInputObject::toJson() const
{
    web::json::value val = web::json::value::object();

    if(m_InboundMessageNotificationIsSet)
    {
        val[utility::conversions::to_string_t("inboundMessageNotification")] = ModelBase::toJson(m_InboundMessageNotification);
    }
    if(m_IncludeSmsHistoryIsSet)
    {
        val[utility::conversions::to_string_t("includeSmsHistory")] = ModelBase::toJson(m_IncludeSmsHistory);
    }
    if(m_SendInHtmlFormatIsSet)
    {
        val[utility::conversions::to_string_t("sendInHtmlFormat")] = ModelBase::toJson(m_SendInHtmlFormat);
    }
    if(m_AlertEmail1IsSet)
    {
        val[utility::conversions::to_string_t("alertEmail1")] = ModelBase::toJson(m_AlertEmail1);
    }
    if(m_AlertEmail2IsSet)
    {
        val[utility::conversions::to_string_t("alertEmail2")] = ModelBase::toJson(m_AlertEmail2);
    }
    if(m_AlertEmail3IsSet)
    {
        val[utility::conversions::to_string_t("alertEmail3")] = ModelBase::toJson(m_AlertEmail3);
    }

    return val;
}

void UpdateInboundMessagesNotificationSettingsInputObject::fromJson(web::json::value& val)
{
    if(val.has_field(utility::conversions::to_string_t("inboundMessageNotification")))
    {
        web::json::value& fieldValue = val[utility::conversions::to_string_t("inboundMessageNotification")];
        if(!fieldValue.is_null())
        {
            setInboundMessageNotification(ModelBase::boolFromJson(fieldValue));
        }
    }
    if(val.has_field(utility::conversions::to_string_t("includeSmsHistory")))
    {
        web::json::value& fieldValue = val[utility::conversions::to_string_t("includeSmsHistory")];
        if(!fieldValue.is_null())
        {
            setIncludeSmsHistory(ModelBase::boolFromJson(fieldValue));
        }
    }
    if(val.has_field(utility::conversions::to_string_t("sendInHtmlFormat")))
    {
        web::json::value& fieldValue = val[utility::conversions::to_string_t("sendInHtmlFormat")];
        if(!fieldValue.is_null())
        {
            setSendInHtmlFormat(ModelBase::boolFromJson(fieldValue));
        }
    }
    if(val.has_field(utility::conversions::to_string_t("alertEmail1")))
    {
        web::json::value& fieldValue = val[utility::conversions::to_string_t("alertEmail1")];
        if(!fieldValue.is_null())
        {
            setAlertEmail1(ModelBase::stringFromJson(fieldValue));
        }
    }
    if(val.has_field(utility::conversions::to_string_t("alertEmail2")))
    {
        web::json::value& fieldValue = val[utility::conversions::to_string_t("alertEmail2")];
        if(!fieldValue.is_null())
        {
            setAlertEmail2(ModelBase::stringFromJson(fieldValue));
        }
    }
    if(val.has_field(utility::conversions::to_string_t("alertEmail3")))
    {
        web::json::value& fieldValue = val[utility::conversions::to_string_t("alertEmail3")];
        if(!fieldValue.is_null())
        {
            setAlertEmail3(ModelBase::stringFromJson(fieldValue));
        }
    }
}

void UpdateInboundMessagesNotificationSettingsInputObject::toMultipart(std::shared_ptr<MultipartFormData> multipart, const utility::string_t& prefix) const
{
    utility::string_t namePrefix = prefix;
    if(namePrefix.size() > 0 && namePrefix.substr(namePrefix.size() - 1) != utility::conversions::to_string_t("."))
    {
        namePrefix += utility::conversions::to_string_t(".");
    }

    if(m_InboundMessageNotificationIsSet)
    {
        multipart->add(ModelBase::toHttpContent(namePrefix + utility::conversions::to_string_t("inboundMessageNotification"), m_InboundMessageNotification));
    }
    if(m_IncludeSmsHistoryIsSet)
    {
        multipart->add(ModelBase::toHttpContent(namePrefix + utility::conversions::to_string_t("includeSmsHistory"), m_IncludeSmsHistory));
    }
    if(m_SendInHtmlFormatIsSet)
    {
        multipart->add(ModelBase::toHttpContent(namePrefix + utility::conversions::to_string_t("sendInHtmlFormat"), m_SendInHtmlFormat));
    }
    if(m_AlertEmail1IsSet)
    {
        multipart->add(ModelBase::toHttpContent(namePrefix + utility::conversions::to_string_t("alertEmail1"), m_AlertEmail1));

    }
    if(m_AlertEmail2IsSet)
    {
        multipart->add(ModelBase::toHttpContent(namePrefix + utility::conversions::to_string_t("alertEmail2"), m_AlertEmail2));

    }
    if(m_AlertEmail3IsSet)
    {
        multipart->add(ModelBase::toHttpContent(namePrefix + utility::conversions::to_string_t("alertEmail3"), m_AlertEmail3));

    }
}

void UpdateInboundMessagesNotificationSettingsInputObject::fromMultiPart(std::shared_ptr<MultipartFormData> multipart, const utility::string_t& prefix)
{
    utility::string_t namePrefix = prefix;
    if(namePrefix.size() > 0 && namePrefix.substr(namePrefix.size() - 1) != utility::conversions::to_string_t("."))
    {
        namePrefix += utility::conversions::to_string_t(".");
    }

    if(multipart->hasContent(utility::conversions::to_string_t("inboundMessageNotification")))
    {
        setInboundMessageNotification(ModelBase::boolFromHttpContent(multipart->getContent(utility::conversions::to_string_t("inboundMessageNotification"))));
    }
    if(multipart->hasContent(utility::conversions::to_string_t("includeSmsHistory")))
    {
        setIncludeSmsHistory(ModelBase::boolFromHttpContent(multipart->getContent(utility::conversions::to_string_t("includeSmsHistory"))));
    }
    if(multipart->hasContent(utility::conversions::to_string_t("sendInHtmlFormat")))
    {
        setSendInHtmlFormat(ModelBase::boolFromHttpContent(multipart->getContent(utility::conversions::to_string_t("sendInHtmlFormat"))));
    }
    if(multipart->hasContent(utility::conversions::to_string_t("alertEmail1")))
    {
        setAlertEmail1(ModelBase::stringFromHttpContent(multipart->getContent(utility::conversions::to_string_t("alertEmail1"))));
    }
    if(multipart->hasContent(utility::conversions::to_string_t("alertEmail2")))
    {
        setAlertEmail2(ModelBase::stringFromHttpContent(multipart->getContent(utility::conversions::to_string_t("alertEmail2"))));
    }
    if(multipart->hasContent(utility::conversions::to_string_t("alertEmail3")))
    {
        setAlertEmail3(ModelBase::stringFromHttpContent(multipart->getContent(utility::conversions::to_string_t("alertEmail3"))));
    }
}

bool UpdateInboundMessagesNotificationSettingsInputObject::isInboundMessageNotification() const
{
    return m_InboundMessageNotification;
}

void UpdateInboundMessagesNotificationSettingsInputObject::setInboundMessageNotification(bool value)
{
    m_InboundMessageNotification = value;
    m_InboundMessageNotificationIsSet = true;
}
bool UpdateInboundMessagesNotificationSettingsInputObject::inboundMessageNotificationIsSet() const
{
    return m_InboundMessageNotificationIsSet;
}

void UpdateInboundMessagesNotificationSettingsInputObject::unsetInboundMessageNotification()
{
    m_InboundMessageNotificationIsSet = false;
}

bool UpdateInboundMessagesNotificationSettingsInputObject::isIncludeSmsHistory() const
{
    return m_IncludeSmsHistory;
}

void UpdateInboundMessagesNotificationSettingsInputObject::setIncludeSmsHistory(bool value)
{
    m_IncludeSmsHistory = value;
    m_IncludeSmsHistoryIsSet = true;
}
bool UpdateInboundMessagesNotificationSettingsInputObject::includeSmsHistoryIsSet() const
{
    return m_IncludeSmsHistoryIsSet;
}

void UpdateInboundMessagesNotificationSettingsInputObject::unsetIncludeSmsHistory()
{
    m_IncludeSmsHistoryIsSet = false;
}

bool UpdateInboundMessagesNotificationSettingsInputObject::isSendInHtmlFormat() const
{
    return m_SendInHtmlFormat;
}

void UpdateInboundMessagesNotificationSettingsInputObject::setSendInHtmlFormat(bool value)
{
    m_SendInHtmlFormat = value;
    m_SendInHtmlFormatIsSet = true;
}
bool UpdateInboundMessagesNotificationSettingsInputObject::sendInHtmlFormatIsSet() const
{
    return m_SendInHtmlFormatIsSet;
}

void UpdateInboundMessagesNotificationSettingsInputObject::unsetSendInHtmlFormat()
{
    m_SendInHtmlFormatIsSet = false;
}

utility::string_t UpdateInboundMessagesNotificationSettingsInputObject::getAlertEmail1() const
{
    return m_AlertEmail1;
}

void UpdateInboundMessagesNotificationSettingsInputObject::setAlertEmail1(utility::string_t value)
{
    m_AlertEmail1 = value;
    m_AlertEmail1IsSet = true;
}
bool UpdateInboundMessagesNotificationSettingsInputObject::alertEmail1IsSet() const
{
    return m_AlertEmail1IsSet;
}

void UpdateInboundMessagesNotificationSettingsInputObject::unsetAlertEmail1()
{
    m_AlertEmail1IsSet = false;
}

utility::string_t UpdateInboundMessagesNotificationSettingsInputObject::getAlertEmail2() const
{
    return m_AlertEmail2;
}

void UpdateInboundMessagesNotificationSettingsInputObject::setAlertEmail2(utility::string_t value)
{
    m_AlertEmail2 = value;
    m_AlertEmail2IsSet = true;
}
bool UpdateInboundMessagesNotificationSettingsInputObject::alertEmail2IsSet() const
{
    return m_AlertEmail2IsSet;
}

void UpdateInboundMessagesNotificationSettingsInputObject::unsetAlertEmail2()
{
    m_AlertEmail2IsSet = false;
}

utility::string_t UpdateInboundMessagesNotificationSettingsInputObject::getAlertEmail3() const
{
    return m_AlertEmail3;
}

void UpdateInboundMessagesNotificationSettingsInputObject::setAlertEmail3(utility::string_t value)
{
    m_AlertEmail3 = value;
    m_AlertEmail3IsSet = true;
}
bool UpdateInboundMessagesNotificationSettingsInputObject::alertEmail3IsSet() const
{
    return m_AlertEmail3IsSet;
}

void UpdateInboundMessagesNotificationSettingsInputObject::unsetAlertEmail3()
{
    m_AlertEmail3IsSet = false;
}

}
}
}
}

repository: WeilerWebServices/textmagic

repo_name: WeilerWebServices/textmagic


text:
DESCRIPTION = "tool to show how long a CPU or cluster enters idle state"
SUMMARY = "Idlestat is a tool which can show how long a CPU or cluster \
enters idle state. This infomation is obtained using traces from trace-cmd \
or ftrace tools."
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a"
SRCREV = "2247a8e07d208470b381b90e0540ee3cced3fbcb"
PV = "0.8+git${SRCPV}"

SRC_URI = "git://git.linaro.org/power/idlestat.git;branch=master \
           file://Makefile.patch \
"

S = "${WORKDIR}/git"

do_compile() {
    oe_runmake CC='${CC}'
}

do_install () {
    install -D -p -m0755 idlestat ${D}/${sbindir}/idlestat
}

license: MIT

repository: lgirdk/meta-linaro

license_type: permissive

repo_name: lgirdk/meta-linaro

branch_name: refs/heads/master

extension: bb


text:
package model

import (
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils"

	"strings"
)

type ContainerNetworkUpdate struct {

	// 容器网络网段列表。1.21及新版本集群，当集群网络类型为vpc-router时，支持增量添加容器网段。  此参数在集群更新后不可更改，请谨慎选择。
	Cidrs *[]ContainerCidr `json:"cidrs,omitempty"`
}

func (o ContainerNetworkUpdate) String() string {
	data, err := utils.Marshal(o)
	if err != nil {
		return "ContainerNetworkUpdate struct{}"
	}

	return strings.Join([]string{"ContainerNetworkUpdate", string(data)}, " ")
}

gha_license_id: NOASSERTION

gha_language: Go

extension: go


text:
SUMMARY = "A linux printer driver for QPDL/ZJS/etc protocol"

DEPENDS = "bc-native cups ghostscript lcms"

LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://README;beginline=199;endline=215;md5=ff046c71543b23b455e739b1bba072d1"

SRCREV = "bc32225a3fa18f151e9e2bc1dd01c6d71c270384"
SRC_URI = "git://github.com/koenkooi/foo2zjs.git;protocol=https \
          "

S = "${WORKDIR}/git"

PARALLEL_MAKE = ""

do_install() {
	install -d ${D}${libdir}/cups/filter
	oe_runmake install DESTDIR=${D}
}

FILES_${PN} += "${datadir} \
                ${libdir}/cups/filter \
               "
RDEPENDS_${PN} += "ghostscript foomatic-db bash"

repository: koenkooi/meta-dominion

repo_name: koenkooi/meta-dominion

gha_language: BitBake


text:
package main

import (
	"bufio"
	"bytes"
	"fmt"
	"os"
	"path/filepath"
	"sort"
	"strconv"
	"strings"

	"github.com/YYCoder/protobuf-thrift/utils"
	"github.com/YYCoder/protobuf-thrift/utils/logger"
	"github.com/emicklei/proto"
	goThrift "github.com/samuel/go-thrift/parser"
)

type protoGenerator struct {
	conf         *protoGeneratorConfig
	def          *goThrift.Thrift
	file         *os.File
	protoContent bytes.Buffer
	protoAST     *proto.Proto
}

type protoGeneratorConfig struct {
	taskType   int
	filePath   string // absolute path for current file
	fileName   string // output file name, including extension
	rawContent string
	outputDir  string // absolute path for output dir

	useSpaceIndent bool
	indentSpace    string
	fieldCase      string
	nameCase       string

	// pb config
	syntax int // 2 or 3
}

func NewProtoGenerator(conf *protoGeneratorConfig) (res SubGenerator, err error) {
	var parser *goThrift.Parser
	var file *os.File
	var definition *goThrift.Thrift
	if conf.taskType == TASK_FILE_THRIFT2PROTO {
		file, err = os.Open(conf.filePath)
		if err != nil {
			return nil, err
		}
		defer file.Close()
		parser = &goThrift.Parser{Filesystem: nil}
		definition, err = parser.Parse(file)

	} else if conf.taskType == TASK_CONTENT_THRIFT2PROTO {
		rd := strings.NewReader(conf.rawContent)
		parser = &goThrift.Parser{Filesystem: nil}
		definition, err = parser.Parse(rd)
	}

	if err != nil {
		return
	}

	res = &protoGenerator{
		conf: conf,
		def:  definition,
		file: file,
	}
	return
}

func (g *protoGenerator) FilePath() (res string) {
	if g.conf.taskType == TASK_CONTENT_THRIFT2PROTO {
		res = ""
	} else {
		res = g.conf.filePath
	}
	return
}

// generate protoAST from thrift ast, return absolute file paths included by current file
func (g *protoGenerator) Parse() (newFiles []FileInfo, err error) {
	g.protoAST = &proto.Proto{}

	g.handleSyntax()
	g.handleNamespace(g.def.Namespaces)
	if g.conf.taskType == TASK_FILE_THRIFT2PROTO {
		for k, i := range g.def.Includes {
			newFiles = append(newFiles, g.handleIncludes(k, i))
		}
	}
	for _, i := range g.def.Enums {
		g.handleEnum(i)
	}
	for _, i := range g.def.Structs {
		g.handleStruct(i)
	}
	for _, i := range g.def.Services {
		g.handleService(i)
	}
	return
}

func (g *protoGenerator) handleSyntax() {
	protoSyntax := &proto.Syntax{
		Value:  fmt.Sprintf("proto%d", g.conf.syntax),
		Parent: g.protoAST,
	}
	g.protoAST.Elements = append(g.protoAST.Elements, protoSyntax)
	return
}

func (g *protoGenerator) handleNamespace(n map[string]string) {
	var packageName string
	for _, name := range n {
		packageName = name
	}
	protoPackage := &proto.Package{
		Name:   packageName,
		Parent: g.protoAST,
	}
	g.protoAST.Elements = append(g.protoAST.Elements, protoPackage)
	return
}

func (g *protoGenerator) handleIncludes(name string, path string) (newFile FileInfo) {
	if filepath.IsAbs(path) {
		relPath, err := filepath.Rel(g.conf.filePath, path)
		if err != nil {
			logger.Errorf("filepath.Rel %v %v, err %v", g.conf.filePath, path, err)
			return
		}
		newFile = FileInfo{
			absPath:    path,
			outputPath: filepath.Join(g.conf.outputDir, strings.ReplaceAll(relPath, ".thrift", ".proto")),
		}
	} else {
		newFile = FileInfo{
			absPath:    filepath.Join(filepath.Dir(g.conf.filePath), path),
			outputPath: filepath.Join(g.conf.outputDir, strings.ReplaceAll(path, ".thrift", ".proto")),
		}
	}

	protoImport := &proto.Import{
		Filename: strings.ReplaceAll(path, ".thrift", ".proto"),
		Parent:   g.protoAST,
	}
	g.protoAST.Elements = append(g.protoAST.Elements, protoImport)
	return
}

func (g *protoGenerator) handleService(s *goThrift.Service) {
	protoService := &proto.Service{
		Name:   s.Name,
		Parent: g.protoAST,
	}
	for _, i := range s.Methods {
		// type convert
		reqType, err := g.typeConverter(i.Arguments[0].Type)
		if err != nil {
			logger.Errorf("Invalid requestType %v", err)
			continue
		}
		resType, err := g.typeConverter(i.ReturnType)
		if err != nil {
			logger.Errorf("Invalid returnType %v", err)
			continue
		}

		method := &proto.RPC{
			Name:        i.Name,
			RequestType: reqType,
			ReturnsType: resType,
			Parent:      protoService,
		}

		if len(i.Annotations) > 0 {
			// add options
			o := &proto.Option{
				// if use http option, default name is (google.api.http)
				Name:   "(google.api.http)",
				Parent: method,
				Constant: proto.Literal{
					OrderedMap: []*proto.NamedLiteral{},
				},
			}
			options := []proto.Visitee{o}
			for _, a := range i.Annotations {
				lit := &proto.Literal{
					Source:    a.Value,
					QuoteRune: 34,
					IsString:  true,
				}
				o.Constant.OrderedMap = append(o.Constant.OrderedMap, &proto.NamedLiteral{
					Literal:     lit,
					Name:        a.Name,
					PrintsColon: true,
				})
			}
			method.Elements = options
		}

		// finally append method to service
		protoService.Elements = append(protoService.Elements, method)
	}
	g.protoAST.Elements = append(g.protoAST.Elements, protoService)
	return
}

func (g *protoGenerator) handleEnum(e *goThrift.Enum) {
	protoEnum := &proto.Enum{
		Name:   e.Name,
		Parent: g.protoAST,
	}

	// since for-range map is random-ordered, we need to sort first
	hasUnknownField := false
	valueSlice := []proto.EnumField{}
	for _, i := range e.Values {
		if i.Value == 0 {
			hasUnknownField = true
		}
		valueSlice = append(valueSlice, proto.EnumField{
			Name:    i.Name,
			Integer: i.Value,
		})
	}
	// for protobuf which syntax is 3, enum field must have an default field which value is 0
	if g.conf.syntax == 3 && !hasUnknownField {
		valueSlice = append(valueSlice, proto.EnumField{
			Name:    fmt.Sprintf("%v_Unknown", e.Name),
			Integer: 0,
		})
	}
	sort.Slice(valueSlice, func(i, j int) bool {
		return valueSlice[i].Integer < valueSlice[j].Integer
	})

	visiteeSlice := []proto.Visitee{}
	for _, v := range valueSlice {
		visiteeSlice = append(visiteeSlice, &proto.EnumField{
			Name:    v.Name,
			Integer: v.Integer,
		})
	}

	protoEnum.Elements = visiteeSlice
	g.protoAST.Elements = append(g.protoAST.Elements, protoEnum)
	return
}

func (g *protoGenerator) handleStruct(s *goThrift.Struct) {
	message := &proto.Message{
		Name:   s.Name,
		Parent: g.protoAST,
	}

	elements := []proto.Visitee{}
	for _, f := range s.Fields {
		switch f.Type.Name {
		case "list":
			fieldType, _ := g.typeConverter(f.Type.ValueType)
			pbField := &proto.Field{
				Name:     f.Name,
				Parent:   message,
				Sequence: f.ID,
				Type:     fieldType,
			}
			pbNormalField := &proto.NormalField{
				Field:    pbField,
				Repeated: true,
			}
			elements = append(elements, pbNormalField)
		case "map":
			fieldType, _ := g.typeConverter(f.Type.ValueType)
			keyType, _ := g.basicTypeConverter(f.Type.KeyType)
			pbField := &proto.Field{
				Name:     f.Name,
				Parent:   message,
				Sequence: f.ID,
				Type:     fieldType,
			}
			pbMapField := &proto.MapField{
				Field:   pbField,
				KeyType: keyType,
			}

			elements = append(elements, pbMapField)
		// since proto doesn't have type set, we don't need to parse this type
		case "set":
			logger.Warnf("Protobuf doesn't have type set")
			continue
		default:
			optional := g.conf.syntax == 2 && f.Optional

			fieldType, _ := g.typeConverter(f.Type)
			pbField := &proto.Field{
				Name:     f.Name,
				Parent:   message,
				Sequence: f.ID,
				Type:     fieldType,
			}
			pbNormalField := &proto.NormalField{
				Field:    pbField,
				Optional: optional,
			}
			elements = append(elements, pbNormalField)
		}
	}
	message.Elements = elements

	g.protoAST.Elements = append(g.protoAST.Elements, message)
	return
}

func (g *protoGenerator) typeConverter(t *goThrift.Type) (res string, err error) {
	res, err = g.basicTypeConverter(t)
	if err != nil {
		// if t is not a basic type, then we should convert its case, same as name
		res = utils.CaseConvert(g.conf.nameCase, t.Name)
		return res, nil
	}
	return
}

func (g *protoGenerator) basicTypeConverter(t *goThrift.Type) (res string, err error) {
	switch t.Name {
	case "string":
		res = "string"
	case "i64":
		res = "int64"
	case "i32":
		res = "int32"
	case "double":
		res = "double"
	case "bool":
		res = "bool"
	case "binary":
		res = "bytes"
	default:
		err = fmt.Errorf("Invalid basic type %s", t)
	}
	return
}

// write thrift code from thriftAST to output
func (g *protoGenerator) Sink() (err error) {
	// start traverse
	g.protoAST.Accept(g)

	if g.conf.outputDir != "" {
		var file *os.File
		err = os.MkdirAll(g.conf.outputDir, 0755)
		if err != nil {
			logger.Errorf("Error occurred when MkdirAll %v", g.conf.outputDir)
			return
		}
		outputPath := filepath.Join(g.conf.outputDir, g.conf.fileName)
		file, err = os.Create(outputPath)
		if err != nil {
			logger.Errorf("os.Create file %v error %v", outputPath, err)
			return err
		}
		defer file.Close()
		_, err = file.WriteString(g.protoContent.String())
	} else {
		f := bufio.NewWriter(os.Stdout)
		defer f.Flush()
		_, err = f.Write(g.protoContent.Bytes())
	}

	return
}

func (g *protoGenerator) VisitMessage(item *proto.Message) {
	name := utils.CaseConvert(g.conf.nameCase, item.Name)
	g.protoContent.WriteString(fmt.Sprintf("message %s {\n", name))
	for _, e := range item.Elements {
		e.Accept(g)
	}
	g.protoContent.WriteString("}\n")
	return
}
func (g *protoGenerator) VisitService(item *proto.Service) {
	name := utils.CaseConvert(g.conf.nameCase, item.Name)
	g.protoContent.WriteString(fmt.Sprintf("service %s {\n", name))
	for _, e := range item.Elements {
		e.Accept(g)
	}
	g.protoContent.WriteString("}\n")
	return
}
func (g *protoGenerator) VisitSyntax(item *proto.Syntax) {
	g.protoContent.WriteString(fmt.Sprintf("syntax = \"%s\";\n", item.Value))
	return
}
func (g *protoGenerator) VisitPackage(item *proto.Package) {
	g.protoContent.WriteString(fmt.Sprintf("package %s;\n\n", item.Name))
	return
}
func (g *protoGenerator) VisitOption(item *proto.Option) {
	if item.Name == "(google.api.http)" {
		g.writeIndent()
		g.writeIndent()
		g.protoContent.WriteString(fmt.Sprintf("option %s = {\n", item.Name))
		for _, e := range item.Constant.OrderedMap {
			g.writeIndent()
			g.writeIndent()
			g.writeIndent()
			g.protoContent.WriteString(fmt.Sprintf("%s: \"%s\"\n", e.Name, e.Source))
		}
		g.writeIndent()
		g.writeIndent()
		g.protoContent.WriteString("};\n")
	}
	return
}
func (g *protoGenerator) VisitImport(item *proto.Import) {
	g.protoContent.WriteString(fmt.Sprintf("import \"%s\";\n", item.Filename))
	return
}
func (g *protoGenerator) VisitNormalField(item *proto.NormalField) {
	name := utils.CaseConvert(g.conf.fieldCase, item.Name)
	g.writeIndent()
	if item.Optional {
		g.protoContent.WriteString("optional ")
	}
	if item.Repeated {
		g.protoContent.WriteString(fmt.Sprintf("repeated %s %s = %d;\n", item.Type, name, item.Sequence))
	} else {
		g.protoContent.WriteString(fmt.Sprintf("%s %s = %d;\n", item.Type, name, item.Sequence))
	}
	return
}
func (g *protoGenerator) VisitEnumField(item *proto.EnumField) {
	fieldName := utils.CaseConvert(g.conf.fieldCase, item.Name)
	g.writeIndent()
	g.protoContent.WriteString(fmt.Sprintf("%s = %d;\n", fieldName, item.Integer))
	return
}
func (g *protoGenerator) VisitEnum(item *proto.Enum) {
	name := utils.CaseConvert(g.conf.nameCase, item.Name)
	g.protoContent.WriteString(fmt.Sprintf("enum %s {\n", name))
	for _, ele := range item.Elements {
		ele.Accept(g)
	}
	g.protoContent.WriteString("}\n")
	return
}
func (g *protoGenerator) VisitComment(item *proto.Comment) {
	return
}
func (g *protoGenerator) VisitOneof(item *proto.Oneof) {
	return
}
func (g *protoGenerator) VisitOneofField(item *proto.OneOfField) {
	return
}
func (g *protoGenerator) VisitReserved(item *proto.Reserved) {
	return
}
func (g *protoGenerator) VisitRPC(item *proto.RPC) {
	name := utils.CaseConvert(g.conf.nameCase, item.Name)
	reqName := utils.CaseConvert(g.conf.nameCase, item.RequestType)
	resName := utils.CaseConvert(g.conf.nameCase, item.ReturnsType)
	if len(item.Elements) > 0 {
		g.writeIndent()
		g.protoContent.WriteString(fmt.Sprintf("rpc %s(%s) returns (%s) {\n", name, reqName, resName))
		for _, e := range item.Elements {
			e.Accept(g)
		}
		g.writeIndent()
		g.protoContent.WriteString("}\n")
	} else {
		g.writeIndent()
		g.protoContent.WriteString(fmt.Sprintf("rpc %s(%s) returns (%s) {}\n", name, reqName, resName))
	}
	return
}
func (g *protoGenerator) VisitMapField(item *proto.MapField) {
	name := utils.CaseConvert(g.conf.fieldCase, item.Name)
	g.writeIndent()
	g.protoContent.WriteString(fmt.Sprintf("map<%s, %s> %s = %d;\n", item.KeyType, item.Type, name, item.Sequence))
	return
}

// proto 2
func (g *protoGenerator) VisitGroup(item *proto.Group) {
	return
}
func (g *protoGenerator) VisitExtensions(item *proto.Extensions) {
	return
}

func (g *protoGenerator) writeIndent() {
	if g.conf.useSpaceIndent {
		spaceCount, _ := strconv.Atoi(g.conf.indentSpace)
		for i := 0; i < spaceCount; i++ {
			g.protoContent.WriteString(" ")
		}
	} else {
		g.protoContent.WriteString("	")
	}
	return
}

repository: isgasho/protobuf-thrift

repo_name: isgasho/protobuf-thrift


text:
include bitbake.inc

# Don't use the tip of svn by default
DEFAULT_PREFERENCE = "-1"

# We don't need a toolchain...
INHIBIT_DEFAULT_DEPS = "1"

PV = "0.0svn${CVSDATE}"
SRC_URI = "svn://svn.berlios.de/bitbake/trunk;module=bitbake"
# SRC_URI = "svn+ssh://svn.berlios.de/bitbake/trunk;module=bitbake"
S = "${WORKDIR}/bitbake"

inherit distutils

include bitbake-package.inc

repository: Terentyev/familiar-linux

repo_name: Terentyev/familiar-linux


text:
// Copyright 2016, Timothy Bogdala <tdb@animal-machine.com>
// See the LICENSE file for more details.

package fizzle

import (
	"math"

	mgl "github.com/go-gl/mathgl/mgl32"
	graphics "github.com/tbogdala/fizzle/graphicsprovider"
	"github.com/tbogdala/gombz"
)

// RenderableCore contains data that is needed to draw an object on the screen.
// Further, data here can be shared between multiple Renderable instances.
type RenderableCore struct {
	// Skeleton is the animatable skeleton object for the renderable.
	Skeleton *Skeleton

	// Vao is the OpenGL vertex array object for the renderable.
	Vao uint32

	// VaoInitialized indicates whether or not the Vao has been bound yet.
	VaoInitialized bool

	// VertVBO indicates the VBO that contains the vertex data.
	VertVBO graphics.Buffer

	// UvVBO indicates the VBO that contains the UV data.
	UvVBO graphics.Buffer

	// NormsVBO indicates the VBO that contains the normal vector data.
	NormsVBO graphics.Buffer

	// TangentsVBO indicates the VBO that contains the tangent vector data.
	TangentsVBO graphics.Buffer

	// ElementsVBO indicates the VBO that defines the element indices data.
	ElementsVBO graphics.Buffer

	// BoneFidsVBO indicates the VBO that defines what bones affect a given vertex.
	// These are passed to the shader as floats due to better compatability with GLSL.
	BoneFidsVBO graphics.Buffer

	// BoneWeightsVBO indicates the VBO that defines how strong a bone affects a given vertex.
	BoneWeightsVBO graphics.Buffer

	// ComboVBO1 is a user-customizable VBO object to be bound to the RenderShader.
	ComboVBO1 graphics.Buffer

	// ComboVBO2 is a user-customizable VBO object to be bound to the RenderShader.
	ComboVBO2 graphics.Buffer

	// VBOStride should be set to the total number of bytes that exist in a VBO for
	// a single object.
	//
	// This is set to non-zero when members like VertVBO, UvVBO,
	// NormsVBO, etc... are set tot the same VBO object but the data is interleaved.
	// When this is the case, the corresponding Offset members (e.g. VertVBOOffset)
	// should be set as well.
	VBOStride int32

	// VertVBOOffset is the offset in bytes from the start of a vertex definition needed
	// to read the vertex information.
	VertVBOOffset int

	// UvVBOOffset is the offset in bytes from the start of a vertex definition needed
	// to read the UV information.
	UvVBOOffset int

	// NormsVBOOffset is the offset in bytes from the start of a vertex definition needed
	// to read the normal vector information.
	NormsVBOOffset int

	// TangentsVBOOffset is the offset in bytes from the start of a vertex definition needed
	// to read the tangent vector information.
	TangentsVBOOffset int

	// BoneFidsVBOOffset is the offset in bytes from the start of a vertex definition needed
	// to read the bone float id information.
	BoneFidsVBOOffset int

	// BoneWeightsVBOOffset is the offset in bytes from the start of a vertex definition needed
	// to read the bone weighting information.
	BoneWeightsVBOOffset int

	// ComboVBO1Offset is the offset in bytes from the start of a vertex definition needed
	// to read the customizable information.
	ComboVBO1Offset int

	// ComboVBO2Offset is the offset in bytes from the start of a vertex definition needed
	// to read the customizable information.
	ComboVBO2Offset int

	// IsDestroyed should be set to true if the Renderable has been Destroy()'d.
	IsDestroyed bool
}

// Rectangle3D defines a rectangular 3d structure by two points.
type Rectangle3D struct {
	// Bottom defines the bottom corner opposite of Top.
	Bottom mgl.Vec3

	// TOp defines the top corner opposite of Bottom.
	Top mgl.Vec3
}

// DeltaX is the change of the X-axis component of a Rectangle3D.
func (rect *Rectangle3D) DeltaX() float32 {
	return rect.Top[0] - rect.Bottom[0]
}

// DeltaY is the change of the Y-axis component of a Rectangle3D.
func (rect *Rectangle3D) DeltaY() float32 {
	return rect.Top[1] - rect.Bottom[1]
}

// DeltaZ is the change of the Z-axis component of a Rectangle3D.
func (rect *Rectangle3D) DeltaZ() float32 {
	return rect.Top[2] - rect.Bottom[2]
}

// Renderable defines the data necessary to draw an object in OpenGL.
// This structure focuses more on 'instance' type of data which is
// typically not sharable between multiple Renderable instances.
type Renderable struct {
	// FaceCount specifies how many elements to draw when rendered.
	FaceCount uint32

	// Scale is the scaling vector for the Renderable used to modify
	// the size of the object.
	Scale mgl.Vec3

	// Location is the world-space location of Renderable.
	Location mgl.Vec3

	// Rotation is the world-space rotation quaternion of the Renderable, which is
	// different than LocalRotation and the pivot is {0,0,0} in world-space.
	Rotation mgl.Quat

	// LocalRotation is the local rotation quaternion for the Renderable, which is
	// different than the Rotation property and pivots around the model's origin.
	LocalRotation mgl.Quat

	// AnimationTime keeps track of the time value to use for the animation
	// currently applied (if any) to the Renderable.
	AnimationTime float32

	// BoundingRect is the unscaled, unrotated bounding rectangle for the renderable.
	BoundingRect Rectangle3D

	// IsVisible should be set to true if the object is to be rendered.
	IsVisible bool

	// IsGroup should be set to true if the renderable should only render its children objects
	// and that this Renderable itself should not be drawn.
	IsGroup bool

	// Core is the RenderableCore object that contains the renderable data that can
	// be shadered between multiple Renderable objects if needed.
	Core *RenderableCore

	// Material is the material for the object that will controll visible properties
	// used during rendering.
	Material *Material

	// Parent can be set to a Renderable that should be considered this Renderable's
	// 'Parent' which will make some properties relative to this parent object (e.g.
	// Location).
	Parent *Renderable

	// Children is a slice of Renderables that are the Renderable's children objects
	// that should be drawn with this renderable.
	Children []*Renderable
}

// NewRenderable creates a new Renderable object and a new RenderableCore.
func NewRenderable() *Renderable {
	r := new(Renderable)
	r.Location = mgl.Vec3{0.0, 0.0, 0.0}
	r.Scale = mgl.Vec3{1.0, 1.0, 1.0}
	r.Rotation = mgl.QuatIdent()
	r.LocalRotation = mgl.QuatIdent()
	r.IsVisible = true
	r.IsGroup = false
	r.Children = make([]*Renderable, 0, 4)

	r.Core = NewRenderableCore()
	return r
}

// NewRenderableCore creates a new RenderableCore object.
func NewRenderableCore() *RenderableCore {
	rc := new(RenderableCore)
	rc.Vao = gfx.GenVertexArray()
	return rc
}

// Destroy releases the RenderableCore data.
func (r *Renderable) Destroy() {
	r.Core.DestroyCore()
}

// DestroyCore releases the OpenGL VBO and VAO objects but does not release
// things that could be shared like Tex0 and then marks the object as destroyed.
func (r *RenderableCore) DestroyCore() {
	gfx.DeleteBuffer(r.VertVBO)
	gfx.DeleteBuffer(r.UvVBO)
	gfx.DeleteBuffer(r.ElementsVBO)
	gfx.DeleteBuffer(r.TangentsVBO)
	gfx.DeleteBuffer(r.NormsVBO)
	gfx.DeleteBuffer(r.BoneFidsVBO)
	gfx.DeleteBuffer(r.BoneWeightsVBO)
	gfx.DeleteBuffer(r.ComboVBO1)
	gfx.DeleteBuffer(r.ComboVBO2)
	gfx.DeleteVertexArray(r.Vao)
	r.IsDestroyed = true
}

// Clone makes a new Renderable object but shares the Core member between
// the two. This allows for a different location, scale, rotation, etc ...
func (r *Renderable) Clone() *Renderable {
	clone := NewRenderable()
	clone.FaceCount = r.FaceCount
	clone.Location = r.Location
	clone.Scale = r.Scale
	clone.Rotation = r.Rotation
	clone.LocalRotation = r.LocalRotation
	clone.IsVisible = r.IsVisible
	clone.IsGroup = r.IsGroup
	clone.BoundingRect = r.BoundingRect

	// The render core and material are shared in the clone
	clone.Core = r.Core
	clone.Material = r.Material

	// Deep clone the child renderables
	for _, rc := range r.Children {
		cloneChild := rc.Clone()
		clone.AddChild(cloneChild)
	}

	return clone
}

// HasSkeleton returns true if the Renderable has bones associated with it.
func (r *Renderable) HasSkeleton() bool {
	if r.Core.Skeleton != nil {
		return true
	}
	return false
}

// HasSkeletonDeep returns true if the Renderable, or any child, has bones associated with it.
func (r *Renderable) HasSkeletonDeep() bool {
	if r.Core.Skeleton != nil {
		return true
	}

	for _, cn := range r.Children {
		if cn.HasSkeletonDeep() == true {
			return true
		}
	}

	return false
}

// RenderableMapF defines the type of a function that can be passed to Renderable.Map().
type RenderableMapF func(r *Renderable)

// Map takes a function as a parameter that will be called for the Renderable and all
// child Renderable objects recursively.
func (r *Renderable) Map(f RenderableMapF) {
	// call the function for the renderable first
	f(r)

	// loop through all of the children and recurse
	for _, cn := range r.Children {
		cn.Map(f)
	}
}

// GetTransformMat4 creates a transform matrix that can be used to transform
// a vertex of the Renderable into world space.
func (r *Renderable) GetTransformMat4() mgl.Mat4 {
	scaleMat := mgl.Scale3D(r.Scale[0], r.Scale[1], r.Scale[2])
	transMat := mgl.Translate3D(r.Location[0], r.Location[1], r.Location[2])
	localRotMat := r.LocalRotation.Mat4()
	rotMat := r.Rotation.Mat4()
	modelTransform := rotMat.Mul4(transMat).Mul4(localRotMat).Mul4(scaleMat)
	if r.Parent == nil {
		return modelTransform
	}

	// if there's a parent, apply the transform as well
	parentTransform := r.Parent.GetTransformMat4()
	return parentTransform.Mul4(modelTransform)
}

// AddChild sets the Renderable passed in as a child of the renderable.
func (r *Renderable) AddChild(child *Renderable) {
	r.Children = append(r.Children, child)
	child.Parent = r
}

// GetBoundingRect calculates a bounding Rectangle3D for all of the vertices pssed in.
func GetBoundingRect(verts []float32) (r Rectangle3D) {
	var minx, miny, minz float32 = math.MaxFloat32, math.MaxFloat32, math.MaxFloat32
	var maxx, maxy, maxz float32 = math.MaxFloat32 * -1, math.MaxFloat32 * -1, math.MaxFloat32 * -1

	vertCount := len(verts) / 3
	for i := 0; i < vertCount; i++ {
		offset := i * 3
		x := verts[offset]
		y := verts[offset+1]
		z := verts[offset+2]

		if x < minx {
			minx = x
		}
		if x > maxx {
			maxx = x
		}
		if y < miny {
			miny = y
		}
		if y > maxy {
			maxy = y
		}
		if z < minz {
			minz = z
		}
		if z > maxz {
			maxz = z
		}
	}

	r.Bottom = mgl.Vec3{minx, miny, minz}
	r.Top = mgl.Vec3{maxx, maxy, maxz}
	return r
}

// CreateFromGombz creates a new Renderable based on model data from
// a GOMBZ file. (http://www.github.com/tbogdala/gombz)
func CreateFromGombz(srcMesh *gombz.Mesh) *Renderable {
	// calculate the memory size of floats used to calculate total memory size of float arrays
	const floatSize = 4
	const uintSize = 4

	// create the new renderable
	r := NewRenderable()
	r.Core = NewRenderableCore()

	// setup a skeleton if the mesh has bones associated with it
	if srcMesh.BoneCount > 0 {
		r.Core.Skeleton = NewSkeleton(srcMesh.Bones, srcMesh.Animations)
	}

	// set some basic properties up
	r.FaceCount = srcMesh.FaceCount

	// create a buffer to hold all the data that is the same size as VertexCount
	vertBuffer := make([]float32, srcMesh.VertexCount*3)

	// setup verts and track the bounding rectangle
	for i, v := range srcMesh.Vertices {
		offset := i * 3
		vertBuffer[offset] = v[0]
		vertBuffer[offset+1] = v[1]
		vertBuffer[offset+2] = v[2]
	}
	r.Core.VertVBO = gfx.GenBuffer()
	gfx.BindBuffer(graphics.ARRAY_BUFFER, r.Core.VertVBO)
	gfx.BufferData(graphics.ARRAY_BUFFER, floatSize*len(vertBuffer), gfx.Ptr(&vertBuffer[0]), graphics.STATIC_DRAW)

	// calculate the bounding rectangle for the mesh
	r.BoundingRect = GetBoundingRect(vertBuffer)

	// setup normals
	if len(srcMesh.Normals) > 0 {
		for i, n := range srcMesh.Normals {
			offset := i * 3
			vertBuffer[offset] = n[0]
			vertBuffer[offset+1] = n[1]
			vertBuffer[offset+2] = n[2]
		}
		r.Core.NormsVBO = gfx.GenBuffer()
		gfx.BindBuffer(graphics.ARRAY_BUFFER, r.Core.NormsVBO)
		gfx.BufferData(graphics.ARRAY_BUFFER, floatSize*len(vertBuffer), gfx.Ptr(&vertBuffer[0]), graphics.STATIC_DRAW)
	}

	// setup tangents
	if len(srcMesh.Tangents) > 0 {
		for i, t := range srcMesh.Tangents {
			offset := i * 3
			vertBuffer[offset] = t[0]
			vertBuffer[offset+1] = t[1]
			vertBuffer[offset+2] = t[2]
		}
		r.Core.TangentsVBO = gfx.GenBuffer()
		gfx.BindBuffer(graphics.ARRAY_BUFFER, r.Core.TangentsVBO)
		gfx.BufferData(graphics.ARRAY_BUFFER, floatSize*len(vertBuffer), gfx.Ptr(&vertBuffer[0]), graphics.STATIC_DRAW)
	}

	// setup UVs
	if len(srcMesh.UVChannels[0]) > 0 {
		uvChan := srcMesh.UVChannels[0]
		for i := uint32(0); i < srcMesh.VertexCount; i++ {
			uv := uvChan[i]
			offset := i * 2
			vertBuffer[offset] = uv[0]
			vertBuffer[offset+1] = uv[1]
		}
		r.Core.UvVBO = gfx.GenBuffer()
		gfx.BindBuffer(graphics.ARRAY_BUFFER, r.Core.UvVBO)
		gfx.BufferData(graphics.ARRAY_BUFFER, int(floatSize*srcMesh.VertexCount*2), gfx.Ptr(&vertBuffer[0]), graphics.STATIC_DRAW)
	}

	// setup vertex weight Ids for bones
	var weightBuffer []float32
	if len(srcMesh.VertexWeightIds) > 0 {
		if weightBuffer == nil {
			weightBuffer = make([]float32, srcMesh.VertexCount*4)
		}
		for i, v := range srcMesh.VertexWeightIds {
			offset := i * 4
			weightBuffer[offset] = v[0]
			weightBuffer[offset+1] = v[1]
			weightBuffer[offset+2] = v[2]
			weightBuffer[offset+3] = v[3]
		}
		r.Core.BoneFidsVBO = gfx.GenBuffer()
		gfx.BindBuffer(graphics.ARRAY_BUFFER, r.Core.BoneFidsVBO)
		gfx.BufferData(graphics.ARRAY_BUFFER, int(floatSize*srcMesh.VertexCount*4), gfx.Ptr(&weightBuffer[0]), graphics.STATIC_DRAW)
	}

	// setup the vertex weights
	if len(srcMesh.VertexWeights) > 0 {
		if weightBuffer == nil {
			weightBuffer = make([]float32, srcMesh.VertexCount*4)
		}
		for i, v := range srcMesh.VertexWeights {
			offset := i * 4
			weightBuffer[offset] = v[0]
			weightBuffer[offset+1] = v[1]
			weightBuffer[offset+2] = v[2]
			weightBuffer[offset+3] = v[3]
		}
		r.Core.BoneWeightsVBO = gfx.GenBuffer()
		gfx.BindBuffer(graphics.ARRAY_BUFFER, r.Core.BoneWeightsVBO)
		gfx.BufferData(graphics.ARRAY_BUFFER, int(floatSize*srcMesh.VertexCount*4), gfx.Ptr(&weightBuffer[0]), graphics.STATIC_DRAW)
	}

	// setup the face indices
	indexBuffer := make([]uint32, len(srcMesh.Faces)*3)
	for i, f := range srcMesh.Faces {
		offset := i * 3
		indexBuffer[offset] = f[0]
		indexBuffer[offset+1] = f[1]
		indexBuffer[offset+2] = f[2]
	}
	r.Core.ElementsVBO = gfx.GenBuffer()
	gfx.BindBuffer(graphics.ELEMENT_ARRAY_BUFFER, r.Core.ElementsVBO)
	gfx.BufferData(graphics.ELEMENT_ARRAY_BUFFER, uintSize*len(indexBuffer), gfx.Ptr(&indexBuffer[0]), graphics.STATIC_DRAW)

	gfx.BindBuffer(graphics.ARRAY_BUFFER, 0)
	gfx.BindBuffer(graphics.ELEMENT_ARRAY_BUFFER, 0)

	return r
}

repository: wrightrocket/fizzle

repo_name: wrightrocket/fizzle


text:
DESCRIPTION = "GNU XaoS, a realtime fractal generator zoomer"
HOMEPAGE = "http://wmi.math.u-szeged.hu/xaos/doku.php"
SECTION = "graphics"
LICENSE = "GPLv2"
DEPENDS = "aalib libx11 zlib libpng"
RDEPENDS_${PN} += "libxxf86dga"
PR = "r1"

SRC_URI = "http://easynews.dl.sourceforge.net/sourceforge/xaos/XaoS-3.2.3.tar.gz \
           file://fix-build.patch \
           file://fix-aalib-configure.patch"

S = "${WORKDIR}/XaoS-${PV}"

inherit autotools

EXTRA_OECONF = "--disable-nls"
#--with-x --with-ncurses=${STAGING_INCDIR} --with-dga-driver=no --with-x11-driver=no --with-aa-driver=yes

do_configure_prepend() {
    sed -i 's~/usr/include~${STAGING_INCDIR}~' ${S}/configure.in
    sed -i 's~/usr/local/include~${STAGING_INCDIR}~' ${S}/configure.in
    sed -i 's~/usr/lib~${STAGING_LIBDIR}~' ${S}/configure.in
    sed -i 's~/usr/local/lib~${STAGING_LIBDIR}~' ${S}/configure.in
}

FILES_${PN} = "${bindir} ${datadir}/XaoS/catalogs"

CFLAGS = "-L${STAGING_LIBDIR}"

SRC_URI[md5sum] = "f1d9a9f3d2097906754b8824ba925e64"
SRC_URI[sha256sum] = "b15420bcfafeca09eb29e5961cedbbe0572d0fc7912f6c545458a346188516c1"

repository: overo/overo-oe-natty

repo_name: overo/overo-oe-natty

branch_name: HEAD


text:
package resources

import (
	"context"
	"fmt"
	"log"
	"strconv"
	"strings"

	idrv "github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/interfaces"
	irs "github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/interfaces/resources"
	"github.com/davecgh/go-spew/spew"
	compute "google.golang.org/api/compute/v1"
)

type GCPImageHandler struct {
	Region     idrv.RegionInfo
	Ctx        context.Context
	Client     *compute.Service
	Credential idrv.CredentialInfo
}

/*
이미지를 생성할 때 GCP 같은 경우는 내가 생성한 이미지에서만 리스트를 가져 올 수 있다.
퍼블릭 이미지를 가져 올 수 없다.
가져올라면 다르게 해야 함.
Insert할때 필수 값
name, sourceDisk(sourceImage),storageLocations(배열 ex : ["asia"])
이미지를 어떻게 생성하는냐에 따라서 키 값이 변경됨
디스크, 스냅샷,이미지, 가상디스크, Cloud storage
1) Disk일 경우 :
	{"sourceDisk": "projects/mcloud-barista-251102/zones/asia-northeast1-b/disks/my-root-pd",}
2) Image일 경우 :
	{"sourceImage": "projects/mcloud-barista-251102/global/images/image-1",}

*/

func (imageHandler *GCPImageHandler) CreateImage(imageReqInfo irs.ImageReqInfo) (irs.ImageInfo, error) {

	return irs.ImageInfo{}, nil
}

func (imageHandler *GCPImageHandler) ListImage() ([]*irs.ImageInfo, error) {

	projectId := imageHandler.Credential.ProjectID

	list, err := imageHandler.Client.Images.List(projectId).Do()
	if err != nil {
		log.Fatal(err)
	}
	var imageList []*irs.ImageInfo
	for _, item := range list.Items {
		info := mappingImageInfo(item)
		imageList = append(imageList, &info)
	}

	spew.Dump(imageList)
	return imageList, err
}

func (imageHandler *GCPImageHandler) GetImage(imageID string) (irs.ImageInfo, error) {
	projectId := imageHandler.Credential.ProjectID

	image, err := imageHandler.Client.Images.Get(projectId, imageID).Do()
	if err != nil {
		log.Fatal(err)
	}
	imageInfo := mappingImageInfo(image)
	return imageInfo, err
}

func (imageHandler *GCPImageHandler) DeleteImage(imageID string) (bool, error) {
	projectId := imageHandler.Credential.ProjectID

	res, err := imageHandler.Client.Images.Delete(projectId, imageID).Do()
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(res)
	return true, err
}

func mappingImageInfo(imageInfo *compute.Image) irs.ImageInfo {
	lArr := strings.Split(imageInfo.Licenses[0], "/")
	os := lArr[len(lArr)-1]
	imageList := irs.ImageInfo{
		Id:      strconv.FormatUint(imageInfo.Id, 10),
		Name:    imageInfo.Name,
		GuestOS: os,
		Status:  imageInfo.Status,
		KeyValueList: []irs.KeyValue{
			{"SourceType", imageInfo.SourceType},
			{"SelfLink", imageInfo.SelfLink},
			{"GuestOsFeature", imageInfo.GuestOsFeatures[0].Type},
			{"DiskSizeGb", strconv.FormatInt(imageInfo.DiskSizeGb, 10)},
		},
	}

	return imageList

}

repository: zephyJ/cb-spider

repo_name: zephyJ/cb-spider


text:
# generated from catkin/cmake/em/order_packages.cmake.em

set(CATKIN_ORDERED_PACKAGES "")
set(CATKIN_ORDERED_PACKAGE_PATHS "")
set(CATKIN_ORDERED_PACKAGES_IS_META "")
set(CATKIN_ORDERED_PACKAGES_BUILD_TYPE "")
list(APPEND CATKIN_ORDERED_PACKAGES "gps")
list(APPEND CATKIN_ORDERED_PACKAGE_PATHS "sensors/gps")
list(APPEND CATKIN_ORDERED_PACKAGES_IS_META "False")
list(APPEND CATKIN_ORDERED_PACKAGES_BUILD_TYPE "catkin")
list(APPEND CATKIN_ORDERED_PACKAGES "segmentation")
list(APPEND CATKIN_ORDERED_PACKAGE_PATHS "segmentation")
list(APPEND CATKIN_ORDERED_PACKAGES_IS_META "False")
list(APPEND CATKIN_ORDERED_PACKAGES_BUILD_TYPE "catkin")
list(APPEND CATKIN_ORDERED_PACKAGES "simulation")
list(APPEND CATKIN_ORDERED_PACKAGE_PATHS "simulation")
list(APPEND CATKIN_ORDERED_PACKAGES_IS_META "False")
list(APPEND CATKIN_ORDERED_PACKAGES_BUILD_TYPE "catkin")
list(APPEND CATKIN_ORDERED_PACKAGES "lane_detection")
list(APPEND CATKIN_ORDERED_PACKAGE_PATHS "detection/lane_detection")
list(APPEND CATKIN_ORDERED_PACKAGES_IS_META "False")
list(APPEND CATKIN_ORDERED_PACKAGES_BUILD_TYPE "catkin")
list(APPEND CATKIN_ORDERED_PACKAGES "object_detection")
list(APPEND CATKIN_ORDERED_PACKAGE_PATHS "detection/object_detection")
list(APPEND CATKIN_ORDERED_PACKAGES_IS_META "False")
list(APPEND CATKIN_ORDERED_PACKAGES_BUILD_TYPE "catkin")
list(APPEND CATKIN_ORDERED_PACKAGES "joy")
list(APPEND CATKIN_ORDERED_PACKAGE_PATHS "sensors/joystick")
list(APPEND CATKIN_ORDERED_PACKAGES_IS_META "False")
list(APPEND CATKIN_ORDERED_PACKAGES_BUILD_TYPE "catkin")
list(APPEND CATKIN_ORDERED_PACKAGES "autopilot")
list(APPEND CATKIN_ORDERED_PACKAGE_PATHS "autopilot")
list(APPEND CATKIN_ORDERED_PACKAGES_IS_META "False")
list(APPEND CATKIN_ORDERED_PACKAGES_BUILD_TYPE "catkin")
list(APPEND CATKIN_ORDERED_PACKAGES "data_logger")
list(APPEND CATKIN_ORDERED_PACKAGE_PATHS "data_logger")
list(APPEND CATKIN_ORDERED_PACKAGES_IS_META "False")
list(APPEND CATKIN_ORDERED_PACKAGES_BUILD_TYPE "catkin")
list(APPEND CATKIN_ORDERED_PACKAGES "driver")
list(APPEND CATKIN_ORDERED_PACKAGE_PATHS "driver")
list(APPEND CATKIN_ORDERED_PACKAGES_IS_META "False")
list(APPEND CATKIN_ORDERED_PACKAGES_BUILD_TYPE "catkin")
list(APPEND CATKIN_ORDERED_PACKAGES "driver_control")
list(APPEND CATKIN_ORDERED_PACKAGE_PATHS "driver_control")
list(APPEND CATKIN_ORDERED_PACKAGES_IS_META "False")
list(APPEND CATKIN_ORDERED_PACKAGES_BUILD_TYPE "catkin")
list(APPEND CATKIN_ORDERED_PACKAGES "localization")
list(APPEND CATKIN_ORDERED_PACKAGE_PATHS "navigation/gps_localization")
list(APPEND CATKIN_ORDERED_PACKAGES_IS_META "False")
list(APPEND CATKIN_ORDERED_PACKAGES_BUILD_TYPE "catkin")
list(APPEND CATKIN_ORDERED_PACKAGES "motion_control")
list(APPEND CATKIN_ORDERED_PACKAGE_PATHS "motion_control")
list(APPEND CATKIN_ORDERED_PACKAGES_IS_META "False")
list(APPEND CATKIN_ORDERED_PACKAGES_BUILD_TYPE "catkin")
list(APPEND CATKIN_ORDERED_PACKAGES "path_planning")
list(APPEND CATKIN_ORDERED_PACKAGE_PATHS "navigation/path_planning")
list(APPEND CATKIN_ORDERED_PACKAGES_IS_META "False")
list(APPEND CATKIN_ORDERED_PACKAGES_BUILD_TYPE "catkin")
list(APPEND CATKIN_ORDERED_PACKAGES "point_cloud")
list(APPEND CATKIN_ORDERED_PACKAGE_PATHS "point_cloud")
list(APPEND CATKIN_ORDERED_PACKAGES_IS_META "False")
list(APPEND CATKIN_ORDERED_PACKAGES_BUILD_TYPE "catkin")
list(APPEND CATKIN_ORDERED_PACKAGES "zed_display_rviz")
list(APPEND CATKIN_ORDERED_PACKAGE_PATHS "sensors/zed-ros-wrapper/zed_display_rviz")
list(APPEND CATKIN_ORDERED_PACKAGES_IS_META "False")
list(APPEND CATKIN_ORDERED_PACKAGES_BUILD_TYPE "catkin")
list(APPEND CATKIN_ORDERED_PACKAGES "zed_ros")
list(APPEND CATKIN_ORDERED_PACKAGE_PATHS "sensors/zed-ros-wrapper/zed_ros")
list(APPEND CATKIN_ORDERED_PACKAGES_IS_META "True")
list(APPEND CATKIN_ORDERED_PACKAGES_BUILD_TYPE "catkin")
list(APPEND CATKIN_ORDERED_PACKAGES "zed_wrapper")
list(APPEND CATKIN_ORDERED_PACKAGE_PATHS "sensors/zed-ros-wrapper/zed_wrapper")
list(APPEND CATKIN_ORDERED_PACKAGES_IS_META "False")
list(APPEND CATKIN_ORDERED_PACKAGES_BUILD_TYPE "catkin")
list(APPEND CATKIN_ORDERED_PACKAGES "mapping")
list(APPEND CATKIN_ORDERED_PACKAGE_PATHS "navigation/mapping")
list(APPEND CATKIN_ORDERED_PACKAGES_IS_META "False")
list(APPEND CATKIN_ORDERED_PACKAGES_BUILD_TYPE "catkin")

set(CATKIN_MESSAGE_GENERATORS )

set(CATKIN_METAPACKAGE_CMAKE_TEMPLATE "/usr/lib/python2.7/dist-packages/catkin_pkg/templates/metapackage.cmake.in")

extension: cmake


text:
require xorg-app-common.inc
PE = "1"
PR = "${INC_PR}.0"

FILES_${PN}-dbg += "${libdir}/X11/${PN}/.debug/"
SRC_URI[archive.md5sum] = "eb82a6290dfbaa1fc09a3b7426b2eac2"
SRC_URI[archive.sha256sum] = "133a706735e18946e5260cdd07a8400dbf4f8c557f5384b158b79c342609ecbb"


text:
// Copyright 2020 Dolthub, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package dtables

import (
	"fmt"
	"io"

	"github.com/dolthub/go-mysql-server/sql"
	"github.com/dolthub/go-mysql-server/sql/types"

	"github.com/dolthub/dolt/go/libraries/doltcore/doltdb"
	"github.com/dolthub/dolt/go/libraries/doltcore/ref"
	"github.com/dolthub/dolt/go/libraries/doltcore/sqle/dsess"
	"github.com/dolthub/dolt/go/libraries/doltcore/sqle/index"
)

var _ sql.Table = (*BranchesTable)(nil)
var _ sql.UpdatableTable = (*BranchesTable)(nil)
var _ sql.DeletableTable = (*BranchesTable)(nil)
var _ sql.InsertableTable = (*BranchesTable)(nil)
var _ sql.ReplaceableTable = (*BranchesTable)(nil)

// BranchesTable is the system table that accesses branches
type BranchesTable struct {
	db     dsess.SqlDatabase
	remote bool
}

// NewBranchesTable creates a BranchesTable
func NewBranchesTable(_ *sql.Context, db dsess.SqlDatabase) sql.Table {
	return &BranchesTable{db: db}
}

// NewRemoteBranchesTable creates a BranchesTable with only remote refs
func NewRemoteBranchesTable(_ *sql.Context, ddb dsess.SqlDatabase) sql.Table {
	return &BranchesTable{ddb, true}
}

// Name is a sql.Table interface function which returns the name of the table which is defined by the constant
// BranchesTableName
func (bt *BranchesTable) Name() string {
	if bt.remote {
		return doltdb.RemoteBranchesTableName
	}
	return doltdb.BranchesTableName
}

// String is a sql.Table interface function which returns the name of the table which is defined by the constant
// BranchesTableName
func (bt *BranchesTable) String() string {
	if bt.remote {
		return doltdb.RemoteBranchesTableName
	}
	return doltdb.BranchesTableName
}

// Schema is a sql.Table interface function that gets the sql.Schema of the branches system table
func (bt *BranchesTable) Schema() sql.Schema {
	tableName := doltdb.BranchesTableName
	if bt.remote {
		tableName = doltdb.RemoteBranchesTableName
	}

	columns := []*sql.Column{
		{Name: "name", Type: types.Text, Source: tableName, PrimaryKey: true, Nullable: false},
		{Name: "hash", Type: types.Text, Source: tableName, PrimaryKey: false, Nullable: false},
		{Name: "latest_committer", Type: types.Text, Source: tableName, PrimaryKey: false, Nullable: true},
		{Name: "latest_committer_email", Type: types.Text, Source: tableName, PrimaryKey: false, Nullable: true},
		{Name: "latest_commit_date", Type: types.Datetime, Source: tableName, PrimaryKey: false, Nullable: true},
		{Name: "latest_commit_message", Type: types.Text, Source: tableName, PrimaryKey: false, Nullable: true},
	}
	if !bt.remote {
		columns = append(columns, &sql.Column{Name: "remote", Type: types.Text, Source: tableName, PrimaryKey: false, Nullable: true})
		columns = append(columns, &sql.Column{Name: "branch", Type: types.Text, Source: tableName, PrimaryKey: false, Nullable: true})
	}
	return columns
}

// Collation implements the sql.Table interface.
func (bt *BranchesTable) Collation() sql.CollationID {
	return sql.Collation_Default
}

// Partitions is a sql.Table interface function that returns a partition of the data.  Currently the data is unpartitioned.
func (bt *BranchesTable) Partitions(*sql.Context) (sql.PartitionIter, error) {
	return index.SinglePartitionIterFromNomsMap(nil), nil
}

// PartitionRows is a sql.Table interface function that gets a row iterator for a partition
func (bt *BranchesTable) PartitionRows(sqlCtx *sql.Context, part sql.Partition) (sql.RowIter, error) {
	return NewBranchItr(sqlCtx, bt)
}

// BranchItr is a sql.RowItr implementation which iterates over each commit as if it's a row in the table.
type BranchItr struct {
	table    *BranchesTable
	branches []string
	commits  []*doltdb.Commit
	idx      int
}

// NewBranchItr creates a BranchItr from the current environment.
func NewBranchItr(ctx *sql.Context, table *BranchesTable) (*BranchItr, error) {
	var branchRefs []ref.DoltRef
	var err error
	db := table.db
	remote := table.remote

	txRoot, err := dsess.TransactionRoot(ctx, db)
	if err != nil {
		return nil, err
	}

	ddb := db.DbData().Ddb

	if remote {
		branchRefs, err = ddb.GetRefsOfTypeByNomsRoot(ctx, map[ref.RefType]struct{}{ref.RemoteRefType: {}}, txRoot)
		if err != nil {
			return nil, err
		}
	} else {
		branchRefs, err = ddb.GetBranchesByNomsRoot(ctx, txRoot)
		if err != nil {
			return nil, err
		}
	}

	branchNames := make([]string, len(branchRefs))
	commits := make([]*doltdb.Commit, len(branchRefs))
	for i, branch := range branchRefs {
		commit, err := ddb.ResolveCommitRefAtRoot(ctx, branch, txRoot)

		if err != nil {
			return nil, err
		}

		if branch.GetType() == ref.RemoteRefType {
			branchNames[i] = "remotes/" + branch.GetPath()
		} else {
			branchNames[i] = branch.GetPath()
		}

		commits[i] = commit
	}

	return &BranchItr{
		table:    table,
		branches: branchNames,
		commits:  commits,
		idx:      0,
	}, nil
}

// Next retrieves the next row. It will return io.EOF if it's the last row.
// After retrieving the last row, Close will be automatically closed.
func (itr *BranchItr) Next(ctx *sql.Context) (sql.Row, error) {
	if itr.idx >= len(itr.commits) {
		return nil, io.EOF
	}

	defer func() {
		itr.idx++
	}()

	name := itr.branches[itr.idx]
	cm := itr.commits[itr.idx]
	meta, err := cm.GetCommitMeta(ctx)

	if err != nil {
		return nil, err
	}

	h, err := cm.HashOf()

	if err != nil {
		return nil, err
	}

	remoteBranches := itr.table.remote
	if remoteBranches {
		return sql.NewRow(name, h.String(), meta.Name, meta.Email, meta.Time(), meta.Description), nil
	} else {
		branches, err := itr.table.db.DbData().Rsr.GetBranches()

		if err != nil {
			return nil, err
		}

		remoteName := ""
		branchName := ""
		branch, ok := branches[name]
		if ok {
			remoteName = branch.Remote
			branchName = branch.Merge.Ref.GetPath()
		}
		return sql.NewRow(name, h.String(), meta.Name, meta.Email, meta.Time(), meta.Description, remoteName, branchName), nil
	}
}

// Close closes the iterator.
func (itr *BranchItr) Close(*sql.Context) error {
	return nil
}

// Replacer returns a RowReplacer for this table. The RowReplacer will have Insert and optionally Delete called once
// for each row, followed by a call to Close() when all rows have been processed.
func (bt *BranchesTable) Replacer(ctx *sql.Context) sql.RowReplacer {
	return branchWriter{bt}
}

// Updater returns a RowUpdater for this table. The RowUpdater will have Update called once for each row to be
// updated, followed by a call to Close() when all rows have been processed.
func (bt *BranchesTable) Updater(ctx *sql.Context) sql.RowUpdater {
	return branchWriter{bt}
}

// Inserter returns an Inserter for this table. The Inserter will get one call to Insert() for each row to be
// inserted, and will end with a call to Close() to finalize the insert operation.
func (bt *BranchesTable) Inserter(*sql.Context) sql.RowInserter {
	return branchWriter{bt}
}

// Deleter returns a RowDeleter for this table. The RowDeleter will get one call to Delete for each row to be deleted,
// and will end with a call to Close() to finalize the delete operation.
func (bt *BranchesTable) Deleter(*sql.Context) sql.RowDeleter {
	return branchWriter{bt}
}

var _ sql.RowReplacer = branchWriter{nil}
var _ sql.RowUpdater = branchWriter{nil}
var _ sql.RowInserter = branchWriter{nil}
var _ sql.RowDeleter = branchWriter{nil}

type branchWriter struct {
	bt *BranchesTable
}

// Insert inserts the row given, returning an error if it cannot. Insert will be called once for each row to process
// for the insert operation, which may involve many rows. After all rows in an operation have been processed, Close
// is called.
func (bWr branchWriter) Insert(ctx *sql.Context, r sql.Row) error {
	return fmt.Errorf("the dolt_branches table is read-only; use the dolt_branch stored procedure to edit remotes")
}

// Update the given row. Provides both the old and new rows.
func (bWr branchWriter) Update(ctx *sql.Context, old sql.Row, new sql.Row) error {
	return fmt.Errorf("the dolt_branches table is read-only; use the dolt_branch stored procedure to edit remotes")
}

// Delete deletes the given row. Returns ErrDeleteRowNotFound if the row was not found. Delete will be called once for
// each row to process for the delete operation, which may involve many rows. After all rows have been processed,
// Close is called.
func (bWr branchWriter) Delete(ctx *sql.Context, r sql.Row) error {
	return fmt.Errorf("the dolt_branches table is read-only; use the dolt_branch stored procedure to edit remotes")
}

// StatementBegin implements the interface sql.TableEditor. Currently a no-op.
func (bWr branchWriter) StatementBegin(ctx *sql.Context) {}

// DiscardChanges implements the interface sql.TableEditor. Currently a no-op.
func (bWr branchWriter) DiscardChanges(ctx *sql.Context, errorEncountered error) error {
	return nil
}

// StatementComplete implements the interface sql.TableEditor. Currently a no-op.
func (bWr branchWriter) StatementComplete(ctx *sql.Context) error {
	return nil
}

// Close finalizes the delete operation, persisting the result.
func (bWr branchWriter) Close(*sql.Context) error {
	return nil
}

repository: dolthub/dolt

repo_name: dolthub/dolt

branch_name: refs/heads/main


text:
@article{Beane:2010ny,
      author         = "Beane, Silas R.",
      title          = "{Ground state energy of the interacting Bose gas in two
                        dimensions: An Explicit construction}",
      journal        = "Phys. Rev.",
      volume         = "A82",
      year           = "2010",
      pages          = "063610",
      doi            = "10.1103/PhysRevA.82.063610",
      eprint         = "1002.3815",
      archivePrefix  = "arXiv",
      primaryClass   = "cond-mat.quant-gas",
      reportNumber   = "UNH-10-01",
      SLACcitation   = "%%CITATION = ARXIV:1002.3815;%%"
}

@article{Briceno:2013hya,
      author         = "Briceno, Raul A. and Davoudi, Zohreh and Luu, Thomas C.
                        and Savage, Martin J.",
      title          = "{Two-Baryon Systems with Twisted Boundary Conditions}",
      journal        = "Phys. Rev.",
      volume         = "D89",
      year           = "2014",
      number         = "7",
      pages          = "074509",
      doi            = "10.1103/PhysRevD.89.074509",
      eprint         = "1311.7686",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      reportNumber   = "INT-PUB-13-045, JLAB-THY-13-1827",
      SLACcitation   = "%%CITATION = ARXIV:1311.7686;%%"
}

@article{Briceno:2013lba,
      author         = "Briceno, Raul A. and Davoudi, Zohreh and Luu, Thomas C.",
      title          = "{Two-Nucleon Systems in a Finite Volume: (I) Quantization
                        Conditions}",
      journal        = "Phys. Rev.",
      volume         = "D88",
      year           = "2013",
      number         = "3",
      pages          = "034502",
      doi            = "10.1103/PhysRevD.88.034502",
      eprint         = "1305.4903",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      reportNumber   = "NT@UW-13-19",
      SLACcitation   = "%%CITATION = ARXIV:1305.4903;%%"
}

@article{Li:2014wga,
      author         = "Li, Ning and Li, Song-Yuan and Liu, Chuan",
      title          = "{Generalized L\"uscher's formula in multichannel
                        baryon-baryon scattering}",
      journal        = "Phys. Rev.",
      volume         = "D90",
      year           = "2014",
      number         = "3",
      pages          = "034509",
      doi            = "10.1103/PhysRevD.90.034509",
      eprint         = "1401.5569",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      SLACcitation   = "%%CITATION = ARXIV:1401.5569;%%"
}

@article{Valiente:2015oya,
      author         = "Valiente, Manuel and Zinner, Nikolaj Thomas",
      title          = "{Unitary fermions and L\"uscher's formula on a crystal}",
      journal        = "Sci. China Phys. Mech. Astron.",
      volume         = "59",
      year           = "2016",
      number         = "11",
      pages          = "114211",
      doi            = "10.1007/s11433-016-0205-x",
      eprint         = "1506.05458",
      archivePrefix  = "arXiv",
      primaryClass   = "cond-mat.quant-gas",
      SLACcitation   = "%%CITATION = ARXIV:1506.05458;%%"
}

@article{Hansen:2012tf,
      author         = "Hansen, Maxwell T. and Sharpe, Stephen R.",
      title          = "{Multiple-channel generalization of Lellouch-L\"uscher
                        formula}",
      journal        = "Phys. Rev.",
      volume         = "D86",
      year           = "2012",
      pages          = "016007",
      doi            = "10.1103/PhysRevD.86.016007",
      eprint         = "1204.0826",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      SLACcitation   = "%%CITATION = ARXIV:1204.0826;%%"
}

@article{Ozaki:2012ce,
      author         = "Ozaki, Sho and Sasaki, Shoichi",
      title          = "{L\"uscher's finite size method with twisted boundary
                        conditions: An application to the $J/\psi$-$\phi$ system
                        to search for a narrow resonance}",
      journal        = "Phys. Rev.",
      volume         = "D87",
      year           = "2013",
      number         = "1",
      pages          = "014506",
      doi            = "10.1103/PhysRevD.87.014506",
      eprint         = "1211.5512",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      SLACcitation   = "%%CITATION = ARXIV:1211.5512;%%"
}

@article{Lahde:2019npb,
      author         = "{L\"ahde, Timo A. and Mei{\ss}ner, Ulf-G.}",
      title          = "{Nuclear Lattice Effective Field Theory}",
      journal        = "Lect. Notes Phys.",
      volume         = "957",
      year           = "2019",
      pages          = "1-396",
      doi            = "10.1007/978-3-030-14189-9",
      SLACcitation   = "%%CITATION = LNPHA,957,1;%%"
}

@article{Lu:2015riz,
      author         = "{Lu, Bing-Nan and L\"ahde, Timo A. and Lee, Dean and
                        Mei{\ss}ner, Ulf-G.}",
      title          = "{Precise determination of lattice phase shifts and mixing
                        angles}",
      journal        = "Phys. Lett.",
      volume         = "B760",
      year           = "2016",
      pages          = "309-313",
      doi            = "10.1016/j.physletb.2016.06.081",
      eprint         = "1506.05652",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      SLACcitation   = "%%CITATION = ARXIV:1506.05652;%%"
}

@article{Luscher:1990ck,
      author         = {L\"uscher, Martin and Wolff, Ulli},
      title          = "{How to Calculate the Elastic Scattering Matrix in
                        Two-dimensional Quantum Field Theories by Numerical
                        Simulation}",
      journal        = "Nucl. Phys.",
      volume         = "B339",
      year           = "1990",
      pages          = "222-252",
      doi            = "10.1016/0550-3213(90)90540-T",
      reportNumber   = "DESY-90-010",
      SLACcitation   = "%%CITATION = NUPHA,B339,222;%%"
}

@article{Pupyshev:2014,
author = "Pupyshev, V.~V.",
title ="{The Length and Effective Radius of Two-Dimensional Scattering of a Quantum Particle by a Centrally Symmetric Short-Range Potential}",
journal = "Th. Math. Phys.",
volume = "180(3)",
year = "2014",
pages = "1051–1072",
doi ="0040-5779/14/1803-1051"
}

@article{Luu:2011ep,
      author         = "Luu, Thomas and Savage, Martin J.",
      title          = "{Extracting Scattering Phase-Shifts in Higher
                        Partial-Waves from Lattice QCD Calculations}",
      journal        = "Phys. Rev.",
      volume         = "D83",
      year           = "2011",
      pages          = "114508",
      doi            = "10.1103/PhysRevD.83.114508",
      eprint         = "1101.3347",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      SLACcitation   = "%%CITATION = ARXIV:1101.3347;%%"
}

@misc{luescher-nd_201,
    author       = {K\"orber, Christopher and Berkowitz, Evan and Luu, Thomas},
    title        = {\texttt{luescher-nd}},
    month        = dec,
    year         = 2019,
    version      = {1.0.0},
    howpublished = "GitHub Repository \url{https://github.com/ckoerber/luescher-nd/releases/tag/v1.0.0}"
    }

@article{Nishida:2006eu,
      author         = "Nishida, Yusuke and Son, Dam Thanh",
      title          = "{Fermi gas near unitarity around four and two spatial
                        dimensions}",
      journal        = "Phys. Rev.",
      volume         = "A75",
      year           = "2007",
      pages          = "063617",
      doi            = "10.1103/PhysRevA.75.063617",
      eprint         = "cond-mat/0607835",
      archivePrefix  = "arXiv",
      primaryClass   = "cond-mat",
      reportNumber   = "INT-PUB-06-10, TKYNT-06-10",
      SLACcitation   = "%%CITATION = COND-MAT/0607835;%%"
}

@misc{peter_lepage_2016_60221,
  author       = {Peter Lepage and
                  Christoph Gohlke},
  title        = {lsqfit: lsqfit version 8.0.1},
  month        = aug,
  year         = 2016,
  doi          = {10.5281/zenodo.60221},
  url          = {https://doi.org/10.5281/zenodo.60221}
}

@article{Endres:2012cw,
      author         = "Endres, Michael G. and Kaplan, David B. and Lee, Jong-Wan
                        and Nicholson, Amy N.",
      title          = "{Lattice Monte Carlo calculations for unitary fermions in
                        a finite box}",
      journal        = "Phys. Rev.",
      volume         = "A87",
      year           = "2013",
      number         = "2",
      pages          = "023615",
      doi            = "10.1103/PhysRevA.87.023615",
      eprint         = "1203.3169",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      reportNumber   = "INT-PUB-12-011, KEK-CP-266, RIKEN-QHP-16,
                        UM-DOE-ER-40762-517",
      SLACcitation   = "%%CITATION = ARXIV:1203.3169;%%"
}

@article{Endres:2011er,
      author         = "Endres, Michael G. and Kaplan, David B. and Lee, Jong-Wan
                        and Nicholson, Amy N.",
      title          = "{Lattice Monte Carlo calculations for unitary fermions in
                        a harmonic trap}",
      journal        = "Phys. Rev.",
      volume         = "A84",
      year           = "2011",
      pages          = "043644",
      doi            = "10.1103/PhysRevA.84.043644",
      eprint         = "1106.5725",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      reportNumber   = "CU-TP-1198, INT-PUB-11-024, RIKEN-QHP-3",
      SLACcitation   = "%%CITATION = ARXIV:1106.5725;%%"
}

@article{Lee:2007ae,
      author         = "Lee, Dean",
      title          = "{The Symmetric heavy-light ansatz}",
      journal        = "Eur. Phys. J.",
      volume         = "A35",
      year           = "2008",
      pages          = "171-187",
      doi            = "10.1140/epja/i2008-10537-2",
      eprint         = "0704.3439",
      archivePrefix  = "arXiv",
      primaryClass   = "cond-mat.supr-con",
      SLACcitation   = "%%CITATION = ARXIV:0704.3439;%%"
}

@article{Hamber198399, title = "Numerical simulations of quantum chromodynamics", journal = "Physics Letters B", volume = "124", number = "1-2",
	pages = "99 - 104",
	year = "1983",
	note = "",
	issn = "0370-2693",
	doi = "10.1016/0370-2693(83)91412-0",
	author = "H.W. Hamber and E. Marinari and G. Parisi and C. Rebbi"
}

@article {luscher:1986I,
   author = {L\"uscher, M.},
   affiliation = {Theory Division Deutsches Elektronen-Synchrotron DESY D-2000 Hamburg 52 Federal Republic of Germany},
   title = {Volume dependence of the energy spectrum in massive quantum field theories I},
   journal = {Communications in Mathematical Physics},
   publisher = {Springer Berlin / Heidelberg},
   issn = {0010-3616},
   keyword = {Physics and Astronomy},
   pages = {177-206},
   volume = {104},
   issue = {2},
   note = {10.1007/BF01211589},
   year = {1986}
}

@article {luscher:1986II,
	author = {L\"uscher, M.},
	title = {Volume dependence of the energy spectrum in massive quantum field theories II},
	journal = {Communications in Mathematical Physics},
	publisher = {Springer Berlin / Heidelberg},
	issn = {0010-3616},
	keyword = {Physics and Astronomy},
	pages = {153-188},
	volume = {105},
	issue = {2},
	note = {10.1007/BF01211097},
	year = {1986}
}

@article{wiese1989,
	title = "Identification of resonance parameters from the finite volume energy spectrum",
	journal = "Nuclear Physics B - Proceedings Supplements",
	volume = "9",
	number = "0",
	pages = "609 - 613",
	year = "1989",
	note = "",
	issn = "0920-5632",
	doi = "10.1016/0920-5632(89)90171-0",
	author = "U.-J. Wiese"
}

@article{Luscher1991,
	title = "Two-particle states on a torus and their relation to the scattering matrix",
	journal = "Nuclear Physics B",
	volume = "354",
	number = "2-3",
	pages = "531 - 578",
	year = "1991",
	note = "",
	issn = "0550-3213",
	doi = "10.1016/0550-3213(91)90366-6",
	author = {Martin L\"uscher}
}

@article{Luscher1991237,
title = "Signatures of unstable particles in finite volume",
journal = "Nuclear Physics B",
volume = "364",
number = "1",
pages = "237 - 251",
year = "1991",
note = "",
issn = "0550-3213",
doi = "10.1016/0550-3213(91)90584-K",
author = {Martin L\"uscher}
}

@article{Kaplan:1998we,
      author         = "Kaplan, David B. and Savage, Martin J. and Wise, Mark B.",
      title          = "{Two nucleon systems from effective field theory}",
      journal        = "Nucl. Phys.",
      volume         = "B534",
      year           = "1998",
      pages          = "329-355",
      doi            = "10.1016/S0550-3213(98)00440-4",
      eprint         = "nucl-th/9802075",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      reportNumber   = "DOE-ER-40561-357, INT-98-00-5, NT-UW-98-08, CALT-68-2161",
      SLACcitation   = "%%CITATION = NUCL-TH/9802075;%%"
}

@article{Beane:2003da,
      author         = "Beane, S. R. and Bedaque, P. F. and Parreno, A. and
                        Savage, M. J.",
      title          = "{Two nucleons on a lattice}",
      journal        = "Phys. Lett.",
      volume         = "B585",
      year           = "2004",
      pages          = "106-114",
      doi            = "10.1016/j.physletb.2004.02.007",
      eprint         = "hep-lat/0312004",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      reportNumber   = "UNH-03-02, LBNL-54092, NT-UW-03-033, JLAB-THY-03-225",
      SLACcitation   = "%%CITATION = HEP-LAT/0312004;%%"
}

@article{busch1998,
author = {Busch, Thomas and Englert, Berthold-Georg and Rzazewski, Kazimierz and Wilkens, Martin},
year = {1998},
month = {04},
pages = {},
title = {"Two Cold Atoms in a Harmonic Trap"},
volume = {28},
doi ={10.1023/A:1018705520999},
booktitle = {Foundations of Physics}
}

@article{Fiebig:1994qi,
      author         = "Fiebig, H. R. and Dominguez, A. and Woloshyn, R. M.",
      title          = "{Meson meson scattering phase shifts in (2+1)-dimensional
                        lattice QED}",
      journal        = "Nucl. Phys.",
      volume         = "B418",
      year           = "1994",
      pages          = "649-685",
      doi            = "10.1016/0550-3213(94)90534-7",
      SLACcitation   = "%%CITATION = NUPHA,B418,649;%%"
}

@article{Morningstar:2017spu,
      author         = "Morningstar, Colin and Bulava, John and Singha, Bijit and
                        Brett, {Ruair\'{i}} and Fallica, Jacob and Hanlon, Andrew and
                        {H\"{o}rz}, Ben",
      title          = "{Estimating the two-particle $K$-matrix for multiple
                        partial waves and decay channels from finite-volume
                        energies}",
      journal        = "Nucl. Phys.",
      volume         = "B924",
      year           = "2017",
      pages          = "477-507",
      doi            = "10.1016/j.nuclphysb.2017.09.014",
      eprint         = "1707.05817",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      SLACcitation   = "%%CITATION = ARXIV:1707.05817;%%"
}

@article{Morningstar:2hib,
      author         = "Morningstar, Colin",
      title          = "\texttt{TwoHadronsInBox}",
      url            = "https://github.com/cjmorningstar10/TwoHadronsInBox",
      note           = "GitHub Repository \url{https://github.com/cjmorningstar10/TwoHadronsInBox}"
}

@article{Zhu:2019dho,
      author         = "Zhu, Shangguo and Tan, Shina",
      title          = "{$d$-dimensional L\"uscher's formula and the
                        near-threshold three-body states in a finite volume}",
      year           = "2019",
      eprint         = "1905.05117",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      SLACcitation   = "%%CITATION = ARXIV:1905.05117;%%"
}

@article{Borasoy:2007vy,
      author         = "Borasoy, Bugra and Epelbaum, Evgeny and Krebs, Hermann
                        and Lee, Dean and Mei{\ss}ner, Ulf-G.",
      title          = "{Two-particle scattering on the lattice: Phase shifts,
                        spin-orbit coupling, and mixing angles}",
      journal        = "Eur. Phys. J.",
      volume         = "A34",
      year           = "2007",
      pages          = "185-196",
      doi            = "10.1140/epja/i2007-10500-9",
      eprint         = "0708.1780",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      SLACcitation   = "%%CITATION = ARXIV:0708.1780;%%"
}

@article{Borasoy:2007vi,
      author         = "Borasoy, Bugra and Epelbaum, Evgeny and Krebs, Hermann
                        and Lee, Dean and Mei{\ss}ner, Ulf-G.",
      title          = "{Chiral effective field theory on the lattice at
                        next-to-leading order}",
      journal        = "Eur. Phys. J.",
      volume         = "A35",
      year           = "2008",
      pages          = "343-355",
      doi            = "10.1140/epja/i2008-10544-3",
      eprint         = "0712.2990",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      SLACcitation   = "%%CITATION = ARXIV:0712.2990;%%"
}

@article{Lee:2008fa,
      author         = "Lee, Dean",
      title          = "{Lattice simulations for few- and many-body systems}",
      journal        = "Prog. Part. Nucl. Phys.",
      volume         = "63",
      year           = "2009",
      pages          = "117-154",
      doi            = "10.1016/j.ppnp.2008.12.001",
      eprint         = "0804.3501",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      SLACcitation   = "%%CITATION = ARXIV:0804.3501;%%"
}

@article{Epelbaum:2008vj,
      author         = "Epelbaum, Evgeny and Krebs, Hermann and Lee, Dean and
                        Mei{\ss}ner, Ulf-G.",
      title          = "{Ground state energy of dilute neutron matter at
                        next-to-leading order in lattice chiral effective field
                        theory}",
      journal        = "Eur. Phys. J.",
      volume         = "A40",
      year           = "2009",
      pages          = "199-213",
      doi            = "10.1140/epja/i2009-10755-0",
      eprint         = "0812.3653",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      SLACcitation   = "%%CITATION = ARXIV:0812.3653;%%"
}

@article{Epelbaum:2010xt,
      author         = "Epelbaum, Evgeny and Krebs, Hermann and Lee, Dean and
                        Mei{\ss}ner, Ulf-G.",
      title          = "{Lattice calculations for A=3,4,6,12 nuclei using chiral
                        effective field theory}",
      journal        = "Eur. Phys. J.",
      volume         = "A45",
      year           = "2010",
      pages          = "335-352",
      doi            = "10.1140/epja/i2010-11009-x",
      eprint         = "1003.5697",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      SLACcitation   = "%%CITATION = ARXIV:1003.5697;%%"
}

@article{Elhatisari:2015iga,
      author         = "{Elhatisari, Serdar and Lee, Dean and Rupak, Gautam and
                        Epelbaum, Evgeny and Krebs, Hermann and L\"ahde, Timo A.
                        and Luu, Thomas and Mei{\ss}ner, Ulf-G.}",
      title          = "{Ab initio alpha-alpha scattering}",
      journal        = "Nature",
      volume         = "528",
      year           = "2015",
      pages          = "111",
      doi            = "10.1038/nature16067",
      eprint         = "1506.03513",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      SLACcitation   = "%%CITATION = ARXIV:1506.03513;%%"
}

@article{Elhatisari:2016owd,
      author         = "Elhatisari, Serdar and others",
      title          = "{Nuclear binding near a quantum phase transition}",
      journal        = "Phys. Rev. Lett.",
      volume         = "117",
      year           = "2016",
      number         = "13",
      pages          = "132501",
      doi            = "10.1103/PhysRevLett.117.132501",
      eprint         = "1602.04539",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      SLACcitation   = "%%CITATION = ARXIV:1602.04539;%%"
}

@article{Elhatisari:2016hby,
      author         = "Elhatisari, Serdar and Lee, Dean and Mei{\ss}ner, Ulf-G. and
                        Rupak, Gautam",
      title          = "{Nucleon-deuteron scattering using the adiabatic
                        projection method}",
      journal        = "Eur. Phys. J.",
      volume         = "A52",
      year           = "2016",
      number         = "6",
      pages          = "174",
      doi            = "10.1140/epja/i2016-16174-2",
      eprint         = "1603.02333",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      SLACcitation   = "%%CITATION = ARXIV:1603.02333;%%"
}

@article{Alarcon:2017zcv,
      author         = "{Alarcón, Jose Manuel and Du, Dechuan and Klein, Nico and
                        L\"ahde, Timo A. and Lee, Dean and Li, Ning and Lu,
                        Bing-Nan and Luu, Thomas and Mei{\ss}ner, Ulf-G.}",
      title          = "{Neutron-proton scattering at next-to-next-to-leading
                        order in Nuclear Lattice Effective Field Theory}",
      journal        = "Eur. Phys. J.",
      volume         = "A53",
      year           = "2017",
      number         = "5",
      pages          = "83",
      doi            = "10.1140/epja/i2017-12273-x",
      eprint         = "1702.05319",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      reportNumber   = "JLAB-THY-17-2426",
      SLACcitation   = "%%CITATION = ARXIV:1702.05319;%%"
}

@article{Klein:2018lqz,
      author         = "{Klein, Nico and Elhatisari, Serdar and L\"ahde, Timo A.
                        and Lee, Dean and Mei{\ss}ner, Ulf-G.}",
      title          = "{The Tjon Band in Nuclear Lattice Effective Field
                        Theory}",
      journal        = "Eur. Phys. J.",
      volume         = "A54",
      year           = "2018",
      number         = "7",
      pages          = "121",
      doi            = "10.1140/epja/i2018-12553-y",
      eprint         = "1803.04231",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      SLACcitation   = "%%CITATION = ARXIV:1803.04231;%%"
}

@article{Li:2019ldq,
      author         = "Li, Ning and Elhatisari, Serdar and Epelbaum, Evgeny and
                        Lee, Dean and Lu, Bingnan and Mei{\ss}ner, Ulf-G",
      title          = "{Galilean invariance restoration on the lattice}",
      journal        = "Phys. Rev.",
      volume         = "C99",
      year           = "2019",
      number         = "6",
      pages          = "064001",
      doi            = "10.1103/PhysRevC.99.064001",
      eprint         = "1902.01295",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      SLACcitation   = "%%CITATION = ARXIV:1902.01295;%%"
}

@article{Bovermann:2019jbt,
      author         = "Bovermann, Lukas and Epelbaum, Evgeny and Krebs, Hermann
                        and Lee, Dean",
      title          = "{Scattering phase shifts and mixing angles for an
                        arbitrary number of coupled channels on the lattice}",
      year           = "2019",
      eprint         = "1905.02492",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      SLACcitation   = "%%CITATION = ARXIV:1905.02492;%%"
}

%%%% POTENTIAL METHOD

@article{Ishii:2006ec,
      author         = "Ishii, N. and Aoki, S. and Hatsuda, T.",
      title          = "{The Nuclear Force from Lattice QCD}",
      journal        = "Phys. Rev. Lett.",
      volume         = "99",
      year           = "2007",
      pages          = "022001",
      doi            = "10.1103/PhysRevLett.99.022001",
      eprint         = "nucl-th/0611096",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      reportNumber   = "UTCCS-P-30, TKYNT-06-19, UTHEP-534",
      SLACcitation   = "%%CITATION = NUCL-TH/0611096;%%"
}

@article{Nemura:2008sp,
      author         = "Nemura, Hidekatsu and Ishii, Noriyoshi and Aoki, Sinya
                        and Hatsuda, Tetsuo",
      title          = "{Hyperon-nucleon force from lattice QCD}",
      journal        = "Phys. Lett.",
      volume         = "B673",
      year           = "2009",
      pages          = "136-141",
      doi            = "10.1016/j.physletb.2009.02.003",
      eprint         = "0806.1094",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      reportNumber   = "UTCCS-P-43, TKYNT-08-07, UTHEP-564",
      SLACcitation   = "%%CITATION = ARXIV:0806.1094;%%"
}

@article{Aoki:2009ji,
      author         = "Aoki, Sinya and Hatsuda, Tetsuo and Ishii, Noriyoshi",
      title          = "{Theoretical Foundation of the Nuclear Force in QCD and
                        its applications to Central and Tensor Forces in Quenched
                        Lattice QCD Simulations}",
      journal        = "Prog. Theor. Phys.",
      volume         = "123",
      year           = "2010",
      pages          = "89-128",
      doi            = "10.1143/PTP.123.89",
      eprint         = "0909.5585",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      reportNumber   = "TKYNT-09-19, UTHEP-591",
      SLACcitation   = "%%CITATION = ARXIV:0909.5585;%%"
}

@article{Murano:2011nz,
      author         = "Murano, Keiko and Ishii, Noriyoshi and Aoki, Sinya and
                        Hatsuda, Tetsuo",
      title          = "{Nucleon-Nucleon Potential and its Non-locality in
                        Lattice QCD}",
      journal        = "Prog. Theor. Phys.",
      volume         = "125",
      year           = "2011",
      pages          = "1225-1240",
      doi            = "10.1143/PTP.125.1225",
      eprint         = "1103.0619",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      reportNumber   = "KEK-CP-248",
      SLACcitation   = "%%CITATION = ARXIV:1103.0619;%%"
}

@article{Aoki:2012bb,
      author         = "Aoki, Sinya and Charron, Bruno and Doi, Takumi and
                        Hatsuda, Tetsuo and Inoue, Takashi and Ishii, Noriyoshi",
      title          = "{Construction of energy-independent potentials above
                        inelastic thresholds in quantum field theories}",
      journal        = "Phys. Rev.",
      volume         = "D87",
      year           = "2013",
      number         = "3",
      pages          = "034512",
      doi            = "10.1103/PhysRevD.87.034512",
      eprint         = "1212.4896",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      reportNumber   = "UTHEP-650, INT-PUB-12-059, RIKEN-QHP-55",
      SLACcitation   = "%%CITATION = ARXIV:1212.4896;%%"
}

@article{Kurth:2013tua,
      author         = "Kurth, T. and Ishii, N. and Doi, T. and Aoki, S. and
                        Hatsuda, T.",
      title          = "{Phase shifts in $I=2 {\pi}{\pi}$-scattering from two
                        lattice approaches}",
      journal        = "JHEP",
      volume         = "12",
      year           = "2013",
      pages          = "015",
      doi            = "10.1007/JHEP12(2013)015",
      eprint         = "1305.4462",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      reportNumber   = "WUB-13-06, UTCCS-P-73, RIKEN-QHP-84, YITP-13-27",
      SLACcitation   = "%%CITATION = ARXIV:1305.4462;%%"
}

% Yamazaki:2019vid, Aoki:2017yru, and Yamazaki:2018qut belong together
@article{Yamazaki:2019vid,
      author         = "Yamazaki, Takeshi and Kuramashi, Yoshinobu",
      title          = "{Relation between scattering amplitude and Bethe-Salpeter
                        wave function in quantum field theory}",
      booktitle      = "{Proceedings, 36th International Symposium on Lattice
                        Field Theory (Lattice 2018): East Lansing, MI, United
                        States, July 22-28, 2018}",
      journal        = "PoS",
      volume         = "LATTICE2018",
      year           = "2018",
      pages          = "077",
      doi            = "10.22323/1.334.0077",
      eprint         = "1901.01670",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      SLACcitation   = "%%CITATION = ARXIV:1901.01670;%%"
}
@article{Aoki:2017yru,
      author         = "Aoki, Sinya and Doi, Takumi and Hatsuda, Tetsuo and
                        Ishii, Noriyoshi",
      title          = "{Comment on “Relation between scattering amplitude and
                        Bethe-Salpeter wave function in quantum field theory”}",
      journal        = "Phys. Rev.",
      volume         = "D98",
      year           = "2018",
      number         = "3",
      pages          = "038501",
      doi            = "10.1103/PhysRevD.98.038501",
      eprint         = "1711.09344",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      reportNumber   = "RIKEN-ITHEMS-REPORT-17, YITP-17-125, RIKEN-QHP-342,
                        RIKEN-iTHEMS-Report-17",
      SLACcitation   = "%%CITATION = ARXIV:1711.09344;%%"
}
@article{Yamazaki:2018qut,
      author         = "Yamazaki, Takeshi and Kuramashi, Yoshinobu",
      title          = "{Reply to “Comment on ‘Relation between scattering
                        amplitude and Bethe-Salpeter wave function in quantum
                        field theory”’}",
      journal        = "Phys. Rev.",
      volume         = "D98",
      year           = "2018",
      number         = "3",
      pages          = "038502",
      doi            = "10.1103/PhysRevD.98.038502",
      eprint         = "1808.06299",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      reportNumber   = "UTHEP-720, UTCCS-P-112",
      SLACcitation   = "%%CITATION = ARXIV:1808.06299;%%"
}

@article{Sugiura:2017vwo,
      author         = "Sugiura, Takuya and Ishii, Noriyoshi and Oka, Makoto",
      title          = "{Derivative Expansion of Wave Function Equivalent
                        Potentials}",
      journal        = "Phys. Rev.",
      volume         = "D95",
      year           = "2017",
      number         = "7",
      pages          = "074514",
      doi            = "10.1103/PhysRevD.95.074514",
      eprint         = "1701.08268",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      SLACcitation   = "%%CITATION = ARXIV:1701.08268;%%"
}

@article{Iritani:2017rlk,
      author         = "Iritani, Takumi and Aoki, Sinya and Doi, Takumi and
                        Hatsuda, Testuo and Ikeda, Yoichi and Inoue, Takashi and
                        Ishii, Noriyoshi and Nemura, Hidekatsu and Sasaki, Kenji",
      title          = "{Are two nucleons bound in lattice QCD for heavy quark
                        masses? Consistency check with L\"{u}scher's finite volume
                        formula}",
      journal        = "Phys. Rev.",
      volume         = "D96",
      year           = "2017",
      number         = "3",
      pages          = "034521",
      doi            = "10.1103/PhysRevD.96.034521",
      eprint         = "1703.07210",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      reportNumber   = "YITP-17-24, UTCCS-P-102, RIKEN-QHP-301",
      SLACcitation   = "%%CITATION = ARXIV:1703.07210;%%"
}

@article{Iritani:2018zbt,
      author         = "Iritani, Takumi and Aoki, Sinya and Doi, Takumi and
                        Gongyo, Shinya and Hatsuda, Tetsuo and Ikeda, Yoichi and
                        Inoue, Takashi and Ishii, Noriyoshi and Nemura, Hidekatsu
                        and Sasaki, Kenji",
      title          = "{Systematics of the HAL QCD Potential at Low Energies in
                        Lattice QCD}",
      collaboration  = "HAL QCD",
      journal        = "Phys. Rev.",
      volume         = "D99",
      year           = "2019",
      number         = "1",
      pages          = "014514",
      doi            = "10.1103/PhysRevD.99.014514",
      eprint         = "1805.02365",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      reportNumber   = "YITP-18-42, RIKEN-QHP-370, RIKEN-iTHEMS-Report-18,
                        RIKEN-ITHEMS-REPORT-18",
      SLACcitation   = "%%CITATION = ARXIV:1805.02365;%%"
}

@article{Gongyo:2018gou,
      author         = "Gongyo, Shinya and Aoki, Sinya",
      title          = "{Asymptotic behavior of Nambu–Bethe–Salpeter wave
                        functions for scalar systems with a bound state}",
      journal        = "PTEP",
      volume         = "2018",
      year           = "2018",
      number         = "9",
      pages          = "093B03",
      doi            = "10.1093/ptep/pty097",
      eprint         = "1807.02967",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      reportNumber   = "RIKEN-QHP-378, YITP-18-90",
      SLACcitation   = "%%CITATION = ARXIV:1807.02967;%%"
}

@article{Akahoshi:2019klc,
      author         = "Akahoshi, Yutaro and Aoki, Sinya and Aoyama, Tatsumi and
                        Doi, Takumi and Miyamoto, Takaya and Sasaki, Kenji",
      title          = "{$I=2$ $\pi\pi$ potential in the HAL QCD method with
                        all-to-all propagators}",
      year           = "2019",
      eprint         = "1904.09549",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      reportNumber   = "YITP-19-33, RIKEN-QHP-415, RIKEN-iTHEMS-Report-19",
      SLACcitation   = "%%CITATION = ARXIV:1904.09549;%%"
}

@article{Namekawa:2019xiy,
      author         = "Namekawa, Yusuke and Yamazaki, Takeshi",
      title          = "{Quark mass dependence of on-shell and half off-shell
                        scattering amplitudes from Bethe-Salpeter wave function
                        inside the interaction range}",
      journal        = "Phys. Rev.",
      volume         = "D99",
      year           = "2019",
      number         = "11",
      pages          = "114508",
      doi            = "10.1103/PhysRevD.99.114508",
      eprint         = "1904.00387",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      reportNumber   = "UTHEP-727, UTCCS-P-118",
      SLACcitation   = "%%CITATION = ARXIV:1904.00387;%%"
}

@article{Wigner:1955zz,
      author         = "Wigner, Eugene P.",
      title          = "{Lower Limit for the Energy Derivative of the Scattering
                        Phase Shift}",
      journal        = "Phys. Rev.",
      volume         = "98",
      year           = "1955",
      pages          = "145-147",
      doi            = "10.1103/PhysRev.98.145",
      SLACcitation   = "%%CITATION = PHRVA,98,145;%%"
}

@article{Phillips:1996ae,
      author         = "Phillips, Daniel R. and Cohen, Thomas D.",
      title          = "{How short is too short? Constraining contact
                        interactions in nucleon-nucleon scattering}",
      journal        = "Phys. Lett.",
      volume         = "B390",
      year           = "1997",
      pages          = "7-12",
      doi            = "10.1016/S0370-2693(96)01411-6",
      eprint         = "nucl-th/9607048",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      reportNumber   = "DOE-ER-40762-092, UMD-PP-97-008",
      SLACcitation   = "%%CITATION = NUCL-TH/9607048;%%"
}

@article{Hammer:2010fw,
      author         = "Hammer, H. -W. and Lee, Dean",
      title          = "{Causality and the effective range expansion}",
      journal        = "Annals Phys.",
      volume         = "325",
      year           = "2010",
      pages          = "2212-2233",
      doi            = "10.1016/j.aop.2010.06.006",
      eprint         = "1002.4603",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      reportNumber   = "HISKP-TH-10-08",
      SLACcitation   = "%%CITATION = ARXIV:1002.4603;%%"
}

@misc{nussinov2004bcs,
    title={The BCS - BEC Crossover In Arbitrary Dimensions},
    author={Zohar Nussinov and Shmuel Nussinov},
    year={2004},
    eprint={cond-mat/0410597},
    archivePrefix={arXiv},
    primaryClass={cond-mat.str-el}
}

@proceedings{lattice-practices,
    title={Lattice Practices 2018},
    year={2018},
    address={J\"{u}lich Supercomputing Center, Forschungszentrum J\"{u}lich},
    url={https://www.fz-juelich.de/ias/jsc/EN/Expertise/Workshops/Conferences/LAP18/_node.html}
}

@misc{lattice-practices-exercises,
    title={{1D Quantum Mechanics Example of the L\"uscher Formalism}},
    author={Evan Berkowitz},
    year={2018},
    howpublished={\url{https://github.com/evanberkowitz/qm-luescher-example/}}
}

@article{PhysRevC.60.054311,
  title = {Neutron matter model},
  author = {Baker, George A.},
  journal = {Phys. Rev. C},
  volume = {60},
  issue = {5},
  pages = {054311},
  numpages = {6},
  year = {1999},
  month = {Oct},
  publisher = {American Physical Society},
  doi = {10.1103/PhysRevC.60.054311},
  url = {https://link.aps.org/doi/10.1103/PhysRevC.60.054311}
}

@article{Epelbaum:2018zli,
      author         = "Epelbaum, E. and Gasparyan, A. M. and Gegelia, J. and
                        Mei{\ss}ner, Ulf-G.",
      title          = "{How (not) to renormalize integral equations with
                        singular potentials in effective field theory}",
      journal        = "Eur. Phys. J.",
      volume         = "A54",
      year           = "2018",
      number         = "11",
      pages          = "186",
      doi            = "10.1140/epja/i2018-12632-1",
      eprint         = "1810.02646",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      SLACcitation   = "%%CITATION = ARXIV:1810.02646;%%"
}

@article{He:2019ipt,
      author         = "He, Rongzheng and Li, Ning and Lu, Bing-Nan and Lee,
                        Dean",
      title          = "{Superfluid Condensate Fraction and Pairing Wave Function
                        of the Unitary Fermi Gas}",
      year           = "2019",
      eprint         = "1910.01257",
      archivePrefix  = "arXiv",
      primaryClass   = "cond-mat.quant-gas",
      SLACcitation   = "%%CITATION = ARXIV:1910.01257;%%"
}

@article{Li:2019qvh,
      author         = "Li, Yan and Wu, Jia-Jun and Abell, Curtis D. and
                        Leinweber, Derek B. and Thomas, Anthony W.",
      title          = "{Partial Wave Mixing in Hamiltonian Effective Field
                        Theory}",
      year           = "2019",
      eprint         = "1910.04973",
      archivePrefix  = "arXiv",
      primaryClass   = "hep-lat",
      reportNumber   = "ADP-19-18/T1098",
      SLACcitation   = "%%CITATION = ARXIV:1910.04973;%%"
}

@article{McElvain:2019ltw,
      author         = "McElvain, K. S. and Haxton, W. C.",
      title          = "{Nuclear physics without high-momentum potentials:
                        Constructing the nuclear effective interaction directly
                        from scattering observables}",
      journal        = "Phys. Lett.",
      volume         = "B797",
      year           = "2019",
      pages          = "134880",
      doi            = "10.1016/j.physletb.2019.134880",
      eprint         = "1902.03543",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      SLACcitation   = "%%CITATION = ARXIV:1902.03543;%%"
}

@article{Seki:2005ns,
      author         = "Seki, Ryoichi and van Kolck, U.",
      title          = "{Effective field theory of nucleon-nucleon scattering on
                        large discrete lattices}",
      journal        = "Phys. Rev.",
      volume         = "C73",
      year           = "2006",
      pages          = "044006",
      doi            = "10.1103/PhysRevC.73.044006",
      eprint         = "nucl-th/0509094",
      archivePrefix  = "arXiv",
      primaryClass   = "nucl-th",
      SLACcitation   = "%%CITATION = NUCL-TH/0509094;%%"
}

repository: ckoerber/luescher-nd

repo_name: ckoerber/luescher-nd

gha_language: Python

extension: bib