Ignore:
Timestamp:
08/08/16 20:48:54 (3 years ago)
Author:
abeham
Message:

#2651: worked on igraph integration, additional layout algorithms, density, page rank

  • added unit tests
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.Igraph/0.8.0-pre/HeuristicLab.Igraph-0.8.0-pre/Datatypes.cs

    r14234 r14244  
    2323using System.Runtime.InteropServices;
    2424
    25 namespace HeuristicLab.igraph {
     25namespace HeuristicLab.IGraph {
    2626  #region Structs
    2727  [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
     
    6666    IntPtr attr;
    6767  };
     68
     69  [StructLayout(LayoutKind.Explicit, CharSet = CharSet.Ansi)]
     70  internal struct igraph_vs_t {
     71    [FieldOffset(0)]
     72    internal int type;
     73    [FieldOffset(4)]
     74    int vid;
     75    [FieldOffset(4)]
     76    IntPtr vecptr;
     77    [FieldOffset(4)]
     78    int adj_vid;
     79    [FieldOffset(8)]
     80    igraph_neimode_t adj_mode;
     81    [FieldOffset(4)]
     82    int seq_from;
     83    [FieldOffset(8)]
     84    int seq_to;
     85  }
     86
     87  [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
     88  unsafe internal struct igraph_arpack_options_t {
     89    /* INPUT */
     90    internal fixed char bmat[1]; /* I-standard problem, G-generalized */
     91    internal int n; /* Dimension of the eigenproblem */
     92    internal fixed char which[2]; /* LA, SA, LM, SM, BE */
     93    internal int nev; /* Number of eigenvalues to be computed */
     94    internal double tol; /* Stopping criterion */
     95    internal int ncv; /* Number of columns in V */
     96    internal int ldv; /* Leading dimension of V */
     97    internal int ishift; /* 0-reverse comm., 1-exact with tridiagonal */
     98    internal int mxiter; /* Maximum number of update iterations to take */
     99    internal int nb; /* Block size on the recurrence, only 1 works */
     100    internal int mode; /* The kind of problem to be solved (1-5)
     101                          1: A*x=l*x, A symmetric
     102                          2: A*x=l*M*x, A symm. M pos. def.
     103                          3: K*x = l*M*x, K symm., M pos. semidef.
     104                          4: K*x = l*KG*x, K s. pos. semidef. KG s. indef.
     105                          5: A*x = l*M*x, A symm., M symm. pos. semidef. */
     106    internal int start; /* 0: random, 1: use the supplied vector */
     107    internal int lworkl; /* Size of temporary storage, default is fine */
     108    internal double sigma; /* The shift for modes 3,4,5 */
     109    internal double sigmai; /* The imaginary part of shift for rnsolve */
     110    /* OUTPUT */
     111    internal int info; /* What happened, see docs */
     112    internal int ierr; /* What happened  in the dseupd call */
     113    internal int noiter; /* The number of iterations taken */
     114    internal int nconv;
     115    internal int numop; /* Number of OP*x operations */
     116    internal int numopb; /* Number of B*x operations if BMAT='G' */
     117    internal int numreo; /* Number of steps of re-orthogonalizations */
     118    /* INTERNAL */
     119    internal fixed int iparam[11];
     120    internal fixed int ipntr[14];
     121  }
     122
     123  [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
     124  internal struct igraph_pagerank_power_options_t {
     125    internal int niter;
     126    internal double eps;
     127  }
    68128  #endregion
    69129
     
    74134    IGRAPH_LAYOUT_AUTOGRID
    75135  };
     136  internal enum igraph_pagerank_algo_t {
     137    IGRAPH_PAGERANK_ALGO_POWER = 0,
     138    IGRAPH_PAGERANK_ALGO_ARPACK = 1,
     139    IGRAPH_PAGERANK_ALGO_PRPACK = 2
     140  }
     141  internal enum igraph_neimode_t {
     142    IGRAPH_OUT = 1,
     143    IGRAPH_IN = 2,
     144    IGRAPH_ALL = 3,
     145    IGRAPH_TOTAL = 3
     146  }
    76147  #endregion
    77148}
Note: See TracChangeset for help on using the changeset viewer.