add basic math functions
This commit is contained in:
parent
12363f0ed6
commit
6737c3a781
|
@ -11,6 +11,7 @@ set(SOURCES
|
||||||
src/stack.c
|
src/stack.c
|
||||||
src/binarytree.c
|
src/binarytree.c
|
||||||
src/input.c
|
src/input.c
|
||||||
|
src/math.c
|
||||||
)
|
)
|
||||||
|
|
||||||
add_library(flint ${SOURCES})
|
add_library(flint ${SOURCES})
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
char *get_input(const char *);
|
char *get_input(const char *);
|
||||||
char **split(const char *, size_t *, const char *);
|
char **split(char *, size_t *, const char *);
|
||||||
char **get_lines(const char *, size_t *);
|
char **get_lines(const char *, size_t *);
|
||||||
int *get_ints(const char *, size_t *);
|
int *get_ints(const char *, size_t *);
|
||||||
void del_split(char **);
|
void del_split(char **);
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
#ifndef LIBFLINT_H_MATH
|
||||||
|
#define LIBFLINT_H_MATH
|
||||||
|
|
||||||
|
int max_int(int a, int b);
|
||||||
|
int min_int(int a, int b);
|
||||||
|
int binstr_to_int(const char *s);
|
||||||
|
|
||||||
|
#endif // LIBFLINT_H_MATH
|
|
@ -36,7 +36,7 @@ char *get_input(const char *path) {
|
||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
char **split(const char *s, size_t *lsz, const char *delim) {
|
char **split(char *s, size_t *lsz, const char *delim) {
|
||||||
char **lines = NULL;
|
char **lines = NULL;
|
||||||
char *t = strtok(s, delim);
|
char *t = strtok(s, delim);
|
||||||
size_t n = 0;
|
size_t n = 0;
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "math.h"
|
||||||
|
|
||||||
|
int max_int(int a, int b) {
|
||||||
|
if (a > b) {
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
|
||||||
|
int min_int(int a, int b) {
|
||||||
|
if (a < b) {
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
|
||||||
|
int binstr_to_int(const char *s) {
|
||||||
|
int n = 0, m = 1;
|
||||||
|
for (size_t i = strlen(s) - 1; i >= 0; --i) {
|
||||||
|
if (s[i] == '1') {
|
||||||
|
n += m;
|
||||||
|
}
|
||||||
|
m *= 2;
|
||||||
|
}
|
||||||
|
return n;
|
||||||
|
}
|
Loading…
Reference in New Issue