#include <gudhi/Simplex_tree.h>
#include <gudhi/Persistent_cohomology.h>
#include <iostream>
#include <vector>
#include <cstdint>
static const bool store_filtration = false;
static const bool store_key = true;
typedef short Vertex_handle;
typedef std::uint8_t Simplex_key;
};
int main() {
ST st;
const short triangle012[] = {0, 1, 2};
const short edge03[] = {0, 3};
const short edge13[] = {1, 3};
const short vertex4[] = {4};
st.insert_simplex_and_subfaces(triangle012);
st.insert_simplex_and_subfaces(edge03);
st.insert_simplex(edge13);
st.insert_simplex(vertex4);
st.set_dimension(2);
st.initialize_filtration();
Persistent_cohomology pcoh(st);
pcoh.init_coefficients(2);
pcoh.compute_persistent_cohomology();
pcoh.output_diagram();
std::cout << std::endl;
std::cout << "The Betti numbers are : ";
for (int i = 0; i < st.dimension(); i++)
std::cout << "b" << i << " = " << pcoh.betti_number(i) << " ; ";
std::cout << std::endl;
}