APPFS
Advanced practical programming for scientists
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
ex5_enum.c
Go to the documentation of this file.
1 
6 #include <stdio.h>
7 #include <stdlib.h>
8 #include <string.h>
9 #include <ctype.h>
10 #include <assert.h>
11 #include <stdbool.h>
12 #include <time.h>
13 #include <limits.h>
14 #include <errno.h>
15 
16 #include "mshell.h"
17 #include "bip_enum.h"
18 
21 int main(int argc, const char** argv)
22 {
23  if (argc < 2)
24  {
25  fprintf(stderr, "usage: %s filename", argv[0]);
26  return EXIT_FAILURE;
27  }
28  bip_init();
29 
30  BIP* bip = bip_read(argv[1]);
31 
32  if (NULL == bip)
33  return EXIT_FAILURE;
34 
35  bip_print(bip, stdout);
36 
37  printf("%d solutions\n", bip_enumerate(bip, true));
38 
39  bip_free(bip);
40 
41  mem_maximum(stdout);
42 
43  return EXIT_SUCCESS;
44 }
void bip_print(const BIP *bip, FILE *fp)
Print Binary Program from BIP.
Definition: bip_enum.c:359
void bip_init()
Definition: bip_enum.c:91
BIP * bip_read(const char *filename)
Read a bip file.
Definition: bip_enum.c:296
void bip_free(BIP *bip)
Deallocate BIP data structure.
Definition: bip_enum.c:133
void mem_maximum(FILE *fp)
Definition: mshell.c:373
BIP Enumerator Header.
int main(int argc, const char **argv)
Usage: ex5_enum bip_file.
Definition: ex5_enum.c:21
int bip_enumerate(const BIP *bip, bool with_output)
Enumerate all possible solution of a BIP.
Definition: bip_enum.c:439