Bitcoin ABC 0.26.3
P2P Digital Currency
Loading...
Searching...
No Matches
secp256k1_multiset.h
Go to the documentation of this file.
1/***********************************************************************
2 * Copyright (c) 2017 Tomas van der Wansem *
3 * Distributed under the MIT software license, see the accompanying *
4 * file COPYING or https://www.opensource.org/licenses/mit-license.php.*
5 ***********************************************************************/
6
7
8#ifndef _SECP256K1_MULTISET__
9# define _SECP256K1_MULTISET__
10
11# include "secp256k1.h"
12
13
14# ifdef __cplusplus
15extern "C" {
16# endif
17
18
20typedef struct {
21 unsigned char d[96];
23
24
25
38
39
52 const unsigned char *input,
53 size_t inputLen
55
68 const unsigned char *input,
69 size_t inputLen
71
72
73
85 const secp256k1_multiset *input
86
88
89
100 unsigned char *resultHash,
103
104
105
106# ifdef __cplusplus
107}
108# endif
109
110#endif
secp256k1_context * ctx
T GetRand(T nMax=std::numeric_limits< T >::max()) noexcept
Generate a uniform random integer of type T in the range [0..nMax) nMax defaults to std::numeric_limi...
Definition random.h:85
#define SECP256K1_ARG_NONNULL(_x)
Definition secp256k1.h:158
#define SECP256K1_API
Definition secp256k1.h:143
SECP256K1_API int secp256k1_multiset_init(const secp256k1_context *ctx, secp256k1_multiset *multiset) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2)
Initialize a multiset The resulting multiset the multiset for no data elements.
Definition main_impl.h:200
SECP256K1_API int secp256k1_multiset_finalize(const secp256k1_context *ctx, unsigned char *resultHash, const secp256k1_multiset *multiset) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3)
Converts a multiset to a hash.
Definition main_impl.h:165
SECP256K1_API int secp256k1_multiset_add(const secp256k1_context *ctx, secp256k1_multiset *multiset, const unsigned char *input, size_t inputLen) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3)
Adds an element to a multiset from single data element.
Definition main_impl.h:127
SECP256K1_API int secp256k1_multiset_remove(const secp256k1_context *ctx, secp256k1_multiset *multiset, const unsigned char *input, size_t inputLen) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3)
Removes an element from a multiset.
Definition main_impl.h:132
SECP256K1_API int secp256k1_multiset_combine(const secp256k1_context *ctx, secp256k1_multiset *multiset, const secp256k1_multiset *input) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3)
Combines two multisets.
Definition main_impl.h:137
Opaque multiset; this is actually a group element.