<commit_before>// Copyright 2017, Project ArteMisc
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
package sign

import (
	"unsafe"

	"go.artemisc.eu/godium"
	"go.artemisc.eu/godium/core"
	"go.artemisc.eu/godium/hash"
	"go.artemisc.eu/godium/sign/internal/edwards25519"
)

const (
	Ed25519_PublicKeyBytes = 32
	Ed25519_SecretKeyBytes = 64
	Ed25519_Bytes          = 64
	Ed25519_SeedBytes      = 32
)

type Ed25519Sign struct {
	godium.PrivateKey
	godium.PublicKey
	Multipart godium.Hash
}

// NewEd25519
func NewEd25519(key godium.PrivateKey) (s godium.Sign) {
	key = core.Copy(key, Ed25519_SecretKeyBytes)
	s = &Ed25519Sign{<commit_msg>const<commit_after>// Copyright 2017, Project ArteMisc
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
package sign

import (
	"unsafe"

	"go.artemisc.eu/godium"
	"go.artemisc.eu/godium/core"
	"go.artemisc.eu/godium/hash"
	"go.artemisc.eu/godium/sign/internal/edwards25519"
)

const (
	Ed25519_PublicKeyBytes = 32
	Ed25519_SecretKeyBytes = 64
	Ed25519_Bytes          = 64
	Ed25519_SeedBytes      = 32

	Ed25519ph_PublicKeyBytes = 32
	Ed25519ph_SecretKeyBytes = 64
	Ed25519ph_Bytes          = 64
	Ed25519ph_SeedBytes      = 32
)

type Ed25519Sign struct {
	godium.PrivateKey
	godium.PublicKey
	Multipart godium.Hash
}

// NewEd25519
func NewEd25519(key godium.PrivateKey) (s godium.Sign) {
	key = core.Copy(key, Ed25519_SecretKeyBytes)
	s = &Ed25519Sign{
{'fraction_non_alphanumeric': 0.10217263652378156, 'fraction_numerical': 0.09395184967704051, 'mean_word_length': 3.5806451612903225, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5860363', 'n_tokens_mistral': 766, 'n_tokens_neox': 648, 'n_words': 155}