summaryrefslogtreecommitdiff
path: root/src/intersim/kncube.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/intersim/kncube.hpp')
-rw-r--r--src/intersim/kncube.hpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/intersim/kncube.hpp b/src/intersim/kncube.hpp
new file mode 100644
index 0000000..5aba886
--- /dev/null
+++ b/src/intersim/kncube.hpp
@@ -0,0 +1,33 @@
+#ifndef _KNCUBE_HPP_
+#define _KNCUBE_HPP_
+
+#include "network.hpp"
+
+class KNCube : public Network {
+
+ bool _mesh;
+
+ int _k;
+ int _n;
+
+ void _ComputeSize( const Configuration &config );
+ void _BuildNet( const Configuration &config );
+
+ int _LeftChannel( int node, int dim );
+ int _RightChannel( int node, int dim );
+
+ int _LeftNode( int node, int dim );
+ int _RightNode( int node, int dim );
+
+public:
+ KNCube( const Configuration &config, bool mesh );
+
+ int GetN( ) const;
+ int GetK( ) const;
+
+ double Capacity( ) const;
+
+ void InsertRandomFaults( const Configuration &config );
+};
+
+#endif