opt: src/particle_swarm.c src/vector.c
- gcc -Iinclude -lm -fopenmp src/vector.c src/particle_swarm.c -o opt
+ gcc -Iinclude `pkg-config --cflags gtk4` -lm -fopenmp src/vector.c src/particle_swarm.c -o opt `pkg-config --libs gtk4`
#include <stdio.h>
#include "particle_swarm.h"
#include "vector.h"
+#include <gtk/gtk.h>
double c = 2.05;
double s = 2.05;
}
}
-int main() {
+static void on_activate(GtkApplication *app) {
+ GtkWidget *window = gtk_application_window_new(app);
+ GtkWidget *button = gtk_button_new_with_label("Hello, World!");
+ g_signal_connect_swapped(button, "clicked", G_CALLBACK(gtk_window_close), window);
+ gtk_window_set_child(GTK_WINDOW(window), button);
+ gtk_window_present(GTK_WINDOW(window));
+}
+
+int main(int argc, char *argv[]) {
double eps = pow(2, 40);
int dim = 2;
int particlec = 100;
printf("PSO: converged in x=");
vec_print(dim, sw.global_best->current.x);
printf(" with fitness f(x)=%f\n", sw.global_best->current.fitness);
- return 0;
+
+ GtkApplication *app = gtk_application_new("org.wafflesoft.NCPSO", G_APPLICATION_DEFAULT_FLAGS);
+ g_signal_connect(app, "activate", G_CALLBACK(on_activate), NULL);
+ return g_application_run(G_APPLICATION(app), argc, argv);
}