Parallel PopGen Package
go_fish_data_struct.h File Reference

Subset of go_fish.cuh (the GO_Fish data structures) More...

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <sstream>
#include <cstring>
#include "../3P/_internal/inline_go_fish_data_struct.hpp"

Go to the source code of this file.

Classes

struct  GO_Fish::mutID
 structure specifying the ID for a mutation in a GO_Fish simulation More...
 
struct  GO_Fish::allele_trajectories
 control and output data structure for GO_Fish simulation More...
 
struct  GO_Fish::allele_trajectories::sim_constants
 specification of simulation constants More...
 

Namespaces

 GO_Fish
 Namespace for single-locus, forward, Monte-Carlo Wright-Fisher simulation and output data structures.
 

Functions

std::ostream & GO_Fish::operator<< (std::ostream &stream, const mutID &id)
 insertion operator: sends mutID id into the ostream stream More...
 
std::ostream & GO_Fish::operator<< (std::ostream &stream, allele_trajectories &A)
 insertion operator: sends allele_trajectories A into the ostream stream More...
 
void GO_Fish::swap (allele_trajectories &a, allele_trajectories &b)
 swaps data held by allele_trajectories a and b More...
 

Detailed Description

Subset of go_fish.cuh (the GO_Fish data structures)

go_fish_data_struct.h contains the structures and associated functions for storing and outputting a GO_Fish simulation run. When go_fish.cuh is already included into a source file, go_fish_data_struct.h is automatically included - no need to include it separately. However, go_fish_data_struct.h can be included by itself - the advantage being that it can be included in C, C++ (*.c, *.cpp) source files as well as CUDA source files (*.cu). This allows data from a simulation run to be passed from a CUDA project to an already established C/C++ project compiled with a standard C/C++ compiler (e.g. clang, g++, msvc, etc ...) using structures GO_Fish::allele_trajectories and GO_Fish::mutID. See Example3-Compilation.

Definition in file go_fish_data_struct.h.