cudd/cuddAddWalsh.c File Reference

Functions that generate Walsh matrices and residue functions in ADD form. More...

#include "util.h"
#include "cuddInt.h"
Include dependency graph for cuddAddWalsh.c:

Functions

DdNodeCudd_addWalsh (DdManager *dd, DdNode **x, DdNode **y, int n)
 Generates a Walsh matrix in ADD form.
DdNodeCudd_addResidue (DdManager *dd, int n, int m, int options, int top)
 Builds an ADD for the residue modulo m of an n-bit number.
static DdNodeaddWalshInt (DdManager *dd, DdNode **x, DdNode **y, int n)
 Implements the recursive step of Cudd_addWalsh.

Detailed Description

Functions that generate Walsh matrices and residue functions in ADD form.

Author:
Fabio Somenzi

Copyright (c) 1995-2015, Regents of the University of Colorado

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Function Documentation

static DdNode* addWalshInt ( DdManager dd,
DdNode **  x,
DdNode **  y,
int  n 
) [static]

Implements the recursive step of Cudd_addWalsh.

Returns:
a pointer to the matrixi if successful; NULL otherwise.
Side effects
None
See also:
Cudd_addWalsh
DdNode* Cudd_addResidue ( DdManager dd,
int  n,
int  m,
int  options,
int  top 
)

Builds an ADD for the residue modulo m of an n-bit number.

The modulus must be at least 2, and the number of bits at least 1. Parameter options specifies whether the MSB should be on top or the LSB; and whther the number whose residue is computed is in two's complement notation or not. The macro CUDD_RESIDUE_DEFAULT specifies LSB on top and unsigned number. The macro CUDD_RESIDUE_MSB specifies MSB on top, and the macro CUDD_RESIDUE_TC specifies two's complement residue. To request MSB on top and two's complement residue simultaneously, one can OR the two macros: CUDD_RESIDUE_MSB | CUDD_RESIDUE_TC.

Returns:
a pointer to the resulting ADD if successful; NULL otherwise.
Side effects
None
Parameters:
dd manager
n number of bits
m modulus
options options
top index of top variable
DdNode* Cudd_addWalsh ( DdManager dd,
DdNode **  x,
DdNode **  y,
int  n 
)

Generates a Walsh matrix in ADD form.

Returns:
a pointer to the matrixi if successful; NULL otherwise.
Side effects
None
 All Data Structures Files Functions Variables Typedefs Enumerations Defines

Generated on 31 Dec 2015 for cudd by  doxygen 1.6.1