parQHV
Compute HyperVolumes using threads
 All Data Structures Files Functions Variables Macros
inexclusion.c File Reference

The PTS array is where I store the points. The combinations are simply integers. The bits to one indicate the points included in the combination. The C2P array maps from combinations to positions in PTS. More...

#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include "point.h"
#include "constants.h"
#include "macros.h"
#include "subsets.h"
#include "inexclusion.h"
Include dependency graph for inexclusion.c:

Go to the source code of this file.

Functions

void IECinit (void)
 
double InExClusion (point *zero, point *one, int n, int *idx, point *PS, struct iex *ax)
 

Detailed Description

The PTS array is where I store the points. The combinations are simply integers. The bits to one indicate the points included in the combination. The C2P array maps from combinations to positions in PTS.

Author
Luis Russo <lsr-ThinkPad-X201>
Date
Fri Feb 3 16:35:27 2012

Definition in file inexclusion.c.

Function Documentation

void IECinit ( void  )

This algorithm also needs to be initialized

Calculating the binomials

Accumulating the binomials

Definition at line 70 of file inexclusion.c.

double InExClusion ( point zero,
point one,
int  n,
int *  idx,
point PS,
struct iex *  ax 
)
Parameters
zeroThe min coordinates point
oneThe max coordinates point
nThe number of points
idxThe idx array
PSThe point array
Returns
The hyperVolume computed with cache-oblivious IEC

< Number of bits set to 1 in i

< A counters array

Local stash of points

< Upper limit

< Reinit counters

< Running through all combinations

< These are already included

< Inclusion

< Exclusion

Definition at line 104 of file inexclusion.c.