aboutsummaryrefslogtreecommitdiff
path: root/src/obj/curve.h
blob: 99284f4f18af5260afbb2bcfb13b61aff7eb93e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef ECGEN_OBJ_CURVE_H
#define ECGEN_OBJ_CURVE_H

#include "misc/types.h"
#include "obj.h"

OBJ_H(curve, curve_t)

/**
 * Copies parameters from src curve to dest curve, allocates space for points.
 * Otherwise expects everything to be allocated.
 *
 * @param src source curve
 * @param dest destination curve
 * @return destination curve
 */
curve_t *curve_copy(const curve_t *src, curve_t *dest);

/**
 *
 * @param src
 * @param dest
 * @return
 */
curve_t *curve_clone(const curve_t *src, curve_t *dest);

/**
 * Free a curve_t along with it's seed_t and point_ts.
 * @param curve to free
 */
void curve_free(curve_t **curve);

#include "misc/types.h"

#endif  // ECGEN_OBJ_CURVE_H