summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2012-07-07 17:46:54 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2012-07-07 17:46:54 -0700
commit3aab7245738a69f1dd4d898493d5dabf6596ea61 (patch)
tree16a23107ca27a250e82c492dcdd1a2bea640cff6
parent16d96fcf533fb77ff4a45992991e38ac7ea74bb3 (diff)
downloadabc-3aab7245738a69f1dd4d898493d5dabf6596ea61.tar.gz
abc-3aab7245738a69f1dd4d898493d5dabf6596ea61.tar.bz2
abc-3aab7245738a69f1dd4d898493d5dabf6596ea61.zip
Fixing time primtouts throughout the code.
-rw-r--r--src/aig/aig/aig.h5
-rw-r--r--src/aig/aig/aigCuts.c3
-rw-r--r--src/aig/aig/aigDfs.c3
-rw-r--r--src/aig/aig/aigDoms.c9
-rw-r--r--src/aig/aig/aigInter.c8
-rw-r--r--src/aig/aig/aigJust.c4
-rw-r--r--src/aig/aig/aigPart.c6
-rw-r--r--src/aig/aig/aigPartSat.c3
-rw-r--r--src/aig/aig/aigRepar.c4
-rw-r--r--src/aig/aig/aigRet.c2
-rw-r--r--src/aig/aig/aigSplit.c3
-rw-r--r--src/aig/aig/aigTable.c3
-rw-r--r--src/aig/gia/gia.h1
-rw-r--r--src/aig/gia/giaAbsGla.c12
-rw-r--r--src/aig/gia/giaAbsVta.c6
-rw-r--r--src/aig/gia/giaCCof.c9
-rw-r--r--src/aig/gia/giaCSat.c11
-rw-r--r--src/aig/gia/giaCSatOld.c11
-rw-r--r--src/aig/gia/giaCTas.c14
-rw-r--r--src/aig/gia/giaCTas2.c8
-rw-r--r--src/aig/gia/giaCof.c2
-rw-r--r--src/aig/gia/giaDfs.c6
-rw-r--r--src/aig/gia/giaEmbed.c10
-rw-r--r--src/aig/gia/giaEra.c3
-rw-r--r--src/aig/gia/giaEra2.c10
-rw-r--r--src/aig/gia/giaForce.c4
-rw-r--r--src/aig/gia/giaFrames.c4
-rw-r--r--src/aig/gia/giaGiarf.c5
-rw-r--r--src/aig/gia/giaGlitch.c3
-rw-r--r--src/aig/gia/giaHcd.c5
-rw-r--r--src/aig/gia/giaIso.c25
-rw-r--r--src/aig/gia/giaRetime.c3
-rw-r--r--src/aig/gia/giaShrink.c3
-rw-r--r--src/aig/gia/giaSim.c10
-rw-r--r--src/aig/gia/giaSim2.c8
-rw-r--r--src/aig/gia/giaSort.c2
-rw-r--r--src/aig/gia/giaSwitch.c3
-rw-r--r--src/aig/gia/giaTsim.c3
-rw-r--r--src/aig/hop/hop.h5
-rw-r--r--src/aig/hop/hopTable.c3
-rw-r--r--src/aig/ioa/ioa.h1
-rw-r--r--src/aig/ivy/ivy.h4
-rw-r--r--src/aig/ivy/ivyCut.c2
-rw-r--r--src/aig/ivy/ivyCutTrav.c2
-rw-r--r--src/aig/ivy/ivyFastMap.c11
-rw-r--r--src/aig/ivy/ivyFraig.c54
-rw-r--r--src/aig/ivy/ivyResyn.c6
-rw-r--r--src/aig/ivy/ivyRwr.c4
-rw-r--r--src/aig/ivy/ivySeq.c6
-rw-r--r--src/aig/ivy/ivyTable.c3
-rw-r--r--src/aig/saig/saigAbsCba.c5
-rw-r--r--src/aig/saig/saigAbsPba.c6
-rw-r--r--src/aig/saig/saigAbsStart.c3
-rw-r--r--src/aig/saig/saigAbsVfa.c3
-rw-r--r--src/aig/saig/saigBmc.c5
-rw-r--r--src/aig/saig/saigBmc2.c13
-rw-r--r--src/aig/saig/saigBmc3.c11
-rw-r--r--src/aig/saig/saigConstr2.c3
-rw-r--r--src/aig/saig/saigGlaCba.c13
-rw-r--r--src/aig/saig/saigGlaPba.c44
-rw-r--r--src/aig/saig/saigGlaPba2.c14
-rw-r--r--src/aig/saig/saigHaig.c7
-rw-r--r--src/aig/saig/saigInd.c3
-rw-r--r--src/aig/saig/saigIso.c7
-rw-r--r--src/aig/saig/saigIsoFast.c5
-rw-r--r--src/aig/saig/saigIsoSlow.c16
-rw-r--r--src/aig/saig/saigMiter.c3
-rw-r--r--src/aig/saig/saigRefSat.c6
-rw-r--r--src/aig/saig/saigRetFwd.c3
-rw-r--r--src/aig/saig/saigSimExt.c2
-rw-r--r--src/aig/saig/saigSimExt2.c4
-rw-r--r--src/aig/saig/saigSimFast.c3
-rw-r--r--src/aig/saig/saigSimMv.c3
-rw-r--r--src/aig/saig/saigSimSeq.c2
-rw-r--r--src/aig/saig/saigStrSim.c3
-rw-r--r--src/aig/saig/saigSwitch.c3
-rw-r--r--src/aig/saig/saigSynch.c6
-rw-r--r--src/aig/saig/saigTrans.c2
-rw-r--r--src/base/abc/abc.h1
-rw-r--r--src/base/abc/abcAig.c3
-rw-r--r--src/base/abc/abcDfs.c3
-rw-r--r--src/base/abc/abcHieCec.c3
-rw-r--r--src/base/abc/abcHieNew.c7
-rw-r--r--src/base/abci/abc.c13
-rw-r--r--src/base/abci/abcAuto.c2
-rw-r--r--src/base/abci/abcBidec.c2
-rw-r--r--src/base/abci/abcBm.c7
-rw-r--r--src/base/abci/abcCas.c4
-rw-r--r--src/base/abci/abcCollapse.c2
-rw-r--r--src/base/abci/abcCut.c2
-rw-r--r--src/base/abci/abcDar.c59
-rw-r--r--src/base/abci/abcDebug.c3
-rw-r--r--src/base/abci/abcDress2.c4
-rw-r--r--src/base/abci/abcIf.c3
-rw-r--r--src/base/abci/abcIvy.c2
-rw-r--r--src/base/abci/abcLutmin.c3
-rw-r--r--src/base/abci/abcMap.c2
-rw-r--r--src/base/abci/abcMerge.c3
-rw-r--r--src/base/abci/abcMffc.c9
-rw-r--r--src/base/abci/abcNpnSave.c3
-rw-r--r--src/base/abci/abcNtbdd.c3
-rw-r--r--src/base/abci/abcOdc.c20
-rw-r--r--src/base/abci/abcPart.c5
-rw-r--r--src/base/abci/abcPrint.c3
-rw-r--r--src/base/abci/abcProve.c3
-rw-r--r--src/base/abci/abcQbf.c2
-rw-r--r--src/base/abci/abcQuant.c3
-rw-r--r--src/base/abci/abcReach.c3
-rw-r--r--src/base/abci/abcRec.c48
-rw-r--r--src/base/abci/abcRefactor.c20
-rw-r--r--src/base/abci/abcRestruct.c2
-rw-r--r--src/base/abci/abcResub.c28
-rw-r--r--src/base/abci/abcRewrite.c2
-rw-r--r--src/base/abci/abcRr.c16
-rw-r--r--src/base/abci/abcSat.c3
-rw-r--r--src/base/abci/abcSymm.c2
-rw-r--r--src/base/abci/abcUnate.c5
-rw-r--r--src/base/cmd/cmdPlugin.c3
-rw-r--r--src/base/io/ioReadAiger.c1
-rw-r--r--src/base/io/ioReadBblif.c5
-rw-r--r--src/base/io/ioWriteAiger.c2
-rw-r--r--src/bdd/cas/casCore.c5
-rw-r--r--src/bdd/cas/casDec.c5
-rw-r--r--src/bdd/cudd/cuddAndAbs.c2
-rw-r--r--src/bdd/cudd/cuddBddIte.c2
-rw-r--r--src/bdd/cudd/cuddBridge.c4
-rw-r--r--src/bdd/cudd/cuddCompose.c2
-rw-r--r--src/bdd/cudd/cuddInt.h2
-rw-r--r--src/bdd/cudd/cuddSymmetry.c2
-rw-r--r--src/bdd/dsd/dsdProc.c4
-rw-r--r--src/bdd/reo/reoShuffle.c3
-rw-r--r--src/bdd/reo/reoTest.c2
-rw-r--r--src/bool/bdc/bdcCore.c2
-rw-r--r--src/bool/bdc/bdcDec.c8
-rw-r--r--src/bool/bdc/bdcInt.h10
-rw-r--r--src/bool/bdc/bdcSpfd.c17
-rw-r--r--src/bool/kit/cloud.c2
-rw-r--r--src/bool/kit/cloud.h1
-rw-r--r--src/bool/kit/kit.h1
-rw-r--r--src/bool/kit/kitPerm.c8
-rw-r--r--src/map/amap/amapCore.c2
-rw-r--r--src/map/amap/amapLib.c2
-rw-r--r--src/map/amap/amapLiberty.c2
-rw-r--r--src/map/amap/amapMatch.c3
-rw-r--r--src/map/amap/amapMerge.c3
-rw-r--r--src/map/amap/amapParse.c2
-rw-r--r--src/map/cov/covCore.c6
-rw-r--r--src/map/fpga/fpga.h4
-rw-r--r--src/map/fpga/fpgaCore.c9
-rw-r--r--src/map/fpga/fpgaCreate.c7
-rw-r--r--src/map/fpga/fpgaCut.c2
-rw-r--r--src/map/fpga/fpgaInt.h18
-rw-r--r--src/map/fpga/fpgaMatch.c6
-rw-r--r--src/map/if/if.h4
-rw-r--r--src/map/if/ifCore.c2
-rw-r--r--src/map/if/ifCut.c2
-rw-r--r--src/map/if/ifMap.c3
-rw-r--r--src/map/if/ifReduce.c2
-rw-r--r--src/map/if/ifSeq.c5
-rw-r--r--src/map/if/ifTime.c4
-rw-r--r--src/map/mapper/mapper.h6
-rw-r--r--src/map/mapper/mapperCore.c2
-rw-r--r--src/map/mapper/mapperCreate.c9
-rw-r--r--src/map/mapper/mapperCut.c2
-rw-r--r--src/map/mapper/mapperInt.h22
-rw-r--r--src/map/mapper/mapperLib.c2
-rw-r--r--src/map/super/superAnd.c4
-rw-r--r--src/map/super/superGate.c10
-rw-r--r--src/misc/bbl/bblif.c1
-rw-r--r--src/misc/extra/extra.h1
-rw-r--r--src/misc/extra/extraBdd.h1
-rw-r--r--src/misc/extra/extraBddCas.c2
-rw-r--r--src/misc/extra/extraBddMisc.c10
-rw-r--r--src/misc/extra/extraBddTime.c6
-rw-r--r--src/misc/extra/extraUtilUtil.c4
-rw-r--r--src/misc/nm/nmTable.c3
-rw-r--r--src/misc/tim/tim.c1
-rw-r--r--src/misc/util/utilSort.c6
-rw-r--r--src/misc/util/util_hack.h1
-rw-r--r--src/opt/cgt/cgtCore.c6
-rw-r--r--src/opt/cgt/cgtDecide.c6
-rw-r--r--src/opt/cgt/cgtInt.h18
-rw-r--r--src/opt/cgt/cgtSat.c3
-rw-r--r--src/opt/csw/cswCore.c3
-rw-r--r--src/opt/csw/cswCut.c3
-rw-r--r--src/opt/csw/cswInt.h9
-rw-r--r--src/opt/cut/cut.h2
-rw-r--r--src/opt/cut/cutInt.h12
-rw-r--r--src/opt/cut/cutMan.c2
-rw-r--r--src/opt/cut/cutNode.c6
-rw-r--r--src/opt/cut/cutOracle.c4
-rw-r--r--src/opt/cut/cutPre22.c11
-rw-r--r--src/opt/cut/cutSeq.c2
-rw-r--r--src/opt/dar/darCore.c6
-rw-r--r--src/opt/dar/darInt.h14
-rw-r--r--src/opt/dar/darLib.c8
-rw-r--r--src/opt/dar/darRefact.c11
-rw-r--r--src/opt/dar/darScript.c8
-rw-r--r--src/opt/lpk/lpkAbcDec.c2
-rw-r--r--src/opt/lpk/lpkCore.c12
-rw-r--r--src/opt/lpk/lpkInt.h26
-rw-r--r--src/opt/mfs/mfsCore.c8
-rw-r--r--src/opt/mfs/mfsInt.h16
-rw-r--r--src/opt/mfs/mfsResub.c6
-rw-r--r--src/opt/nwk/nwkBidec.c2
-rw-r--r--src/opt/nwk/nwkFlow.c4
-rw-r--r--src/opt/nwk/nwkMap.c3
-rw-r--r--src/opt/nwk/nwkMerge.c5
-rw-r--r--src/opt/nwk/nwkUtil.c3
-rw-r--r--src/opt/res/resCore.c26
-rw-r--r--src/opt/res/resInt.h2
-rw-r--r--src/opt/res/resSat.c2
-rw-r--r--src/opt/ret/retCore.c5
-rw-r--r--src/opt/ret/retFlow.c2
-rw-r--r--src/opt/ret/retInit.c3
-rw-r--r--src/opt/ret/retLvalue.c3
-rw-r--r--src/opt/rwr/rwr.h20
-rw-r--r--src/opt/rwr/rwrEva.c2
-rw-r--r--src/opt/rwr/rwrExp.c2
-rw-r--r--src/opt/rwr/rwrMan.c8
-rw-r--r--src/opt/rwr/rwrUtil.c12
-rw-r--r--src/opt/rwt/rwt.h22
-rw-r--r--src/opt/rwt/rwtMan.c8
-rw-r--r--src/opt/rwt/rwtUtil.c3
-rw-r--r--src/opt/sim/sim.h24
-rw-r--r--src/opt/sim/simSupp.c9
-rw-r--r--src/opt/sim/simSym.c3
-rw-r--r--src/opt/sim/simSymSat.c3
-rw-r--r--src/opt/sim/simSymSim.c2
-rw-r--r--src/opt/sim/simUtils.c6
-rw-r--r--src/proof/bbr/bbrCex.c2
-rw-r--r--src/proof/bbr/bbrReach.c10
-rw-r--r--src/proof/cec/cecCec.c13
-rw-r--r--src/proof/cec/cecChoice.c4
-rw-r--r--src/proof/cec/cecCore.c9
-rw-r--r--src/proof/cec/cecCorr.c11
-rw-r--r--src/proof/cec/cecCorr_updated.c2
-rw-r--r--src/proof/cec/cecInt.h24
-rw-r--r--src/proof/cec/cecPat.c5
-rw-r--r--src/proof/cec/cecSeq.c3
-rw-r--r--src/proof/cec/cecSolve.c17
-rw-r--r--src/proof/cec/cecSweep.c3
-rw-r--r--src/proof/cec/cecSynth.c3
-rw-r--r--src/proof/dch/dch.h2
-rw-r--r--src/proof/dch/dchCore.c4
-rw-r--r--src/proof/dch/dchInt.h18
-rw-r--r--src/proof/dch/dchSat.c3
-rw-r--r--src/proof/dch/dchSimSat.c6
-rw-r--r--src/proof/fra/fra.h23
-rw-r--r--src/proof/fra/fraBmc.c6
-rw-r--r--src/proof/fra/fraCec.c12
-rw-r--r--src/proof/fra/fraClaus.c10
-rw-r--r--src/proof/fra/fraCore.c4
-rw-r--r--src/proof/fra/fraHot.c2
-rw-r--r--src/proof/fra/fraImp.c3
-rw-r--r--src/proof/fra/fraInd.c12
-rw-r--r--src/proof/fra/fraIndVer.c2
-rw-r--r--src/proof/fra/fraLcr.c17
-rw-r--r--src/proof/fra/fraPart.c5
-rw-r--r--src/proof/fra/fraSat.c15
-rw-r--r--src/proof/fra/fraSec.c3
-rw-r--r--src/proof/fra/fraSim.c9
-rw-r--r--src/proof/fraig/fraig.h3
-rw-r--r--src/proof/fraig/fraigApi.c3
-rw-r--r--src/proof/fraig/fraigChoice.c2
-rw-r--r--src/proof/fraig/fraigFeed.c3
-rw-r--r--src/proof/fraig/fraigInt.h25
-rw-r--r--src/proof/fraig/fraigMan.c8
-rw-r--r--src/proof/fraig/fraigNode.c5
-rw-r--r--src/proof/fraig/fraigSat.c12
-rw-r--r--src/proof/fraig/fraigTable.c6
-rw-r--r--src/proof/fraig/fraigUtil.c2
-rw-r--r--src/proof/int/intCheck.c2
-rw-r--r--src/proof/int/intCore.c9
-rw-r--r--src/proof/int/intCtrex.c3
-rw-r--r--src/proof/int/intInt.h18
-rw-r--r--src/proof/int/intM114.c5
-rw-r--r--src/proof/int/intUtil.c4
-rw-r--r--src/proof/llb/llb.h2
-rw-r--r--src/proof/llb/llb1Core.c2
-rw-r--r--src/proof/llb/llb1Hint.c2
-rw-r--r--src/proof/llb/llb1Reach.c24
-rw-r--r--src/proof/llb/llb2Bad.c5
-rw-r--r--src/proof/llb/llb2Core.c20
-rw-r--r--src/proof/llb/llb2Driver.c5
-rw-r--r--src/proof/llb/llb2Flow.c3
-rw-r--r--src/proof/llb/llb2Image.c13
-rw-r--r--src/proof/llb/llb3Image.c38
-rw-r--r--src/proof/llb/llb3Nonlin.c33
-rw-r--r--src/proof/llb/llb4Image.c8
-rw-r--r--src/proof/llb/llb4Nonlin.c26
-rw-r--r--src/proof/llb/llb4Sweep.c3
-rw-r--r--src/proof/llb/llbInt.h14
-rw-r--r--src/proof/pdr/pdrCore.c9
-rw-r--r--src/proof/ssw/sswBmc.c3
-rw-r--r--src/proof/ssw/sswClass.c3
-rw-r--r--src/proof/ssw/sswConstr.c9
-rw-r--r--src/proof/ssw/sswCore.c2
-rw-r--r--src/proof/ssw/sswDyn.c9
-rw-r--r--src/proof/ssw/sswFilter.c9
-rw-r--r--src/proof/ssw/sswInt.h20
-rw-r--r--src/proof/ssw/sswIslands.c3
-rw-r--r--src/proof/ssw/sswLcorr.c6
-rw-r--r--src/proof/ssw/sswPairs.c12
-rw-r--r--src/proof/ssw/sswPart.c2
-rw-r--r--src/proof/ssw/sswRarity.c17
-rw-r--r--src/proof/ssw/sswRarity2.c14
-rw-r--r--src/proof/ssw/sswSat.c3
-rw-r--r--src/proof/ssw/sswSemi.c6
-rw-r--r--src/proof/ssw/sswSim.c8
-rw-r--r--src/proof/ssw/sswSimSat.c6
-rw-r--r--src/proof/ssw/sswSweep.c9
-rw-r--r--src/sat/bsat/satChecker.c2
-rw-r--r--src/sat/bsat/satInter.c14
-rw-r--r--src/sat/bsat/satInterA.c14
-rw-r--r--src/sat/bsat/satInterB.c14
-rw-r--r--src/sat/bsat/satInterP.c16
-rw-r--r--src/sat/bsat/satProof.c15
-rw-r--r--src/sat/bsat/satSolver.c4
-rw-r--r--src/sat/bsat/satSolver.h6
-rw-r--r--src/sat/bsat/satSolver2.c7
-rw-r--r--src/sat/bsat/satSolver2.h6
-rw-r--r--src/sat/bsat/satStore.c1
-rw-r--r--src/sat/cnf/cnf.h7
-rw-r--r--src/sat/cnf/cnfCore.c6
-rw-r--r--src/sat/cnf/cnfFast.c2
-rw-r--r--src/sat/msat/msatInt.h1
-rw-r--r--src/sat/msat/msatOrderH.c8
-rw-r--r--src/sat/msat/msatOrderJ.c4
-rw-r--r--src/sat/msat/msatSolverCore.c2
-rw-r--r--src/sat/proof/pr.c16
331 files changed, 1277 insertions, 1091 deletions
diff --git a/src/aig/aig/aig.h b/src/aig/aig/aig.h
index 3c390a37..adad1837 100644
--- a/src/aig/aig/aig.h
+++ b/src/aig/aig/aig.h
@@ -30,7 +30,6 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
#include "src/misc/vec/vec.h"
#include "src/misc/util/utilCex.h"
@@ -165,8 +164,8 @@ struct Aig_Man_t_
Vec_Int_t * vCiNumsOrig; // original CI names
int nComplEdges; // complemented edges
// timing statistics
- int time1;
- int time2;
+ clock_t time1;
+ clock_t time2;
};
// cut computation
diff --git a/src/aig/aig/aigCuts.c b/src/aig/aig/aigCuts.c
index ed824fac..5e3bb93a 100644
--- a/src/aig/aig/aigCuts.c
+++ b/src/aig/aig/aigCuts.c
@@ -632,7 +632,8 @@ Aig_ManCut_t * Aig_ComputeCuts( Aig_Man_t * pAig, int nCutsMax, int nLeafMax, in
{
Aig_ManCut_t * p;
Aig_Obj_t * pObj;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
assert( pAig->pManCuts == NULL );
// start the manager
p = Aig_ManCutStart( pAig, nCutsMax, nLeafMax, fTruth, fVerbose );
diff --git a/src/aig/aig/aigDfs.c b/src/aig/aig/aigDfs.c
index ace723a2..b4b7862e 100644
--- a/src/aig/aig/aigDfs.c
+++ b/src/aig/aig/aigDfs.c
@@ -767,7 +767,8 @@ int Aig_SupportSize( Aig_Man_t * p, Aig_Obj_t * pObj )
int Aig_SupportSizeTest( Aig_Man_t * p )
{
Aig_Obj_t * pObj;
- int i, Counter = 0, clk = clock();
+ int i, Counter = 0;
+ clock_t clk = clock();
Aig_ManForEachObj( p, pObj, i )
if ( Aig_ObjIsNode(pObj) )
Counter += (Aig_SupportSize(p, pObj) <= 16);
diff --git a/src/aig/aig/aigDoms.c b/src/aig/aig/aigDoms.c
index 00350304..fe9403b5 100644
--- a/src/aig/aig/aigDoms.c
+++ b/src/aig/aig/aigDoms.c
@@ -623,7 +623,8 @@ Aig_Sto_t * Aig_ManComputeDomsFlops( Aig_Man_t * pAig, int Limit )
Aig_Sto_t * pSto;
Vec_Ptr_t * vNodes;
Aig_Obj_t * pObj;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
pSto = Aig_ManDomStart( pAig, Limit );
// initialize flop inputs
Saig_ManForEachLi( pAig, pObj, i )
@@ -663,7 +664,8 @@ Aig_Sto_t * Aig_ManComputeDomsPis( Aig_Man_t * pAig, int Limit )
Aig_Sto_t * pSto;
Vec_Ptr_t * vNodes;
Aig_Obj_t * pObj;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
pSto = Aig_ManDomStart( pAig, Limit );
// initialize flop inputs
Aig_ManForEachCo( pAig, pObj, i )
@@ -703,7 +705,8 @@ Aig_Sto_t * Aig_ManComputeDomsNodes( Aig_Man_t * pAig, int Limit )
Aig_Sto_t * pSto;
Vec_Ptr_t * vNodes;
Aig_Obj_t * pObj;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
pSto = Aig_ManDomStart( pAig, Limit );
// initialize flop inputs
Aig_ManForEachCo( pAig, pObj, i )
diff --git a/src/aig/aig/aigInter.c b/src/aig/aig/aigInter.c
index fcf32236..6f183925 100644
--- a/src/aig/aig/aigInter.c
+++ b/src/aig/aig/aigInter.c
@@ -29,9 +29,9 @@ ABC_NAMESPACE_IMPL_START
/// DECLARATIONS ///
////////////////////////////////////////////////////////////////////////
-extern int timeCnf;
-extern int timeSat;
-extern int timeInt;
+extern clock_t timeCnf;
+extern clock_t timeSat;
+extern clock_t timeInt;
////////////////////////////////////////////////////////////////////////
/// FUNCTION DEFINITIONS ///
@@ -156,7 +156,7 @@ Aig_Man_t * Aig_ManInter( Aig_Man_t * pManOn, Aig_Man_t * pManOff, int fRelation
Vec_Int_t * vVarsAB;
Aig_Obj_t * pObj, * pObj2;
int Lits[3], status, i;
- int clk;
+ clock_t clk;
int iLast = -1; // Suppress "might be used uninitialized"
assert( Aig_ManCiNum(pManOn) == Aig_ManCiNum(pManOff) );
diff --git a/src/aig/aig/aigJust.c b/src/aig/aig/aigJust.c
index 2c524c85..2ee60748 100644
--- a/src/aig/aig/aigJust.c
+++ b/src/aig/aig/aigJust.c
@@ -253,7 +253,9 @@ void Aig_ManJustExperiment( Aig_Man_t * pAig )
Aig_ManPack_t * pPack;
Vec_Int_t * vSuppLits, * vNodes;
Aig_Obj_t * pObj;
- int i, clk = clock(), Count0 = 0, Count0f = 0, Count1 = 0, Count1f = 0;
+ int i;
+ clock_t clk = clock();
+ int Count0 = 0, Count0f = 0, Count1 = 0, Count1f = 0;
int nTotalLits = 0;
vSuppLits = Vec_IntAlloc( 100 );
pPack = Aig_ManPackStart( pAig );
diff --git a/src/aig/aig/aigPart.c b/src/aig/aig/aigPart.c
index 56d2fd3f..fdbba36a 100644
--- a/src/aig/aig/aigPart.c
+++ b/src/aig/aig/aigPart.c
@@ -688,7 +688,8 @@ Vec_Ptr_t * Aig_ManPartitionSmart( Aig_Man_t * p, int nSuppSizeLimit, int fVerbo
Vec_Ptr_t * vPartSuppsBit;
Vec_Ptr_t * vSupports, * vPartsAll, * vPartsAll2, * vPartSuppsAll;//, * vPartPtr;
Vec_Int_t * vOne, * vPart, * vPartSupp, * vTemp;
- int i, iPart, iOut, clk;
+ int i, iPart, iOut;
+ clock_t clk;
// compute the supports for all outputs
clk = clock();
@@ -812,7 +813,8 @@ Vec_Ptr_t * Aig_ManPartitionSmartRegisters( Aig_Man_t * pAig, int nSuppSizeLimit
Vec_Ptr_t * vPartSuppsBit;
Vec_Ptr_t * vSupports, * vPartsAll, * vPartsAll2, * vPartSuppsAll;
Vec_Int_t * vOne, * vPart, * vPartSupp, * vTemp;
- int i, iPart, iOut, clk;
+ int i, iPart, iOut;
+ clock_t clk;
// add output number to each
clk = clock();
diff --git a/src/aig/aig/aigPartSat.c b/src/aig/aig/aigPartSat.c
index 839a17ee..d187a19b 100644
--- a/src/aig/aig/aigPartSat.c
+++ b/src/aig/aig/aigPartSat.c
@@ -497,7 +497,8 @@ int Aig_ManPartitionedSat( Aig_Man_t * p, int nAlgo, int nPartSize,
Aig_Man_t * pAig, * pTemp;
Vec_Int_t * vNode2Part, * vNode2Var;
int nConfRemaining = nConfTotal, nNodes = 0;
- int i, clk, status, RetValue = -1;
+ int i, status, RetValue = -1;
+ clock_t clk;
// perform partitioning according to the selected algorithm
clk = clock();
diff --git a/src/aig/aig/aigRepar.c b/src/aig/aig/aigRepar.c
index 1b017346..7f9699fd 100644
--- a/src/aig/aig/aigRepar.c
+++ b/src/aig/aig/aigRepar.c
@@ -129,7 +129,7 @@ void Aig_ManInterTest( Aig_Man_t * pMan, int fVerbose )
Cnf_Dat_t * pCnf;
Aig_Obj_t * pObj;
int Lit, Cid, Var, status, i;
- int clk = clock();
+ clock_t clk = clock();
assert( Aig_ManRegNum(pMan) == 0 );
assert( Aig_ManCoNum(pMan) == 1 );
@@ -251,7 +251,7 @@ Aig_Man_t * Aig_ManInterRepar( Aig_Man_t * pMan, int fVerbose )
int nOuts = Aig_ManCoNum(pMan);
int ShiftP[2], ShiftCnf[2], ShiftOr[2], ShiftAssume;
int Cid, Lit, status, i, k, c;
- int clk = clock();
+ clock_t clk = clock();
assert( Aig_ManRegNum(pMan) == 0 );
// derive CNFs
diff --git a/src/aig/aig/aigRet.c b/src/aig/aig/aigRet.c
index 58a04fb0..1cf45ebe 100644
--- a/src/aig/aig/aigRet.c
+++ b/src/aig/aig/aigRet.c
@@ -839,7 +839,7 @@ Aig_Man_t * Rtm_ManRetime( Aig_Man_t * p, int fForward, int nStepsMax, int fVerb
Rtm_Obj_t * pObj, * pNext;
Aig_Obj_t * pObjAig;
int i, k, nAutos, Degree, DegreeMax = 0;
- int clk;
+ clock_t clk;
// create the retiming manager
clk = clock();
diff --git a/src/aig/aig/aigSplit.c b/src/aig/aig/aigSplit.c
index f187860f..50f96a81 100644
--- a/src/aig/aig/aigSplit.c
+++ b/src/aig/aig/aigSplit.c
@@ -258,7 +258,8 @@ Aig_Man_t * Aig_ManSplit( Aig_Man_t * p, int nVars, int fVerbose )
DdNode * bFunc;
DdManager * dd;
Vec_Ptr_t * vSupp, * vSubs, * vCofs;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
if ( Saig_ManPoNum(p) != 1 )
{
printf( "Currently works only for one primary output.\n" );
diff --git a/src/aig/aig/aigTable.c b/src/aig/aig/aigTable.c
index ec2531c7..abd9960a 100644
--- a/src/aig/aig/aigTable.c
+++ b/src/aig/aig/aigTable.c
@@ -70,7 +70,8 @@ void Aig_TableResize( Aig_Man_t * p )
{
Aig_Obj_t * pEntry, * pNext;
Aig_Obj_t ** pTableOld, ** ppPlace;
- int nTableSizeOld, Counter, i, clk;
+ int nTableSizeOld, Counter, i;
+ clock_t clk;
assert( p->pTable != NULL );
clk = clock();
// save the old table
diff --git a/src/aig/gia/gia.h b/src/aig/gia/gia.h
index a5c075c3..0d97dd61 100644
--- a/src/aig/gia/gia.h
+++ b/src/aig/gia/gia.h
@@ -30,7 +30,6 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
#include "src/misc/vec/vec.h"
#include "src/misc/util/utilCex.h"
diff --git a/src/aig/gia/giaAbsGla.c b/src/aig/gia/giaAbsGla.c
index 1a4e9cd2..c25c6e48 100644
--- a/src/aig/gia/giaAbsGla.c
+++ b/src/aig/gia/giaAbsGla.c
@@ -800,13 +800,10 @@ Vec_Int_t * Gla_ManRefinement( Gla_Man_t * p )
// select objects
vSelect = Vec_IntAlloc( 100 );
-// Vec_IntFill( p->vPrioSels, Vec_IntSize(vPPis)+1, 0 );
Vec_IntFill( p->vObjCounts, p->pPars->iFrame+1, 0 );
Gla_ManRefSelect_rec( p, Gia_ObjFanin0(Gia_ManPo(p->pGia, 0)), p->pPars->iFrame, vSelect, Sign );
Vec_IntUniqify( vSelect );
-// printf( "\nSelected %d.\n", Vec_IntSize(vSelect) );
-
/*
for ( f = 0; f < p->pPars->iFrame; f++ )
printf( "%2d", Vec_IntEntry(p->vObjCounts, f) );
@@ -976,7 +973,6 @@ Gla_Man_t * Gla_ManStart( Gia_Man_t * pGia0, Gia_ParVta_t * pPars )
p->pGia = Gia_ManDupMapped( pGia0, p->pCnf->vMapping );
if ( pPars->fPropFanout )
Gia_ManStaticFanoutStart( p->pGia );
-//printf( "Old GIA = %d. New GIA = %d.\n", Gia_ManObjNum(pGia0), Gia_ManObjNum(p->pGia) );
// derive new gate map
assert( pGia0->vGateClasses != 0 );
@@ -1797,7 +1793,7 @@ int Gia_GlaPerform( Gia_Man_t * pAig, Gia_ParVta_t * pPars, int fStartVta )
p->timeInit = clock() - clk;
// set runtime limit
if ( p->pPars->nTimeOut )
- sat_solver2_set_runtime_limit( p->pSat, time(NULL) + p->pPars->nTimeOut - 1 );
+ sat_solver2_set_runtime_limit( p->pSat, p->pPars->nTimeOut * CLOCKS_PER_SEC + clock() );
// perform initial abstraction
if ( p->pPars->fVerbose )
{
@@ -1831,9 +1827,9 @@ int Gia_GlaPerform( Gia_Man_t * pAig, Gia_ParVta_t * pPars, int fStartVta )
goto finish;
}
// check timeout
- if ( p->pSat->nRuntimeLimit && time(NULL) > p->pSat->nRuntimeLimit )
+ if ( p->pSat->nRuntimeLimit && clock() > p->pSat->nRuntimeLimit )
{
- Gla_ManRollBack( p ); // 1155046
+ Gla_ManRollBack( p );
goto finish;
}
if ( vCore != NULL )
@@ -1960,7 +1956,7 @@ finish:
pAig->vGateClasses = Gla_ManTranslate( p );
if ( Status == -1 )
{
- if ( p->pPars->nTimeOut && time(NULL) >= p->pSat->nRuntimeLimit )
+ if ( p->pPars->nTimeOut && clock() >= p->pSat->nRuntimeLimit )
Abc_Print( 1, "SAT solver ran out of time at %d sec in frame %d. ", p->pPars->nTimeOut, f );
else if ( pPars->nConfLimit && sat_solver2_nconflicts(p->pSat) >= pPars->nConfLimit )
Abc_Print( 1, "SAT solver ran out of resources at %d conflicts in frame %d. ", pPars->nConfLimit, f );
diff --git a/src/aig/gia/giaAbsVta.c b/src/aig/gia/giaAbsVta.c
index 7b66b7dd..11c84853 100644
--- a/src/aig/gia/giaAbsVta.c
+++ b/src/aig/gia/giaAbsVta.c
@@ -1564,7 +1564,7 @@ int Gia_VtaPerformInt( Gia_Man_t * pAig, Gia_ParVta_t * pPars )
p = Vga_ManStart( pAig, pPars );
// set runtime limit
if ( p->pPars->nTimeOut )
- sat_solver2_set_runtime_limit( p->pSat, time(NULL) + p->pPars->nTimeOut - 1 );
+ sat_solver2_set_runtime_limit( p->pSat, p->pPars->nTimeOut * CLOCKS_PER_SEC + clock() );
// perform initial abstraction
if ( p->pPars->fVerbose )
{
@@ -1609,7 +1609,7 @@ int Gia_VtaPerformInt( Gia_Man_t * pAig, Gia_ParVta_t * pPars )
goto finish;
}
// check timeout
- if ( p->pSat->nRuntimeLimit && time(NULL) > p->pSat->nRuntimeLimit )
+ if ( p->pSat->nRuntimeLimit && clock() > p->pSat->nRuntimeLimit )
{
Vga_ManRollBack( p, nObjOld );
goto finish;
@@ -1716,7 +1716,7 @@ finish:
pAig->vObjClasses = Gia_VtaFramesToAbs( (Vec_Vec_t *)p->vCores );
if ( Status == -1 )
{
- if ( p->pPars->nTimeOut && time(NULL) >= p->pSat->nRuntimeLimit )
+ if ( p->pPars->nTimeOut && clock() >= p->pSat->nRuntimeLimit )
Abc_Print( 1, "SAT solver ran out of time at %d sec in frame %d. ", p->pPars->nTimeOut, f );
else if ( pPars->nConfLimit && sat_solver2_nconflicts(p->pSat) >= pPars->nConfLimit )
Abc_Print( 1, "SAT solver ran out of resources at %d conflicts in frame %d. ", pPars->nConfLimit, f );
diff --git a/src/aig/gia/giaCCof.c b/src/aig/gia/giaCCof.c
index 6fbd1095..ce863051 100644
--- a/src/aig/gia/giaCCof.c
+++ b/src/aig/gia/giaCCof.c
@@ -219,8 +219,9 @@ int Gia_ManCofOneDerive( Ccf_Man_t * p, int LitProp )
***********************************************************************/
int Gia_ManCofGetReachable( Ccf_Man_t * p, int Lit )
{
- int ObjPrev = 0, ConfPrev = 0, clk;
+ int ObjPrev = 0, ConfPrev = 0;
int Count = 0, LitOut, RetValue;
+ clock_t clk;
// try solving for the first time and quit if converged
RetValue = sat_solver_solve( p->pSat, &Lit, &Lit + 1, p->nConfMax, 0, 0, 0 );
if ( RetValue == l_False )
@@ -268,8 +269,8 @@ Gia_Man_t * Gia_ManCofTest( Gia_Man_t * pGia, int nFrameMax, int nConfMax, int n
Ccf_Man_t * p;
Gia_Obj_t * pObj;
int f, i, Lit, RetValue = -1, fFailed = 0;
- int nTimeToStop = time(NULL) + nTimeMax;
- int clk = clock();
+ clock_t nTimeToStop = clock() + nTimeMax * CLOCKS_PER_SEC;
+ clock_t clk = clock();
assert( Gia_ManPoNum(pGia) == 1 );
// create reachability manager
@@ -309,7 +310,7 @@ Gia_Man_t * Gia_ManCofTest( Gia_Man_t * pGia, int nFrameMax, int nConfMax, int n
}
// report the result
- if ( nTimeToStop && time(NULL) > nTimeToStop )
+ if ( nTimeToStop && clock() > nTimeToStop )
printf( "Runtime limit (%d sec) is reached after %d frames. ", nTimeMax, f );
else if ( f == nFrameMax )
printf( "Completed %d frames without converging. ", f );
diff --git a/src/aig/gia/giaCSat.c b/src/aig/gia/giaCSat.c
index d83f79e9..b4bc5b3e 100644
--- a/src/aig/gia/giaCSat.c
+++ b/src/aig/gia/giaCSat.c
@@ -81,10 +81,10 @@ struct Cbs_Man_t_
int nConfSat; // conflicts in sat problems
int nConfUndec; // conflicts in undec problems
// runtime stats
- int timeSatUnsat; // unsat
- int timeSatSat; // sat
- int timeSatUndec; // undecided
- int timeTotal; // total runtime
+ clock_t timeSatUnsat; // unsat
+ clock_t timeSatSat; // sat
+ clock_t timeSatUndec; // undecided
+ clock_t timeTotal; // total runtime
};
static inline int Cbs_VarIsAssigned( Gia_Obj_t * pVar ) { return pVar->fMark0; }
@@ -1003,7 +1003,8 @@ Vec_Int_t * Cbs_ManSolveMiterNc( Gia_Man_t * pAig, int nConfs, Vec_Str_t ** pvSt
Vec_Int_t * vCex, * vVisit, * vCexStore;
Vec_Str_t * vStatus;
Gia_Obj_t * pRoot;
- int i, status, clk, clkTotal = clock();
+ int i, status;
+ clock_t clk, clkTotal = clock();
assert( Gia_ManRegNum(pAig) == 0 );
// Gia_ManCollectTest( pAig );
// prepare AIG
diff --git a/src/aig/gia/giaCSatOld.c b/src/aig/gia/giaCSatOld.c
index 8198c17f..1dd4a425 100644
--- a/src/aig/gia/giaCSatOld.c
+++ b/src/aig/gia/giaCSatOld.c
@@ -73,10 +73,10 @@ struct Cbs0_Man_t_
int nConfSat; // conflicts in sat problems
int nConfUndec; // conflicts in undec problems
// runtime stats
- int timeSatUnsat; // unsat
- int timeSatSat; // sat
- int timeSatUndec; // undecided
- int timeTotal; // total runtime
+ clock_t timeSatUnsat; // unsat
+ clock_t timeSatSat; // sat
+ clock_t timeSatUndec; // undecided
+ clock_t timeTotal; // total runtime
};
static inline int Cbs0_VarIsAssigned( Gia_Obj_t * pVar ) { return pVar->fMark0; }
@@ -712,7 +712,8 @@ Vec_Int_t * Cbs_ManSolveMiter( Gia_Man_t * pAig, int nConfs, Vec_Str_t ** pvStat
Vec_Int_t * vCex, * vVisit, * vCexStore;
Vec_Str_t * vStatus;
Gia_Obj_t * pRoot;
- int i, status, clk, clkTotal = clock();
+ int i, status;
+ clock_t clk, clkTotal = clock();
assert( Gia_ManRegNum(pAig) == 0 );
// prepare AIG
Gia_ManCreateRefs( pAig );
diff --git a/src/aig/gia/giaCTas.c b/src/aig/gia/giaCTas.c
index 8cfa9efc..6dd0e0fa 100644
--- a/src/aig/gia/giaCTas.c
+++ b/src/aig/gia/giaCTas.c
@@ -108,10 +108,10 @@ struct Tas_Man_t_
int nConfSat; // conflicts in sat problems
int nConfUndec; // conflicts in undec problems
// runtime stats
- int timeSatUnsat; // unsat
- int timeSatSat; // sat
- int timeSatUndec; // undecided
- int timeTotal; // total runtime
+ clock_t timeSatUnsat; // unsat
+ clock_t timeSatSat; // sat
+ clock_t timeSatUndec; // undecided
+ clock_t timeTotal; // total runtime
};
static inline int Tas_VarIsAssigned( Gia_Obj_t * pVar ) { return pVar->fMark0; }
@@ -1524,7 +1524,8 @@ Vec_Int_t * Tas_ManSolveMiterNc( Gia_Man_t * pAig, int nConfs, Vec_Str_t ** pvSt
Gia_Obj_t * pRoot;//, * pRootCopy;
// Gia_Man_t * pAigCopy = Gia_ManDup( pAig ), * pAigTemp;
- int i, status, clk, clkTotal = clock();
+ int i, status;
+ clock_t clk, clkTotal = clock();
assert( Gia_ManRegNum(pAig) == 0 );
// Gia_ManCollectTest( pAig );
// prepare AIG
@@ -1703,7 +1704,8 @@ void Tas_ManSolveMiterNc2( Gia_Man_t * pAig, int nConfs, Gia_Man_t * pAigOld, Ve
Vec_Int_t * vCex, * vVisit, * vCexStore;
Vec_Str_t * vStatus;
Gia_Obj_t * pRoot, * pOldRoot;
- int i, status, clk, clkTotal = clock();
+ int i, status;
+ clock_t clk, clkTotal = clock();
int Tried = 0, Stored = 0, Step = Gia_ManCoNum(pAig) / nPatMax;
assert( Gia_ManRegNum(pAig) == 0 );
// Gia_ManCollectTest( pAig );
diff --git a/src/aig/gia/giaCTas2.c b/src/aig/gia/giaCTas2.c
index 855dcdd3..2b1d7169 100644
--- a/src/aig/gia/giaCTas2.c
+++ b/src/aig/gia/giaCTas2.c
@@ -115,10 +115,10 @@ struct Tas_Man_t_
int nConfUndec; // conflicts in undec problems
int nConfTotal; // total conflicts
// runtime stats
- int timeSatUnsat; // unsat
- int timeSatSat; // sat
- int timeSatUndec; // undecided
- int timeTotal; // total runtime
+ clock_t timeSatUnsat; // unsat
+ clock_t timeSatSat; // sat
+ clock_t timeSatUndec; // undecided
+ clock_t timeTotal; // total runtime
};
static inline int Tas_VarIsAssigned( Tas_Var_t * pVar ) { return pVar->fAssign; }
diff --git a/src/aig/gia/giaCof.c b/src/aig/gia/giaCof.c
index cf8ecf00..68d269cd 100644
--- a/src/aig/gia/giaCof.c
+++ b/src/aig/gia/giaCof.c
@@ -672,7 +672,7 @@ void Cof_ManPrintFanio( Cof_Man_t * p )
void Gia_ManPrintFanio( Gia_Man_t * pGia, int nNodes )
{
Cof_Man_t * p;
- int clk = clock();
+ clock_t clk = clock();
p = Cof_ManCreateLogicSimple( pGia );
p->nLevels = 1 + Gia_ManLevelNum( pGia );
p->pLevels = ABC_CALLOC( int, p->nLevels );
diff --git a/src/aig/gia/giaDfs.c b/src/aig/gia/giaDfs.c
index 1ec18767..1da2da1f 100644
--- a/src/aig/gia/giaDfs.c
+++ b/src/aig/gia/giaDfs.c
@@ -209,7 +209,8 @@ void Gia_ManCollectTest( Gia_Man_t * p )
{
Vec_Int_t * vNodes;
Gia_Obj_t * pObj;
- int i, iNode, clk = clock();
+ int i, iNode;
+ clock_t clk = clock();
vNodes = Vec_IntAlloc( 100 );
Gia_ManIncrementTravId( p );
Gia_ManForEachCo( p, pObj, i )
@@ -275,7 +276,8 @@ int Gia_ManSuppSizeOne( Gia_Man_t * p, Gia_Obj_t * pObj )
int Gia_ManSuppSizeTest( Gia_Man_t * p )
{
Gia_Obj_t * pObj;
- int i, Counter = 0, clk = clock();
+ int i, Counter = 0;
+ clock_t clk = clock();
Gia_ManForEachObj( p, pObj, i )
if ( Gia_ObjIsAnd(pObj) )
Counter += (Gia_ManSuppSizeOne(p, pObj) <= 16);
diff --git a/src/aig/gia/giaEmbed.c b/src/aig/gia/giaEmbed.c
index 1daf52a1..f71281cb 100644
--- a/src/aig/gia/giaEmbed.c
+++ b/src/aig/gia/giaEmbed.c
@@ -838,7 +838,8 @@ int Emb_ManComputeDistance_old( Emb_Man_t * p, Emb_Obj_t * pPivot )
void Gia_ManTestDistanceInternal( Emb_Man_t * p )
{
int nAttempts = 20;
- int i, iNode, Dist, clk;
+ int i, iNode, Dist;
+ clock_t clk;
Emb_Obj_t * pPivot, * pNext;
Gia_ManRandom( 1 );
Emb_ManResetTravId( p );
@@ -903,7 +904,7 @@ void Gia_ManTestDistanceInternal( Emb_Man_t * p )
void Gia_ManTestDistance( Gia_Man_t * pGia )
{
Emb_Man_t * p;
- int clk = clock();
+ clock_t clk = clock();
p = Emb_ManStart( pGia );
// Emb_ManPrintFanio( p );
Emb_ManPrintStats( p );
@@ -1529,7 +1530,7 @@ void Emb_ManPlacementRefine( Emb_Man_t * p, int nIters, int fVerbose )
float VertX, VertY;
int * pPermX, * pPermY;
int i, k, Iter, iMinX, iMaxX, iMinY, iMaxY;
- int clk = clock();
+ clock_t clk = clock();
if ( p->pPlacement == NULL )
return;
pEdgeX = ABC_ALLOC( float, p->nObjs );
@@ -1790,7 +1791,8 @@ void Emb_ManDumpGnuplot( Emb_Man_t * p, char * pName, int fDumpLarge, int fShowI
void Gia_ManSolveProblem( Gia_Man_t * pGia, Emb_Par_t * pPars )
{
Emb_Man_t * p;
- int i, clk, clkSetup;
+ int i, clkSetup;
+ clock_t clk;
// Gia_ManTestDistance( pGia );
// transform AIG into internal data-structure
diff --git a/src/aig/gia/giaEra.c b/src/aig/gia/giaEra.c
index 672149bc..03832e4a 100644
--- a/src/aig/gia/giaEra.c
+++ b/src/aig/gia/giaEra.c
@@ -501,7 +501,8 @@ int Gia_ManCollectReachable( Gia_Man_t * pAig, int nStatesMax, int fMiter, int f
{
Gia_ManEra_t * p;
Gia_ObjEra_t * pState;
- int Hash, clk = clock();
+ int Hash;
+ clock_t clk = clock();
int RetValue = 1;
assert( Gia_ManPiNum(pAig) <= 12 );
assert( Gia_ManRegNum(pAig) > 0 );
diff --git a/src/aig/gia/giaEra2.c b/src/aig/gia/giaEra2.c
index 265335e2..f5f9fdb3 100644
--- a/src/aig/gia/giaEra2.c
+++ b/src/aig/gia/giaEra2.c
@@ -1536,7 +1536,8 @@ int Gia_ManAreDeriveNexts_rec( Gia_ManAre_t * p, Gia_PtrAre_t Sta )
Gia_Obj_t * pPivot;
Vec_Int_t * vLits, * vTfos;
Gia_Obj_t * pObj;
- int i, clk;
+ int i;
+ clock_t clk;
if ( ++p->nRecCalls == MAX_CALL_NUM )
return 0;
if ( (pPivot = Gia_ManAreMostUsedPi(p)) == NULL )
@@ -1611,7 +1612,8 @@ int Gia_ManAreDeriveNexts( Gia_ManAre_t * p, Gia_PtrAre_t Sta )
{
Gia_StaAre_t * pSta;
Gia_Obj_t * pObj;
- int i, RetValue, clk = clock();
+ int i, RetValue;
+ clock_t clk = clock();
pSta = Gia_ManAreSta( p, Sta );
if ( Gia_StaIsUnused(pSta) )
return 0;
@@ -1671,7 +1673,7 @@ int Gia_ManAreDeriveNexts( Gia_ManAre_t * p, Gia_PtrAre_t Sta )
SeeAlso []
***********************************************************************/
-void Gia_ManArePrintReport( Gia_ManAre_t * p, int Time, int fFinal )
+void Gia_ManArePrintReport( Gia_ManAre_t * p, clock_t Time, int fFinal )
{
printf( "States =%10d. Reached =%10d. R = %5.3f. Depth =%6d. Mem =%9.2f Mb. ",
p->iStaCur, p->nStas, 1.0*p->iStaCur/p->nStas, Gia_ManAreDepth(p, p->iStaCur),
@@ -1703,7 +1705,7 @@ int Gia_ManArePerform( Gia_Man_t * pAig, int nStatesMax, int fMiter, int fVerbos
// extern Gia_Man_t * Gia_ManCompress2( Gia_Man_t * p, int fUpdateLevel, int fVerbose );
extern Abc_Cex_t * Gia_ManAreDeriveCex( Gia_ManAre_t * p, Gia_StaAre_t * pLast );
Gia_ManAre_t * p;
- int clk = clock();
+ clock_t clk = clock();
int RetValue = 1;
if ( Gia_ManRegNum(pAig) > MAX_VARS_NUM )
{
diff --git a/src/aig/gia/giaForce.c b/src/aig/gia/giaForce.c
index 94ad069b..a905b220 100644
--- a/src/aig/gia/giaForce.c
+++ b/src/aig/gia/giaForce.c
@@ -892,7 +892,7 @@ void Frc_ManPlacementRefine( Frc_Man_t * p, int nIters, int fVerbose )
float * pVertX, VertX;
int * pPermX, * pHandles;
int k, h, Iter, iMinX, iMaxX, Counter, nCutStart, nCutCur, nCutCur2, nCutPrev;
- int clk = clock(), clk2, clk2Total = 0;
+ clock_t clk = clock(), clk2, clk2Total = 0;
// create starting one-dimensional placement
vCoOrder = Frc_ManCollectCos( p );
if ( fRandomize )
@@ -1068,7 +1068,7 @@ void For_ManFileExperiment()
FILE * pFile;
int * pBuffer;
int i, Size, Exp = 25;
- int clk = clock();
+ clock_t clk = clock();
int RetValue;
Size = (1 << Exp);
diff --git a/src/aig/gia/giaFrames.c b/src/aig/gia/giaFrames.c
index 48a0568e..f3dbd95c 100644
--- a/src/aig/gia/giaFrames.c
+++ b/src/aig/gia/giaFrames.c
@@ -226,7 +226,7 @@ Gia_ManUnr_t * Gia_ManUnrStart( Gia_Man_t * pAig, Gia_ParFra_t * pPars )
Gia_ManUnr_t * p;
Gia_Obj_t * pObj;
int i, k, iRank, iFanin, Degree, Shift;
- int clk = clock();
+ clock_t clk = clock();
p = ABC_CALLOC( Gia_ManUnr_t, 1 );
p->pAig = pAig;
@@ -605,7 +605,7 @@ Gia_Man_t * Gia_ManUnroll( Gia_ManUnr_t * p )
Gia_Man_t * Gia_ManFrames2( Gia_Man_t * pAig, Gia_ParFra_t * pPars )
{
Gia_Man_t * pNew;
- int clk = clock();
+ clock_t clk = clock();
pNew = Gia_ManUnroll( pAig, pPars );
if ( pPars->fVerbose )
Abc_PrintTime( 1, "Time", clock() - clk );
diff --git a/src/aig/gia/giaGiarf.c b/src/aig/gia/giaGiarf.c
index 2f18c16d..1e2d1d18 100644
--- a/src/aig/gia/giaGiarf.c
+++ b/src/aig/gia/giaGiarf.c
@@ -764,7 +764,7 @@ int Gia_ComputeEquivalencesLevel( Hcd_Man_t * p, Gia_Man_t * pGiaLev, Vec_Ptr_t
Gia_Obj_t * pRoot, * pMember, * pMemberPrev, * pRepr, * pTempRepr;
int i, k, nIter, iRoot, iRootNew, iMember, iMemberPrev, status, fOneFailed;//, iRepr;//, fTwoMember;
int nSaved = 0, nRecords = 0, nUndec = 0, nClassRefs = 0, nTsat = 0, nMiniSat = 0;
- int clk, timeTsat = 0, timeMiniSat = 0, timeSim = 0, timeTotal = clock();
+ clock_t clk, timeTsat = 0, timeMiniSat = 0, timeSim = 0, timeTotal = clock();
if ( Vec_PtrSize(vOldRoots) == 0 )
return 0;
// start SAT solvers
@@ -1031,7 +1031,8 @@ void Gia_ComputeEquivalences( Gia_Man_t * pGia, int nBTLimit, int fUseMiniSat, i
Hcd_Man_t * p;
Vec_Ptr_t * vRoots;
Gia_Man_t * pGiaLev;
- int i, Lev, nLevels, nIters, clk;
+ int i, Lev, nLevels, nIters;
+ clock_t clk;
Gia_ManRandom( 1 );
Gia_ManSetPhase( pGia );
nLevels = Gia_ManLevelNum( pGia );
diff --git a/src/aig/gia/giaGlitch.c b/src/aig/gia/giaGlitch.c
index fc4d2736..2b958cba 100644
--- a/src/aig/gia/giaGlitch.c
+++ b/src/aig/gia/giaGlitch.c
@@ -740,7 +740,8 @@ void Gli_ManSetPiRandomSeq( Gli_Man_t * p, float PiTransProb )
***********************************************************************/
void Gli_ManSwitchesAndGlitches( Gli_Man_t * p, int nPatterns, float PiTransProb, int fVerbose )
{
- int i, k, clk = clock();
+ int i, k;
+ clock_t clk = clock();
Gia_ManRandom( 1 );
Gli_ManFinalize( p );
if ( p->nRegs == 0 )
diff --git a/src/aig/gia/giaHcd.c b/src/aig/gia/giaHcd.c
index 3f37e724..656c880a 100644
--- a/src/aig/gia/giaHcd.c
+++ b/src/aig/gia/giaHcd.c
@@ -44,7 +44,7 @@ struct Hcd_Pars_t_
int fUseGia; // uses GIA package
int fUseCSat; // uses circuit-based solver
int fVerbose; // verbose stats
- int timeSynth; // synthesis runtime
+ clock_t timeSynth; // synthesis runtime
int nNodesAhead; // the lookahead in terms of nodes
int nCallsRecycle; // calls to perform before recycling SAT solver
};
@@ -610,7 +610,8 @@ Aig_Man_t * Hcd_ComputeChoices( Aig_Man_t * pAig, int nBTLimit, int fSynthesis,
Vec_Ptr_t * vGias;
Gia_Man_t * pGia, * pMiter;
Aig_Man_t * pAigNew;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
// perform synthesis
if ( fSynthesis )
{
diff --git a/src/aig/gia/giaIso.c b/src/aig/gia/giaIso.c
index dcfee68f..16d0e46c 100644
--- a/src/aig/gia/giaIso.c
+++ b/src/aig/gia/giaIso.c
@@ -82,12 +82,12 @@ struct Gia_IsoMan_t_
Vec_Int_t * vClasses;
Vec_Int_t * vClasses2;
// statistics
- int timeStart;
- int timeSim;
- int timeRefine;
- int timeSort;
- int timeOther;
- int timeTotal;
+ clock_t timeStart;
+ clock_t timeSim;
+ clock_t timeRefine;
+ clock_t timeSort;
+ clock_t timeOther;
+ clock_t timeTotal;
};
static inline unsigned Gia_IsoGetValue( Gia_IsoMan_t * p, int i ) { return (unsigned)(p->pStoreW[i]); }
@@ -178,7 +178,7 @@ void Gia_IsoPrintClasses( Gia_IsoMan_t * p )
printf( "\n" );
}
}
-void Gia_IsoPrint( Gia_IsoMan_t * p, int Iter, int Time )
+void Gia_IsoPrint( Gia_IsoMan_t * p, int Iter, clock_t Time )
{
printf( "Iter %4d : ", Iter );
printf( "Entries =%8d. ", p->nEntries );
@@ -298,8 +298,9 @@ void Gia_IsoAssignUnique( Gia_IsoMan_t * p )
int Gia_IsoSort( Gia_IsoMan_t * p )
{
Gia_Obj_t * pObj, * pObj0;
- int i, k, fSameValue, iBegin, iBeginOld, nSize, nSizeNew, clk;
+ int i, k, fSameValue, iBegin, iBeginOld, nSize, nSizeNew;
int fRefined = 0;
+ clock_t clk;
// go through the equiv classes
p->nSingles = 0;
@@ -722,7 +723,8 @@ Vec_Ptr_t * Gia_IsoDeriveEquivPos( Gia_Man_t * pGia, int fForward, int fVerbose
Gia_IsoMan_t * p;
Vec_Ptr_t * vEquivs = NULL;
int fRefined, fRefinedAll;
- int i, c, clk = clock(), clkTotal = clock();
+ int i, c;
+ clock_t clk = clock(), clkTotal = clock();
assert( Gia_ManCiNum(pGia) > 0 );
assert( Gia_ManPoNum(pGia) > 0 );
@@ -1070,7 +1072,8 @@ Gia_Man_t * Gia_ManIsoReduce( Gia_Man_t * pInit, Vec_Ptr_t ** pvPosEquivs, int f
Vec_Ptr_t * vEquivs, * vEquivs2, * vStrings;
Vec_Int_t * vRemain, * vLevel, * vLevel2;
Vec_Str_t * vStr, * vStr2;
- int i, k, s, sStart, Entry, Counter, clk = clock();
+ int i, k, s, sStart, Entry, Counter;
+ clock_t clk = clock();
if ( pvPosEquivs )
*pvPosEquivs = NULL;
@@ -1203,7 +1206,7 @@ Gia_Man_t * Gia_ManIsoReduce( Gia_Man_t * pInit, Vec_Ptr_t ** pvPosEquivs, int f
void Gia_IsoTest( Gia_Man_t * p, int fVerbose )
{
Vec_Ptr_t * vEquivs;
- int clk = clock();
+ clock_t clk = clock();
vEquivs = Gia_IsoDeriveEquivPos( p, 0, fVerbose );
printf( "Reduced %d outputs to %d. ", Gia_ManPoNum(p), vEquivs ? Vec_PtrSize(vEquivs) : 1 );
Abc_PrintTime( 1, "Time", clock() - clk );
diff --git a/src/aig/gia/giaRetime.c b/src/aig/gia/giaRetime.c
index 0b9a6bfb..c1ff852e 100644
--- a/src/aig/gia/giaRetime.c
+++ b/src/aig/gia/giaRetime.c
@@ -266,7 +266,8 @@ Gia_Man_t * Gia_ManRetimeForwardOne( Gia_Man_t * p, int * pnRegFixed, int * pnRe
Gia_Man_t * Gia_ManRetimeForward( Gia_Man_t * p, int nMaxIters, int fVerbose )
{
Gia_Man_t * pNew, * pTemp;
- int i, clk, nRegFixed, nRegMoves = 1;
+ int i, nRegFixed, nRegMoves = 1;
+ clock_t clk;
pNew = p;
for ( i = 0; i < nMaxIters && nRegMoves > 0; i++ )
{
diff --git a/src/aig/gia/giaShrink.c b/src/aig/gia/giaShrink.c
index ad03f1e4..2db815fc 100644
--- a/src/aig/gia/giaShrink.c
+++ b/src/aig/gia/giaShrink.c
@@ -52,7 +52,8 @@ Gia_Man_t * Gia_ManPerformMapShrink( Gia_Man_t * p, int fKeepLevel, int fVerbose
Gia_Man_t * pNew, * pTemp;
Gia_Obj_t * pObj, * pFanin;
unsigned * pTruth;
- int i, k, iFan, clk = clock();
+ int i, k, iFan;
+ clock_t clk = clock();
// int ClassCounts[222] = {0};
int * pLutClass, Counter = 0;
assert( p->pMapping != NULL );
diff --git a/src/aig/gia/giaSim.c b/src/aig/gia/giaSim.c
index 37406c8d..3f11679d 100644
--- a/src/aig/gia/giaSim.c
+++ b/src/aig/gia/giaSim.c
@@ -109,7 +109,7 @@ Vec_Int_t * Gia_ManSimDeriveResets( Gia_Man_t * pGia )
int i, k, Lit, Count;
int Counter0 = 0, Counter1 = 0;
int CounterPi0 = 0, CounterPi1 = 0;
- int clk = clock();
+ clock_t clk = clock();
// create reset counters for each literal
vCountLits = Vec_IntStart( 2 * Gia_ManObjNum(pGia) );
@@ -609,9 +609,9 @@ int Gia_ManSimSimulate( Gia_Man_t * pAig, Gia_ParSim_t * pPars )
{
extern int Gia_ManSimSimulateEquiv( Gia_Man_t * pAig, Gia_ParSim_t * pPars );
Gia_ManSim_t * p;
- int i, clkTotal = clock();
- int iOut, iPat, RetValue = 0;
-// int nTimeToStop = pPars->TimeLimit ? pPars->TimeLimit + time(NULL) : 0;
+ clock_t clkTotal = clock();
+ int i, iOut, iPat, RetValue = 0;
+ clock_t nTimeToStop = pPars->TimeLimit ? pPars->TimeLimit * CLOCKS_PER_SEC + clock(): 0;
if ( pAig->pReprs && pAig->pNexts )
return Gia_ManSimSimulateEquiv( pAig, pPars );
ABC_FREE( pAig->pCexSeq );
@@ -648,7 +648,7 @@ int Gia_ManSimSimulate( Gia_Man_t * pAig, Gia_ParSim_t * pPars )
RetValue = 1;
break;
}
- if ( time(NULL) > pPars->TimeLimit )
+ if ( clock() > nTimeToStop )
{
i++;
break;
diff --git a/src/aig/gia/giaSim2.c b/src/aig/gia/giaSim2.c
index 74a34d1b..5ac1392f 100644
--- a/src/aig/gia/giaSim2.c
+++ b/src/aig/gia/giaSim2.c
@@ -639,9 +639,9 @@ int Gia_ManSimSimulateEquiv( Gia_Man_t * pAig, Gia_ParSim_t * pPars )
{
Gia_Sim2_t * p;
Gia_Obj_t * pObj;
- int i, clkTotal = clock();
- int RetValue = 0, iOut, iPat;
- int nTimeToStop = pPars->TimeLimit ? pPars->TimeLimit + time(NULL) : 0;
+ clock_t clkTotal = clock();
+ int i, RetValue = 0, iOut, iPat;
+ clock_t nTimeToStop = pPars->TimeLimit ? pPars->TimeLimit * CLOCKS_PER_SEC + clock(): 0;
assert( pAig->pReprs && pAig->pNexts );
ABC_FREE( pAig->pCexSeq );
p = Gia_Sim2Create( pAig, pPars );
@@ -682,7 +682,7 @@ int Gia_ManSimSimulateEquiv( Gia_Man_t * pAig, Gia_ParSim_t * pPars )
}
if ( pAig->pReprs && pAig->pNexts )
Gia_Sim2InfoRefineEquivs( p );
- if ( time(NULL) > nTimeToStop )
+ if ( clock() > nTimeToStop )
{
i++;
break;
diff --git a/src/aig/gia/giaSort.c b/src/aig/gia/giaSort.c
index f73e92bb..5183c441 100644
--- a/src/aig/gia/giaSort.c
+++ b/src/aig/gia/giaSort.c
@@ -160,7 +160,7 @@ void Gia_SortTest()
{
int nSize = 100000000;
int * pArray;
- int clk = clock();
+ clock_t clk = clock();
printf( "Sorting %d integers\n", nSize );
pArray = Gia_SortGetTest( nSize );
diff --git a/src/aig/gia/giaSwitch.c b/src/aig/gia/giaSwitch.c
index 628427d0..d1440ae0 100644
--- a/src/aig/gia/giaSwitch.c
+++ b/src/aig/gia/giaSwitch.c
@@ -559,7 +559,8 @@ Vec_Int_t * Gia_ManSwiSimulate( Gia_Man_t * pAig, Gia_ParSwi_t * pPars )
Gia_Obj_t * pObj;
Vec_Int_t * vSwitching;
float * pSwitching;
- int i, clk, clkTotal = clock();
+ int i;
+ clock_t clk, clkTotal = clock();
if ( pPars->fProbOne && pPars->fProbTrans )
printf( "Conflict of options: Can either compute probability of 1, or probability of switching by observing transitions.\n" );
// create manager
diff --git a/src/aig/gia/giaTsim.c b/src/aig/gia/giaTsim.c
index c306e867..2f5e0293 100644
--- a/src/aig/gia/giaTsim.c
+++ b/src/aig/gia/giaTsim.c
@@ -669,7 +669,8 @@ Gia_ManTer_t * Gia_ManTerSimulate( Gia_Man_t * pAig, int fVerbose )
{
Gia_ManTer_t * p;
unsigned * pState, * pPrev, * pLoop;
- int i, Counter, clk, clkTotal = clock();
+ int i, Counter;
+ clock_t clk, clkTotal = clock();
assert( Gia_ManRegNum(pAig) > 0 );
// create manager
clk = clock();
diff --git a/src/aig/hop/hop.h b/src/aig/hop/hop.h
index 6411265f..d23f3508 100644
--- a/src/aig/hop/hop.h
+++ b/src/aig/hop/hop.h
@@ -30,7 +30,6 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
#include "src/misc/vec/vec.h"
@@ -106,8 +105,8 @@ struct Hop_Man_t_
Vec_Ptr_t * vPages; // memory pages used by nodes
Hop_Obj_t * pListFree; // the list of free nodes
// timing statistics
- int time1;
- int time2;
+ clock_t time1;
+ clock_t time2;
};
////////////////////////////////////////////////////////////////////////
diff --git a/src/aig/hop/hopTable.c b/src/aig/hop/hopTable.c
index 7db93f62..1adab015 100644
--- a/src/aig/hop/hopTable.c
+++ b/src/aig/hop/hopTable.c
@@ -167,7 +167,8 @@ void Hop_TableResize( Hop_Man_t * p )
{
Hop_Obj_t * pEntry, * pNext;
Hop_Obj_t ** pTableOld, ** ppPlace;
- int nTableSizeOld, Counter, nEntries, i, clk;
+ int nTableSizeOld, Counter, nEntries, i;
+ clock_t clk;
clk = clock();
// save the old table
pTableOld = p->pTable;
diff --git a/src/aig/ioa/ioa.h b/src/aig/ioa/ioa.h
index a427f507..809e8e3f 100644
--- a/src/aig/ioa/ioa.h
+++ b/src/aig/ioa/ioa.h
@@ -30,7 +30,6 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
#include "src/misc/vec/vec.h"
//#include "bar.h"
diff --git a/src/aig/ivy/ivy.h b/src/aig/ivy/ivy.h
index 8d062134..f0292e6c 100644
--- a/src/aig/ivy/ivy.h
+++ b/src/aig/ivy/ivy.h
@@ -125,8 +125,8 @@ struct Ivy_Man_t_
Vec_Ptr_t * vPages; // memory pages used by nodes
Ivy_Obj_t * pListFree; // the list of free nodes
// timing statistics
- int time1;
- int time2;
+ clock_t time1;
+ clock_t time2;
};
struct Ivy_FraigParams_t_
diff --git a/src/aig/ivy/ivyCut.c b/src/aig/ivy/ivyCut.c
index d5a31dee..19d37bb2 100644
--- a/src/aig/ivy/ivyCut.c
+++ b/src/aig/ivy/ivyCut.c
@@ -969,7 +969,7 @@ void Ivy_ManTestCutsAll( Ivy_Man_t * p )
{
Ivy_Obj_t * pObj;
int i, nCutsCut, nCutsTotal, nNodeTotal, nNodeOver;
- int clk = clock();
+ clock_t clk = clock();
nNodeTotal = nNodeOver = 0;
nCutsTotal = -Ivy_ManNodeNum(p);
Ivy_ManForEachObj( p, pObj, i )
diff --git a/src/aig/ivy/ivyCutTrav.c b/src/aig/ivy/ivyCutTrav.c
index a053c713..5834a6fc 100644
--- a/src/aig/ivy/ivyCutTrav.c
+++ b/src/aig/ivy/ivyCutTrav.c
@@ -439,7 +439,7 @@ void Ivy_ManTestCutsTravAll( Ivy_Man_t * p )
Vec_Int_t * vStore;
Vec_Vec_t * vBitCuts;
int i, nCutsCut, nCutsTotal, nNodeTotal, nNodeOver;
- int clk = clock();
+ clock_t clk = clock();
vNodes = Vec_PtrAlloc( 100 );
vFront = Vec_PtrAlloc( 100 );
diff --git a/src/aig/ivy/ivyFastMap.c b/src/aig/ivy/ivyFastMap.c
index 1d9efca1..feeb36f2 100644
--- a/src/aig/ivy/ivyFastMap.c
+++ b/src/aig/ivy/ivyFastMap.c
@@ -67,7 +67,7 @@ static inline Ivy_Supp_t * Ivy_ObjSuppStart( Ivy_Man_t * pAig, Ivy_Obj_t * pObj
return pSupp;
}
-static void Ivy_FastMapPrint( Ivy_Man_t * pAig, int Delay, int Area, int Time, char * pStr );
+static void Ivy_FastMapPrint( Ivy_Man_t * pAig, int Delay, int Area, clock_t Time, char * pStr );
static int Ivy_FastMapDelay( Ivy_Man_t * pAig );
static int Ivy_FastMapArea( Ivy_Man_t * pAig );
static void Ivy_FastMapNode( Ivy_Man_t * pAig, Ivy_Obj_t * pObj, int nLimit );
@@ -83,8 +83,8 @@ static int Ivy_FastMapNodeRef( Ivy_Man_t * pAig, Ivy_Obj_t * pObj );
static int Ivy_FastMapNodeDeref( Ivy_Man_t * pAig, Ivy_Obj_t * pObj );
-extern int s_MappingTime;
-extern int s_MappingMem;
+extern clock_t s_MappingTime;
+extern clock_t s_MappingMem;
////////////////////////////////////////////////////////////////////////
@@ -106,7 +106,8 @@ void Ivy_FastMapPerform( Ivy_Man_t * pAig, int nLimit, int fRecovery, int fVerbo
{
Ivy_SuppMan_t * pMan;
Ivy_Obj_t * pObj;
- int i, Delay, Area, clk, clkTotal = clock();
+ int i, Delay, Area;
+ clock_t clk, clkTotal = clock();
// start the memory for supports
pMan = ABC_ALLOC( Ivy_SuppMan_t, 1 );
memset( pMan, 0, sizeof(Ivy_SuppMan_t) );
@@ -210,7 +211,7 @@ void Ivy_FastMapStop( Ivy_Man_t * pAig )
SeeAlso []
***********************************************************************/
-void Ivy_FastMapPrint( Ivy_Man_t * pAig, int Delay, int Area, int Time, char * pStr )
+void Ivy_FastMapPrint( Ivy_Man_t * pAig, int Delay, int Area, clock_t Time, char * pStr )
{
printf( "%s : Delay = %3d. Area = %6d. ", pStr, Delay, Area );
ABC_PRT( "Time", Time );
diff --git a/src/aig/ivy/ivyFraig.c b/src/aig/ivy/ivyFraig.c
index cc6250e4..411402fb 100644
--- a/src/aig/ivy/ivyFraig.c
+++ b/src/aig/ivy/ivyFraig.c
@@ -93,16 +93,16 @@ struct Ivy_FraigMan_t_
int nSatFails;
int nSatFailsReal;
// runtime
- int timeSim;
- int timeTrav;
- int timeSat;
- int timeSatUnsat;
- int timeSatSat;
- int timeSatFail;
- int timeRef;
- int timeTotal;
- int time1;
- int time2;
+ clock_t timeSim;
+ clock_t timeTrav;
+ clock_t timeSat;
+ clock_t timeSatUnsat;
+ clock_t timeSatSat;
+ clock_t timeSatFail;
+ clock_t timeRef;
+ clock_t timeTotal;
+ clock_t time1;
+ clock_t time2;
};
typedef struct Prove_ParamsStruct_t_ Prove_Params_t;
@@ -198,7 +198,7 @@ static int Ivy_FraigSetActivityFactors( Ivy_FraigMan_t * p, Ivy_Obj_t
static void Ivy_FraigAddToPatScores( Ivy_FraigMan_t * p, Ivy_Obj_t * pClass, Ivy_Obj_t * pClassNew );
static int Ivy_FraigMiterStatus( Ivy_Man_t * pMan );
static void Ivy_FraigMiterProve( Ivy_FraigMan_t * p );
-static void Ivy_FraigMiterPrint( Ivy_Man_t * pNtk, char * pString, int clk, int fVerbose );
+static void Ivy_FraigMiterPrint( Ivy_Man_t * pNtk, char * pString, clock_t clk, int fVerbose );
static int * Ivy_FraigCreateModel( Ivy_FraigMan_t * p );
static int Ivy_FraigNodesAreEquivBdd( Ivy_Obj_t * pObj1, Ivy_Obj_t * pObj2 );
@@ -257,7 +257,8 @@ int Ivy_FraigProve( Ivy_Man_t ** ppManAig, void * pPars )
Prove_Params_t * pParams = (Prove_Params_t *)pPars;
Ivy_FraigParams_t Params, * pIvyParams = &Params;
Ivy_Man_t * pManAig, * pManTemp;
- int RetValue, nIter, clk;//, Counter;
+ int RetValue, nIter;
+ clock_t clk;//, Counter;
ABC_INT64_T nSatConfs = 0, nSatInspects = 0;
// start the network and parameters
@@ -414,7 +415,7 @@ Ivy_Man_t * Ivy_FraigPerform_int( Ivy_Man_t * pManAig, Ivy_FraigParams_t * pPara
{
Ivy_FraigMan_t * p;
Ivy_Man_t * pManAigNew;
- int clk;
+ clock_t clk;
if ( Ivy_ManNodeNum(pManAig) == 0 )
return Ivy_ManDup(pManAig);
clk = clock();
@@ -451,7 +452,7 @@ Ivy_Man_t * Ivy_FraigPerform( Ivy_Man_t * pManAig, Ivy_FraigParams_t * pParams )
{
Ivy_FraigMan_t * p;
Ivy_Man_t * pManAigNew;
- int clk;
+ clock_t clk;
if ( Ivy_ManNodeNum(pManAig) == 0 )
return Ivy_ManDup(pManAig);
clk = clock();
@@ -481,7 +482,8 @@ Ivy_Man_t * Ivy_FraigMiter( Ivy_Man_t * pManAig, Ivy_FraigParams_t * pParams )
Ivy_FraigMan_t * p;
Ivy_Man_t * pManAigNew;
Ivy_Obj_t * pObj;
- int i, clk;
+ int i;
+ clock_t clk;
clk = clock();
assert( Ivy_ManLatchNum(pManAig) == 0 );
p = Ivy_FraigStartSimple( pManAig, pParams );
@@ -988,7 +990,8 @@ unsigned Ivy_NodeHash( Ivy_FraigMan_t * p, Ivy_Obj_t * pObj )
void Ivy_FraigSimulateOne( Ivy_FraigMan_t * p )
{
Ivy_Obj_t * pObj;
- int i, clk;
+ int i;
+ clock_t clk;
clk = clock();
Ivy_ManForEachNode( p->pManAig, pObj, i )
{
@@ -1020,7 +1023,7 @@ p->nSimRounds++;
void Ivy_FraigSimulateOneSim( Ivy_FraigMan_t * p )
{
Ivy_FraigSim_t * pSims;
- int clk;
+ clock_t clk;
clk = clock();
for ( pSims = p->pSimStart; pSims; pSims = pSims->pNext )
Ivy_NodeSimulateSim( p, pSims );
@@ -1384,7 +1387,8 @@ int Ivy_FraigCheckOutputSims( Ivy_FraigMan_t * p )
int Ivy_FraigRefineClasses( Ivy_FraigMan_t * p )
{
Ivy_Obj_t * pClass, * pClass2;
- int clk, RetValue, Counter = 0;
+ int RetValue, Counter = 0;
+ clock_t clk;
// check if some outputs already became non-constant
// this is a special case when computation can be stopped!!!
if ( p->pParams->fProve )
@@ -1789,7 +1793,7 @@ void Ivy_FraigResimulate( Ivy_FraigMan_t * p )
SeeAlso []
***********************************************************************/
-void Ivy_FraigMiterPrint( Ivy_Man_t * pNtk, char * pString, int clk, int fVerbose )
+void Ivy_FraigMiterPrint( Ivy_Man_t * pNtk, char * pString, clock_t clk, int fVerbose )
{
if ( !fVerbose )
return;
@@ -1876,7 +1880,8 @@ int Ivy_FraigMiterStatus( Ivy_Man_t * pMan )
void Ivy_FraigMiterProve( Ivy_FraigMan_t * p )
{
Ivy_Obj_t * pObj, * pObjNew;
- int i, RetValue, clk = clock();
+ int i, RetValue;
+ clock_t clk = clock();
int fVerbose = 0;
Ivy_ManForEachPo( p->pManAig, pObj, i )
{
@@ -2093,7 +2098,8 @@ void Ivy_FraigPrintActivity( Ivy_FraigMan_t * p )
***********************************************************************/
int Ivy_FraigNodesAreEquiv( Ivy_FraigMan_t * p, Ivy_Obj_t * pOld, Ivy_Obj_t * pNew )
{
- int pLits[4], RetValue, RetValue1, nBTLimit, clk; //, clk2 = clock();
+ int pLits[4], RetValue, RetValue1, nBTLimit;
+ clock_t clk; //, clk2 = clock();
// make sure the nodes are not complemented
assert( !Ivy_IsComplement(pNew) );
@@ -2259,7 +2265,8 @@ p->timeSatFail += clock() - clk;
***********************************************************************/
int Ivy_FraigNodeIsConst( Ivy_FraigMan_t * p, Ivy_Obj_t * pNew )
{
- int pLits[2], RetValue1, clk;
+ int pLits[2], RetValue1;
+ clock_t clk;
int RetValue;
// make sure the nodes are not complemented
@@ -2628,7 +2635,8 @@ int Ivy_FraigSetActivityFactors_rec( Ivy_FraigMan_t * p, Ivy_Obj_t * pObj, int L
***********************************************************************/
int Ivy_FraigSetActivityFactors( Ivy_FraigMan_t * p, Ivy_Obj_t * pOld, Ivy_Obj_t * pNew )
{
- int clk, LevelMin, LevelMax;
+ int LevelMin, LevelMax;
+ clock_t clk;
assert( pOld || pNew );
clk = clock();
// reset the active variables
diff --git a/src/aig/ivy/ivyResyn.c b/src/aig/ivy/ivyResyn.c
index 8d571110..dc483bf6 100644
--- a/src/aig/ivy/ivyResyn.c
+++ b/src/aig/ivy/ivyResyn.c
@@ -44,7 +44,7 @@ ABC_NAMESPACE_IMPL_START
***********************************************************************/
Ivy_Man_t * Ivy_ManResyn0( Ivy_Man_t * pMan, int fUpdateLevel, int fVerbose )
{
- int clk;
+ clock_t clk;
Ivy_Man_t * pTemp;
if ( fVerbose ) { printf( "Original:\n" ); }
@@ -85,7 +85,7 @@ if ( fVerbose ) Ivy_ManPrintStats( pMan );
***********************************************************************/
Ivy_Man_t * Ivy_ManResyn( Ivy_Man_t * pMan, int fUpdateLevel, int fVerbose )
{
- int clk;
+ clock_t clk;
Ivy_Man_t * pTemp;
if ( fVerbose ) { printf( "Original:\n" ); }
@@ -154,7 +154,7 @@ if ( fVerbose ) Ivy_ManPrintStats( pMan );
***********************************************************************/
Ivy_Man_t * Ivy_ManRwsat( Ivy_Man_t * pMan, int fVerbose )
{
- int clk;
+ clock_t clk;
Ivy_Man_t * pTemp;
if ( fVerbose ) { printf( "Original:\n" ); }
diff --git a/src/aig/ivy/ivyRwr.c b/src/aig/ivy/ivyRwr.c
index 39131210..292bd3f9 100644
--- a/src/aig/ivy/ivyRwr.c
+++ b/src/aig/ivy/ivyRwr.c
@@ -57,7 +57,7 @@ int Ivy_ManRewritePre( Ivy_Man_t * p, int fUpdateLevel, int fUseZeroCost, int fV
Rwt_Man_t * pManRwt;
Ivy_Obj_t * pNode;
int i, nNodes, nGain;
- int clk, clkStart = clock();
+ clock_t clk, clkStart = clock();
// start the rewriting manager
pManRwt = Rwt_ManStart( 0 );
p->pData = pManRwt;
@@ -164,7 +164,7 @@ int Ivy_NodeRewrite( Ivy_Man_t * pMan, Rwt_Man_t * p, Ivy_Obj_t * pNode, int fUp
int Required, nNodesSaved;
int nNodesSaveCur = -1; // Suppress "might be used uninitialized"
int i, c, GainCur, GainBest = -1;
- int clk, clk2;
+ clock_t clk, clk2;
p->nNodesConsidered++;
// get the required times
diff --git a/src/aig/ivy/ivySeq.c b/src/aig/ivy/ivySeq.c
index 283bf9fe..4a999780 100644
--- a/src/aig/ivy/ivySeq.c
+++ b/src/aig/ivy/ivySeq.c
@@ -65,7 +65,7 @@ int Ivy_ManRewriteSeq( Ivy_Man_t * p, int fUseZeroCost, int fVerbose )
Rwt_Man_t * pManRwt;
Ivy_Obj_t * pNode;
int i, nNodes, nGain;
- int clk, clkStart = clock();
+ clock_t clk, clkStart = clock();
// set the DC latch values
Ivy_ManForEachLatch( p, pNode, i )
@@ -157,7 +157,7 @@ int Ivy_NodeRewriteSeq( Ivy_Man_t * pMan, Rwt_Man_t * p, Ivy_Obj_t * pNode, int
int nNodesSaved;
int nNodesSaveCur = -1; // Suppress "might be used uninitialized"
int i, c, GainCur, GainBest = -1;
- int clk, clk2;//, clk3;
+ clock_t clk, clk2;//, clk3;
p->nNodesConsidered++;
// get the node's cuts
@@ -1110,7 +1110,7 @@ void Ivy_CutComputeAll( Ivy_Man_t * p, int nInputs )
Ivy_Store_t * pStore;
Ivy_Obj_t * pObj;
int i, nCutsTotal, nCutsTotalM, nNodeTotal, nNodeOver;
- int clk = clock();
+ clock_t clk = clock();
if ( nInputs > IVY_CUT_INPUT )
{
printf( "Cannot compute cuts for more than %d inputs.\n", IVY_CUT_INPUT );
diff --git a/src/aig/ivy/ivyTable.c b/src/aig/ivy/ivyTable.c
index d2c1ab9a..d2753aa8 100644
--- a/src/aig/ivy/ivyTable.c
+++ b/src/aig/ivy/ivyTable.c
@@ -206,7 +206,8 @@ int Ivy_TableCountEntries( Ivy_Man_t * p )
void Ivy_TableResize( Ivy_Man_t * p )
{
int * pTableOld, * pPlace;
- int nTableSizeOld, Counter, nEntries, e, clk;
+ int nTableSizeOld, Counter, nEntries, e;
+ clock_t clk;
clk = clock();
// save the old table
pTableOld = p->pTable;
diff --git a/src/aig/saig/saigAbsCba.c b/src/aig/saig/saigAbsCba.c
index 55a429e1..0b59274a 100644
--- a/src/aig/saig/saigAbsCba.c
+++ b/src/aig/saig/saigAbsCba.c
@@ -721,7 +721,7 @@ Abc_Cex_t * Saig_ManCbaFindCexCareBits( Aig_Man_t * pAig, Abc_Cex_t * pCex, int
Saig_ManCba_t * p;
Vec_Int_t * vReasons;
Abc_Cex_t * pCare;
- int clk = clock();
+ clock_t clk = clock();
clk = clock();
p = Saig_ManCbaStart( pAig, pCex, nInputs, fVerbose );
@@ -831,7 +831,8 @@ ABC_PRT( "Time", clock() - clk );
Vec_Int_t * Saig_ManCbaPerform( Aig_Man_t * pAbs, int nInputs, Saig_ParBmc_t * pPars )
{
Vec_Int_t * vAbsFfsToAdd;
- int RetValue, clk = clock();
+ int RetValue;
+ clock_t clk = clock();
// assert( pAbs->nRegs > 0 );
// perform BMC
RetValue = Saig_ManBmcScalable( pAbs, pPars );
diff --git a/src/aig/saig/saigAbsPba.c b/src/aig/saig/saigAbsPba.c
index 42744459..9a10edb6 100644
--- a/src/aig/saig/saigAbsPba.c
+++ b/src/aig/saig/saigAbsPba.c
@@ -254,9 +254,9 @@ Vec_Int_t * Saig_ManPbaDerive( Aig_Man_t * pAig, int nInputs, int nStart, int nF
sat_solver * pSat;
Cnf_Dat_t * pCnf;
Aig_Obj_t * pObj;
- int nTimeToStop = time(NULL) + TimeLimit;
int nCoreLits, * pCoreLits;
- int i, iVar, RetValue, clk;
+ int i, iVar, RetValue;
+ clock_t clk;
if ( fVerbose )
{
if ( TimeLimit )
@@ -296,7 +296,7 @@ Abc_PrintTime( 1, "Preparing", clock() - clk );
// set runtime limit
if ( TimeLimit )
- sat_solver_set_runtime_limit( pSat, nTimeToStop );
+ sat_solver_set_runtime_limit( pSat, TimeLimit ? TimeLimit * CLOCKS_PER_SEC + clock(): 0 );
// run SAT solver
clk = clock();
diff --git a/src/aig/saig/saigAbsStart.c b/src/aig/saig/saigAbsStart.c
index 0054d8b0..77517c18 100644
--- a/src/aig/saig/saigAbsStart.c
+++ b/src/aig/saig/saigAbsStart.c
@@ -172,7 +172,8 @@ int Saig_ManCexRefineStep( Aig_Man_t * p, Vec_Int_t * vFlops, Vec_Int_t * vFlopC
{
Aig_Man_t * pAbs;
Vec_Int_t * vFlopsNew;
- int i, Entry, clk = clock();
+ int i, Entry;
+ clock_t clk = clock();
pAbs = Saig_ManDupAbstraction( p, vFlops );
if ( fSensePath )
vFlopsNew = Saig_ManExtendCounterExampleTest2( pAbs, Saig_ManCexFirstFlopPi(p, pAbs), pCex, fVerbose );
diff --git a/src/aig/saig/saigAbsVfa.c b/src/aig/saig/saigAbsVfa.c
index 24414c5a..e991ac35 100644
--- a/src/aig/saig/saigAbsVfa.c
+++ b/src/aig/saig/saigAbsVfa.c
@@ -209,7 +209,8 @@ int Abs_VfaManCreateFrame_rec( Abs_VfaMan_t * p, Aig_Obj_t * pObj, int f )
void Abs_VfaManCreateFrame( Abs_VfaMan_t * p, int f )
{
Aig_Obj_t * pObj;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
Saig_ManForEachPo( p->pAig, pObj, i )
Abs_VfaManCreateFrame_rec( p, pObj, f );
diff --git a/src/aig/saig/saigBmc.c b/src/aig/saig/saigBmc.c
index 60f406ad..021ad5d0 100644
--- a/src/aig/saig/saigBmc.c
+++ b/src/aig/saig/saigBmc.c
@@ -190,7 +190,8 @@ int Saig_ManBmcSimple( Aig_Man_t * pAig, int nFrames, int nSizeMax, int nConfLim
Cnf_Dat_t * pCnf;
Aig_Man_t * pFrames, * pAigTemp;
Aig_Obj_t * pObj;
- int status, clk, Lit, i, RetValue = -1;
+ int status, Lit, i, RetValue = -1;
+ clock_t clk;
// derive the timeframes
clk = clock();
@@ -264,7 +265,7 @@ int Saig_ManBmcSimple( Aig_Man_t * pAig, int nFrames, int nSizeMax, int nConfLim
}
else
{
- int clkPart = clock();
+ clock_t clkPart = clock();
Aig_ManForEachCo( pFrames, pObj, i )
{
//if ( s_fInterrupt )
diff --git a/src/aig/saig/saigBmc2.c b/src/aig/saig/saigBmc2.c
index 4a95bdbc..8ff9a7a7 100644
--- a/src/aig/saig/saigBmc2.c
+++ b/src/aig/saig/saigBmc2.c
@@ -202,7 +202,7 @@ Vec_Ptr_t * Abs_ManTernarySimulate( Aig_Man_t * p, int nFramesMax, int fVerbose
Vec_Ptr_t * vSimInfo;
Aig_Obj_t * pObj;
int i, f, nFramesLimit, nFrameWords;
- int clk = clock();
+ clock_t clk = clock();
assert( Aig_ManRegNum(p) > 0 );
// the maximum number of frames will be determined to use at most 200Mb of RAM
nFramesLimit = 1 + (200000000 * 4)/Aig_ManObjNum(p);
@@ -742,9 +742,10 @@ int Saig_BmcPerform( Aig_Man_t * pAig, int nStart, int nFramesMax, int nNodesMax
Saig_Bmc_t * p;
Aig_Man_t * pNew;
Cnf_Dat_t * pCnf;
- int nTimeToStop = time(NULL) + nTimeOut;
int nOutsSolved = 0;
- int Iter, RetValue = -1, clk = clock(), clk2, clkTotal = clock();
+ int Iter, RetValue = -1;
+ clock_t nTimeToStop = nTimeOut ? nTimeOut * CLOCKS_PER_SEC + clock(): 0;
+ clock_t clk = clock(), clk2, clkTotal = clock();
int Status = -1;
/*
Vec_Ptr_t * vSimInfo;
@@ -763,7 +764,7 @@ int Saig_BmcPerform( Aig_Man_t * pAig, int nStart, int nFramesMax, int nNodesMax
p = Saig_BmcManStart( pAig, nFramesMax, nNodesMax, nConfMaxOne, nConfMaxAll, fVerbose );
// set runtime limit
if ( nTimeOut )
- sat_solver_set_runtime_limit( p->pSat, nTimeToStop );
+ sat_solver_set_runtime_limit( p->pSat, nTimeOut );
for ( Iter = 0; ; Iter++ )
{
clk2 = clock();
@@ -796,7 +797,7 @@ int Saig_BmcPerform( Aig_Man_t * pAig, int nStart, int nFramesMax, int nNodesMax
if ( RetValue != l_False )
break;
// check the timeout
- if ( nTimeOut && time(NULL) > nTimeToStop )
+ if ( nTimeOut && clock() > nTimeToStop )
{
printf( "Reached timeout (%d seconds).\n", nTimeOut );
if ( piFrames )
@@ -839,7 +840,7 @@ int Saig_BmcPerform( Aig_Man_t * pAig, int nStart, int nFramesMax, int nNodesMax
printf( "Reached limit on the number of timeframes (%d).\n", p->nFramesMax );
else if ( p->nConfMaxAll && p->pSat->stats.conflicts > p->nConfMaxAll )
printf( "Reached global conflict limit (%d).\n", p->nConfMaxAll );
- else if ( nTimeOut && time(NULL) > nTimeToStop )
+ else if ( nTimeOut && clock() > nTimeToStop )
printf( "Reached timeout (%d seconds).\n", nTimeOut );
else
printf( "Reached local conflict limit (%d).\n", p->nConfMaxOne );
diff --git a/src/aig/saig/saigBmc3.c b/src/aig/saig/saigBmc3.c
index 9107a796..12e982cc 100644
--- a/src/aig/saig/saigBmc3.c
+++ b/src/aig/saig/saigBmc3.c
@@ -1251,8 +1251,9 @@ int Saig_ManBmcScalable( Aig_Man_t * pAig, Saig_ParBmc_t * pPars )
unsigned * pInfo;
int RetValue = -1, fFirst = 1, nJumpFrame = 0, fUnfinished = 0;
int nOutDigits = Abc_Base10Log( Saig_ManPoNum(pAig) );
- int i, f, Lit, status, clk, clk2, clkOther = 0, clkTotal = clock();
- int nTimeToStop = time(NULL) + pPars->nTimeOut;
+ int i, f, Lit, status;
+ clock_t clk, clk2, clkOther = 0, clkTotal = clock();
+ clock_t nTimeToStop = pPars->nTimeOut ? pPars->nTimeOut * CLOCKS_PER_SEC + clock(): 0;
p = Saig_Bmc3ManStart( pAig );
p->pPars = pPars;
if ( pPars->fVerbose )
@@ -1411,7 +1412,7 @@ clkOther += clock() - clk2;
else
{
assert( status == l_Undef );
- if ( pPars->nTimeOut && time(NULL) > nTimeToStop )
+ if ( pPars->nTimeOut && clock() > nTimeToStop )
{
printf( "Reached timeout (%d seconds).\n", pPars->nTimeOut );
Saig_Bmc3ManStop( p );
@@ -1427,7 +1428,7 @@ clkOther += clock() - clk2;
Saig_Bmc3ManStop( p );
return RetValue;
}
- if ( pPars->nTimeOut && time(NULL) > nTimeToStop )
+ if ( pPars->nTimeOut && clock() > nTimeToStop )
{
printf( "Reached timeout (%d seconds).\n", pPars->nTimeOut );
Saig_Bmc3ManStop( p );
@@ -1450,7 +1451,7 @@ clkOther += clock() - clk2;
// printf( "%4.0f Mb", 4.0*Vec_IntSize(p->vVisited) /(1<<20) );
printf( "%4.0f Mb", 4.0*(f+1)*p->nObjNums /(1<<20) );
printf( "%4.0f Mb", 1.0*sat_solver_memory(p->pSat)/(1<<20) );
- printf( "%9.2f sec ", (float)(clock() - clkTotal)/(float)(CLOCKS_PER_SEC) );
+ printf( "%9.2f sec ", 1.0*(clock() - clkTotal)/CLOCKS_PER_SEC );
// printf( "\n" );
// ABC_PRMn( "Id2Var", (f+1)*p->nObjNums*4 );
// ABC_PRMn( "SAT", 42 * p->pSat->size + 16 * (int)p->pSat->stats.clauses + 4 * (int)p->pSat->stats.clauses_literals );
diff --git a/src/aig/saig/saigConstr2.c b/src/aig/saig/saigConstr2.c
index f54f2dbe..85e79e3f 100644
--- a/src/aig/saig/saigConstr2.c
+++ b/src/aig/saig/saigConstr2.c
@@ -59,7 +59,8 @@ int Ssw_ManProfileConstraints( Aig_Man_t * p, int nWords, int nFrames, int fVerb
Vec_Int_t * vProbs, * vProbs2;
Aig_Obj_t * pObj, * pObjLi;
unsigned * pInfo, * pInfo0, * pInfo1, * pInfoMask, * pInfoMask2;
- int i, w, f, RetValue = 1, clk = clock();
+ int i, w, f, RetValue = 1;
+ clock_t clk = clock();
if ( fVerbose )
printf( "Simulating %d nodes and %d flops for %d frames with %d words... ",
Aig_ManNodeNum(p), Aig_ManRegNum(p), nFrames, nWords );
diff --git a/src/aig/saig/saigGlaCba.c b/src/aig/saig/saigGlaCba.c
index 459d8ede..d39ff944 100644
--- a/src/aig/saig/saigGlaCba.c
+++ b/src/aig/saig/saigGlaCba.c
@@ -59,9 +59,9 @@ struct Aig_Gla1Man_t_
// SAT solver
sat_solver * pSat;
// statistics
- int timeSat;
- int timeRef;
- int timeTotal;
+ clock_t timeSat;
+ clock_t timeRef;
+ clock_t timeTotal;
};
////////////////////////////////////////////////////////////////////////
@@ -687,8 +687,9 @@ Vec_Int_t * Aig_Gla1ManPerform( Aig_Man_t * pAig, Vec_Int_t * vGateClassesOld, i
Abc_Cex_t * pCex;
Vec_Int_t * vPPiRefine;
int f, g, r, i, iSatVar, Lit, Entry, RetValue;
- int nConfBef, nConfAft, clk, clkTotal = clock();
- int nTimeToStop = time(NULL) + TimeLimit;
+ int nConfBef, nConfAft;
+ clock_t clk, clkTotal = clock();
+ clock_t nTimeToStop = TimeLimit ? TimeLimit * CLOCKS_PER_SEC + clock(): 0;
assert( Saig_ManPoNum(pAig) == 1 );
if ( nFramesMax == 0 )
@@ -753,7 +754,7 @@ Vec_Int_t * Aig_Gla1ManPerform( Aig_Man_t * pAig, Vec_Int_t * vGateClassesOld, i
printf( "== %3d ==", f );
else
printf( " " );
- if ( TimeLimit && time(NULL) > nTimeToStop )
+ if ( TimeLimit && clock() > nTimeToStop )
printf( " SAT solver timed out after %d seconds.\n", TimeLimit );
else if ( RetValue != l_False )
printf( " SAT solver returned UNDECIDED after %5d conflicts.\n", nConfAft - nConfBef );
diff --git a/src/aig/saig/saigGlaPba.c b/src/aig/saig/saigGlaPba.c
index 6f461995..e039ed75 100644
--- a/src/aig/saig/saigGlaPba.c
+++ b/src/aig/saig/saigGlaPba.c
@@ -48,46 +48,15 @@ struct Aig_Gla2Man_t_
// SAT solver
sat_solver * pSat;
// statistics
- int timePre;
- int timeSat;
- int timeTotal;
+ clock_t timePre;
+ clock_t timeSat;
+ clock_t timeTotal;
};
////////////////////////////////////////////////////////////////////////
/// FUNCTION DEFINITIONS ///
////////////////////////////////////////////////////////////////////////
-#define ABC_CPS 1000
-
-/**Function*************************************************************
-
- Synopsis [Procedure returns miliseconds elapsed since the last reset.]
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-int Abc_Clock( int Timer, int fReset )
-{
- static int Time[16], Clock[16];
- int Clock2, Diff;
- assert( Timer >= 0 && Timer < 16 );
- if ( fReset )
- {
- Time[Timer] = time(NULL);
- Clock[Timer] = clock();
- return 0;
- }
- Clock2 = clock();
- if ( Clock2 > Clock[Timer] )
- Diff = (Clock2 - Clock[Timer]) % CLOCKS_PER_SEC;
- else
- Diff = CLOCKS_PER_SEC - (Clock[Timer] - Clock2) % CLOCKS_PER_SEC;
- return (time(NULL) - Time[Timer]) * ABC_CPS + (Diff * ABC_CPS) / CLOCKS_PER_SEC;
-}
/**Function*************************************************************
@@ -432,7 +401,8 @@ Vec_Int_t * Saig_AbsSolverUnsatCore( sat_solver * pSat, int nConfMax, int fVerbo
Vec_Int_t * vCore;
void * pSatCnf;
Intp_Man_t * pManProof;
- int RetValue, clk = clock();
+ int RetValue;
+ clock_t clk = clock();
if ( piRetValue )
*piRetValue = -1;
// solve the problem
@@ -556,8 +526,8 @@ Vec_Int_t * Aig_Gla2ManPerform( Aig_Man_t * pAig, int nStart, int nFramesMax, in
{
Aig_Gla2Man_t * p;
Vec_Int_t * vCore, * vResult;
- int nTimeToStop = time(NULL) + TimeLimit;
- int clk, clk2 = clock();
+ clock_t nTimeToStop = TimeLimit ? TimeLimit * CLOCKS_PER_SEC + clock(): 0;
+ clock_t clk, clk2 = clock();
assert( Saig_ManPoNum(pAig) == 1 );
if ( fVerbose )
diff --git a/src/aig/saig/saigGlaPba2.c b/src/aig/saig/saigGlaPba2.c
index a7122d01..42850e01 100644
--- a/src/aig/saig/saigGlaPba2.c
+++ b/src/aig/saig/saigGlaPba2.c
@@ -47,9 +47,9 @@ struct Aig_Gla3Man_t_
// SAT solver
sat_solver2 * pSat;
// statistics
- int timePre;
- int timeSat;
- int timeTotal;
+ clock_t timePre;
+ clock_t timeSat;
+ clock_t timeTotal;
};
////////////////////////////////////////////////////////////////////////
@@ -393,7 +393,8 @@ void Aig_Gla3ManStop( Aig_Gla3Man_t * p )
Vec_Int_t * Aig_Gla3ManUnsatCore( sat_solver2 * pSat, int nConfMax, int fVerbose, int * piRetValue )
{
Vec_Int_t * vCore;
- int RetValue, clk = clock();
+ int RetValue;
+ clock_t clk = clock();
if ( piRetValue )
*piRetValue = -1;
// solve the problem
@@ -495,8 +496,7 @@ Vec_Int_t * Aig_Gla3ManPerform( Aig_Man_t * pAig, int nStart, int nFramesMax, in
{
Aig_Gla3Man_t * p;
Vec_Int_t * vCore, * vResult;
- int nTimeToStop = time(NULL) + TimeLimit;
- int clk, clk2 = clock();
+ clock_t clk, clk2 = clock();
assert( Saig_ManPoNum(pAig) == 1 );
if ( fVerbose )
@@ -521,7 +521,7 @@ Vec_Int_t * Aig_Gla3ManPerform( Aig_Man_t * pAig, int nStart, int nFramesMax, in
// set runtime limit
if ( TimeLimit )
- sat_solver2_set_runtime_limit( p->pSat, nTimeToStop );
+ sat_solver2_set_runtime_limit( p->pSat, TimeLimit * CLOCKS_PER_SEC + clock() );
// compute UNSAT core
clk = clock();
diff --git a/src/aig/saig/saigHaig.c b/src/aig/saig/saigHaig.c
index aedc98e2..b92b7a9b 100644
--- a/src/aig/saig/saigHaig.c
+++ b/src/aig/saig/saigHaig.c
@@ -206,7 +206,7 @@ int Aig_ManHaigVerify( Aig_Man_t * p, Aig_Man_t * pAig, Aig_Man_t * pHaig, int n
sat_solver * pSat;
Aig_Obj_t * pObj1, * pObj2;
int i, RetValue1, RetValue2, Counter, Lits[2], nOvers;
- int clk = clock(), clkVerif;
+ clock_t clk = clock(), clkVerif;
nOvers = Aig_ManMapHaigNodes( pHaig );
@@ -412,7 +412,7 @@ int Aig_ManHaigVerify2( Aig_Man_t * p, Aig_Man_t * pAig, Aig_Man_t * pHaig, int
sat_solver * pSat;
Aig_Obj_t * pObj1, * pObj2;
int i, RetValue1, RetValue2, Counter, Lits[2];
- int clk = clock();
+ clock_t clk = clock();
int Delta;
int Id1, Id2;
@@ -624,7 +624,8 @@ Aig_Man_t * Saig_ManHaigRecord( Aig_Man_t * p, int nIters, int nSteps, int fReti
Dar_RwrPar_t ParsRwr, * pParsRwr = &ParsRwr;
Aig_Man_t * pNew, * pTemp;
Aig_Obj_t * pObj;
- int i, k, nStepsReal, clk = clock(), clkSynth;
+ int i, k, nStepsReal;
+ clock_t clk = clock(), clkSynth;
Dar_ManDefaultRwrParams( pParsRwr );
clk = clock();
diff --git a/src/aig/saig/saigInd.c b/src/aig/saig/saigInd.c
index aa417fb0..39ec734a 100644
--- a/src/aig/saig/saigInd.c
+++ b/src/aig/saig/saigInd.c
@@ -150,8 +150,9 @@ int Saig_ManInduction( Aig_Man_t * p, int nFramesMax, int nConfMax, int fUnique,
Vec_Int_t * vTopVarNums, * vState, * vTopVarIds = NULL;
Vec_Ptr_t * vTop, * vBot;
Aig_Obj_t * pObjPi, * pObjPiCopy, * pObjPo;
- int i, k, f, clk, Lits[2], status = -1, RetValue, nSatVarNum, nConfPrev;
+ int i, k, f, Lits[2], status = -1, RetValue, nSatVarNum, nConfPrev;
int nOldSize, iReg, iLast, fAdded, nConstrs = 0, nClauses = 0;
+ clock_t clk;
assert( fUnique == 0 || fUniqueAll == 0 );
assert( Saig_ManPoNum(p) == 1 );
Aig_ManSetCioIds( p );
diff --git a/src/aig/saig/saigIso.c b/src/aig/saig/saigIso.c
index 2250126b..ccff1bde 100644
--- a/src/aig/saig/saigIso.c
+++ b/src/aig/saig/saigIso.c
@@ -426,7 +426,8 @@ Aig_Man_t * Iso_ManFilterPos( Aig_Man_t * pAig, Vec_Ptr_t ** pvPosEquivs, int fV
Vec_Ptr_t * vBuffers, * vClasses;
Vec_Int_t * vLevel, * vRemain;
Vec_Str_t * vStr, * vPrev;
- int i, nPos, clk = clock();
+ int i, nPos;
+ clock_t clk = clock();
int clkDup = 0, clkAig = 0, clkIso = 0, clk2;
*pvPosEquivs = NULL;
@@ -539,7 +540,7 @@ Aig_Man_t * Iso_ManFilterPos( Aig_Man_t * pAig, Vec_Ptr_t ** pvPosEquivs, int fV
Aig_Man_t * Iso_ManTest( Aig_Man_t * pAig, int fVerbose )
{
Vec_Int_t * vPerm;
- int clk = clock();
+ clock_t clk = clock();
vPerm = Saig_ManFindIsoPerm( pAig, fVerbose );
Vec_IntFree( vPerm );
Abc_PrintTime( 1, "Time", clock() - clk );
@@ -560,7 +561,7 @@ Aig_Man_t * Iso_ManTest( Aig_Man_t * pAig, int fVerbose )
Aig_Man_t * Saig_ManIsoReduce( Aig_Man_t * pAig, Vec_Ptr_t ** pvPosEquivs, int fVerbose )
{
Aig_Man_t * pPart;
- int clk = clock();
+ clock_t clk = clock();
pPart = Iso_ManFilterPos( pAig, pvPosEquivs, fVerbose );
printf( "Reduced %d outputs to %d outputs. ", Saig_ManPoNum(pAig), Saig_ManPoNum(pPart) );
Abc_PrintTime( 1, "Time", clock() - clk );
diff --git a/src/aig/saig/saigIsoFast.c b/src/aig/saig/saigIsoFast.c
index a7cc942c..8b60368f 100644
--- a/src/aig/saig/saigIsoFast.c
+++ b/src/aig/saig/saigIsoFast.c
@@ -160,7 +160,7 @@ void Iso_StoCollectInfo_rec( Aig_Man_t * p, Aig_Obj_t * pObj, int fCompl, Vec_In
Vec_IntPush( vVisited, Aig_ObjId(pObj) );
}
-//static int time_Trav = 0;
+//static clock_t time_Trav = 0;
/**Function*************************************************************
@@ -286,7 +286,8 @@ Vec_Vec_t * Saig_IsoDetectFast( Aig_Man_t * pAig )
Aig_Obj_t * pObj;
Vec_Ptr_t * vClasses, * vInfos;
Vec_Int_t * vInfo, * vPrev, * vLevel;
- int i, Number, nUnique = 0, clk = clock();
+ int i, Number, nUnique = 0;
+ clock_t clk = clock();
// collect infos and remember their number
pMan = Iso_StoStart( pAig );
diff --git a/src/aig/saig/saigIsoSlow.c b/src/aig/saig/saigIsoSlow.c
index 3dcd7777..25cd68f0 100644
--- a/src/aig/saig/saigIsoSlow.c
+++ b/src/aig/saig/saigIsoSlow.c
@@ -290,11 +290,11 @@ struct Iso_Man_t_
Vec_Ptr_t * vClasses; // other classes
Vec_Ptr_t * vTemp1; // other classes
Vec_Ptr_t * vTemp2; // other classes
- int timeHash;
- int timeFout;
- int timeSort;
- int timeOther;
- int timeTotal;
+ clock_t timeHash;
+ clock_t timeFout;
+ clock_t timeSort;
+ clock_t timeOther;
+ clock_t timeTotal;
};
static inline Iso_Obj_t * Iso_ManObj( Iso_Man_t * p, int i ) { assert( i >= 0 && i < p->nObjs ); return i ? p->pObjs + i : NULL; }
@@ -556,7 +556,8 @@ static inline int Iso_ObjHashAdd( Iso_Man_t * p, Iso_Obj_t * pIso )
void Iso_ManCollectClasses( Iso_Man_t * p )
{
Iso_Obj_t * pIso;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
Vec_PtrClear( p->vSingles );
Vec_PtrClear( p->vClasses );
for ( i = 0; i < p->nBins; i++ )
@@ -1171,8 +1172,7 @@ Vec_Int_t * Saig_ManFindIsoPerm( Aig_Man_t * pAig, int fVerbose )
int fVeryVerbose = 0;
Vec_Int_t * vRes;
Iso_Man_t * p;
- int clk, clk2 = clock();
- clk = clock();
+ clock_t clk = clock(), clk2 = clock();
p = Iso_ManCreate( pAig );
p->timeFout += clock() - clk;
Iso_ManPrintClasses( p, fVerbose, fVeryVerbose );
diff --git a/src/aig/saig/saigMiter.c b/src/aig/saig/saigMiter.c
index f7832f10..f3f6f279 100644
--- a/src/aig/saig/saigMiter.c
+++ b/src/aig/saig/saigMiter.c
@@ -1076,7 +1076,8 @@ int Ssw_SecSpecial( Aig_Man_t * pPart0, Aig_Man_t * pPart1, int nFrames, int fVe
// extern int Fra_FraigCec( Aig_Man_t ** ppAig, int nConfLimit, int fVerbose );
int iOut, nOuts;
Aig_Man_t * pMiterCec;
- int RetValue, clkTotal = clock();
+ int RetValue;
+ clock_t clkTotal = clock();
if ( fVerbose )
{
Aig_ManPrintStats( pPart0 );
diff --git a/src/aig/saig/saigRefSat.c b/src/aig/saig/saigRefSat.c
index 6a351e10..d99320ce 100644
--- a/src/aig/saig/saigRefSat.c
+++ b/src/aig/saig/saigRefSat.c
@@ -510,7 +510,7 @@ Abc_Cex_t * Saig_RefManRunSat( Saig_RefMan_t * p, int fNewOrder )
Vec_Int_t * vAssumps, * vVar2PiId;
int i, k, Entry, RetValue;//, f = 0, Counter = 0;
int nCoreLits, * pCoreLits;
- int clk = clock();
+ clock_t clk = clock();
// create CNF
assert( Aig_ManRegNum(p->pFrames) == 0 );
// pCnf = Cnf_Derive( p->pFrames, 0 ); // too slow
@@ -868,7 +868,7 @@ Abc_Cex_t * Saig_ManFindCexCareBits( Aig_Man_t * pAig, Abc_Cex_t * pCex, int nIn
Saig_RefMan_t * p;
Vec_Int_t * vReasons;
Abc_Cex_t * pCare;
- int clk = clock();
+ clock_t clk = clock();
clk = clock();
p = Saig_RefManStart( pAig, pCex, nInputs, fVerbose );
@@ -931,7 +931,7 @@ Vec_Int_t * Saig_ManExtendCounterExampleTest3( Aig_Man_t * pAig, int iFirstFlopP
{
Saig_RefMan_t * p;
Vec_Int_t * vRes, * vReasons;
- int clk;
+ clock_t clk;
if ( Saig_ManPiNum(pAig) != pCex->nPis )
{
printf( "Saig_ManExtendCounterExampleTest3(): The PI count of AIG (%d) does not match that of cex (%d).\n",
diff --git a/src/aig/saig/saigRetFwd.c b/src/aig/saig/saigRetFwd.c
index bbd7f397..006167d5 100644
--- a/src/aig/saig/saigRetFwd.c
+++ b/src/aig/saig/saigRetFwd.c
@@ -213,7 +213,8 @@ Aig_Man_t * Saig_ManRetimeForwardOne( Aig_Man_t * p, int * pnRegFixed, int * pnR
Aig_Man_t * Saig_ManRetimeForward( Aig_Man_t * p, int nMaxIters, int fVerbose )
{
Aig_Man_t * pNew, * pTemp;
- int i, clk, nRegFixed, nRegMoves = 1;
+ int i, nRegFixed, nRegMoves = 1;
+ clock_t clk;
pNew = p;
for ( i = 0; i < nMaxIters && nRegMoves > 0; i++ )
{
diff --git a/src/aig/saig/saigSimExt.c b/src/aig/saig/saigSimExt.c
index c83a7a64..36f3d903 100644
--- a/src/aig/saig/saigSimExt.c
+++ b/src/aig/saig/saigSimExt.c
@@ -521,7 +521,7 @@ Vec_Int_t * Saig_ManExtendCounterExampleTest( Aig_Man_t * p, int iFirstFlopPi, A
{
Vec_Int_t * vRes;
Vec_Ptr_t * vSimInfo;
- int clk;
+ clock_t clk;
if ( Saig_ManPiNum(p) != pCex->nPis )
{
printf( "Saig_ManExtendCounterExampleTest(): The PI count of AIG (%d) does not match that of cex (%d).\n",
diff --git a/src/aig/saig/saigSimExt2.c b/src/aig/saig/saigSimExt2.c
index f5aecc71..335c4034 100644
--- a/src/aig/saig/saigSimExt2.c
+++ b/src/aig/saig/saigSimExt2.c
@@ -337,7 +337,7 @@ Vec_Int_t * Saig_ManExtendCounterExampleTest2( Aig_Man_t * p, int iFirstFlopPi,
{
Vec_Int_t * vRes;
Vec_Ptr_t * vSimInfo;
- int clk;
+ clock_t clk;
if ( Saig_ManPiNum(p) != pCex->nPis )
{
printf( "Saig_ManExtendCounterExampleTest2(): The PI count of AIG (%d) does not match that of cex (%d).\n",
@@ -446,7 +446,7 @@ Abc_Cex_t * Saig_ManFindCexCareBitsSense( Aig_Man_t * p, Abc_Cex_t * pCex, int i
{
Abc_Cex_t * pCare;
Vec_Ptr_t * vSimInfo;
- int clk;
+ clock_t clk;
if ( Saig_ManPiNum(p) != pCex->nPis )
{
printf( "Saig_ManExtendCounterExampleTest2(): The PI count of AIG (%d) does not match that of cex (%d).\n",
diff --git a/src/aig/saig/saigSimFast.c b/src/aig/saig/saigSimFast.c
index 27855bfd..e54e58ac 100644
--- a/src/aig/saig/saigSimFast.c
+++ b/src/aig/saig/saigSimFast.c
@@ -348,7 +348,8 @@ Vec_Int_t * Faig_ManComputeSwitchProbs4( Aig_Man_t * p, int nFrames, int nPref,
Vec_Int_t * vSwitching;
int * pProbs;
float * pSwitching;
- int nFramesReal, clk;//, clkTotal = clock();
+ int nFramesReal;
+ clock_t clk;//, clkTotal = clock();
if ( fProbOne )
fTrans = 0;
vSwitching = Vec_IntStart( Aig_ManObjNumMax(p) );
diff --git a/src/aig/saig/saigSimMv.c b/src/aig/saig/saigSimMv.c
index 11bd088c..71259930 100644
--- a/src/aig/saig/saigSimMv.c
+++ b/src/aig/saig/saigSimMv.c
@@ -881,7 +881,8 @@ Vec_Ptr_t * Saig_MvManSimulate( Aig_Man_t * pAig, int nFramesSymb, int nFramesSa
Vec_Ptr_t * vMap;
Saig_MvMan_t * p;
Saig_MvObj_t * pEntry;
- int f, i, iState, clk = clock();
+ int f, i, iState;
+ clock_t clk = clock();
assert( nFramesSymb >= 1 && nFramesSymb <= nFramesSatur );
// start manager
diff --git a/src/aig/saig/saigSimSeq.c b/src/aig/saig/saigSimSeq.c
index 86c45f37..ee4085b1 100644
--- a/src/aig/saig/saigSimSeq.c
+++ b/src/aig/saig/saigSimSeq.c
@@ -456,7 +456,7 @@ int Raig_ManSimulate( Aig_Man_t * pAig, int nWords, int nIters, int TimeLimit, i
Raig_Man_t * p;
Sec_MtrStatus_t Status;
int i, iPat, RetValue = 0;
- int clk, clkTotal = clock();
+ clock_t clk, clkTotal = clock();
assert( Aig_ManRegNum(pAig) > 0 );
Status = Sec_MiterStatus( pAig );
if ( Status.nSat > 0 )
diff --git a/src/aig/saig/saigStrSim.c b/src/aig/saig/saigStrSim.c
index 5d33595f..2feaba1b 100644
--- a/src/aig/saig/saigStrSim.c
+++ b/src/aig/saig/saigStrSim.c
@@ -877,7 +877,8 @@ Vec_Int_t * Saig_StrSimPerformMatching( Aig_Man_t * p0, Aig_Man_t * p1, int nDis
Vec_Int_t * vPairs;
Aig_Man_t * pPart0, * pPart1;
Aig_Obj_t * pObj0, * pObj1;
- int i, nMatches, clk, clkTotal = clock();
+ int i, nMatches;
+ clock_t clk, clkTotal = clock();
Aig_ManRandom( 1 );
// consider the case when a miter is given
if ( p1 == NULL )
diff --git a/src/aig/saig/saigSwitch.c b/src/aig/saig/saigSwitch.c
index 4c54e3ad..8f4f962f 100644
--- a/src/aig/saig/saigSwitch.c
+++ b/src/aig/saig/saigSwitch.c
@@ -268,7 +268,8 @@ Vec_Int_t * Saig_ManComputeSwitchProb4s( Aig_Man_t * p, int nFrames, int nPref,
Saig_SimObj_t * pAig, * pEntry;
Vec_Int_t * vSwitching;
float * pSwitching;
- int nFramesReal, clk;//, clkTotal = clock();
+ int nFramesReal;
+ clock_t clk;//, clkTotal = clock();
vSwitching = Vec_IntStart( Aig_ManObjNumMax(p) );
pSwitching = (float *)vSwitching->pArray;
clk = clock();
diff --git a/src/aig/saig/saigSynch.c b/src/aig/saig/saigSynch.c
index c592d0a5..28c8150f 100644
--- a/src/aig/saig/saigSynch.c
+++ b/src/aig/saig/saigSynch.c
@@ -504,7 +504,8 @@ Aig_Man_t * Saig_SynchSequenceApply( Aig_Man_t * pAig, int nWords, int fVerbose
Aig_Man_t * pAigZero;
Vec_Str_t * vSequence;
Vec_Ptr_t * vSimInfo;
- int RetValue, clk;
+ int RetValue;
+ clock_t clk;
clk = clock();
// derive synchronization sequence
@@ -557,7 +558,8 @@ Aig_Man_t * Saig_Synchronize( Aig_Man_t * pAig1, Aig_Man_t * pAig2, int nWords,
Aig_Man_t * pAig1z, * pAig2z, * pMiter;
Vec_Str_t * vSeq1, * vSeq2;
Vec_Ptr_t * vSimInfo;
- int RetValue, clk;
+ int RetValue;
+ clock_t clk;
/*
{
unsigned u = Saig_SynchRandomTernary();
diff --git a/src/aig/saig/saigTrans.c b/src/aig/saig/saigTrans.c
index 9be84e31..55c9772a 100644
--- a/src/aig/saig/saigTrans.c
+++ b/src/aig/saig/saigTrans.c
@@ -379,7 +379,7 @@ Aig_Man_t * Saig_ManTimeframeSimplify( Aig_Man_t * pAig, int nFrames, int nFrame
{
// extern Aig_Man_t * Fra_FraigEquivence( Aig_Man_t * pManAig, int nConfMax, int fProve );
Aig_Man_t * pFrames, * pFraig, * pRes1, * pRes2;
- int clk;
+ clock_t clk;
// create uninitialized timeframes with map1
pFrames = Saig_ManFramesNonInitial( pAig, nFrames );
// perform fraiging for the unrolled timeframes
diff --git a/src/base/abc/abc.h b/src/base/abc/abc.h
index 56f1df85..cbebf318 100644
--- a/src/base/abc/abc.h
+++ b/src/base/abc/abc.h
@@ -30,7 +30,6 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
#include "src/misc/vec/vec.h"
#include "src/aig/hop/hop.h"
diff --git a/src/base/abc/abcAig.c b/src/base/abc/abcAig.c
index d594846b..4e725a01 100644
--- a/src/base/abc/abcAig.c
+++ b/src/base/abc/abcAig.c
@@ -589,7 +589,8 @@ void Abc_AigResize( Abc_Aig_t * pMan )
{
Abc_Obj_t ** pBinsNew;
Abc_Obj_t * pEnt, * pEnt2;
- int nBinsNew, Counter, i, clk;
+ int nBinsNew, Counter, i;
+ clock_t clk;
unsigned Key;
clk = clock();
diff --git a/src/base/abc/abcDfs.c b/src/base/abc/abcDfs.c
index 6d67785b..a96263c1 100644
--- a/src/base/abc/abcDfs.c
+++ b/src/base/abc/abcDfs.c
@@ -835,7 +835,8 @@ int Abc_ObjSuppSize( Abc_Obj_t * pObj )
int Abc_NtkSuppSizeTest( Abc_Ntk_t * p )
{
Abc_Obj_t * pObj;
- int i, Counter = 0, clk = clock();
+ int i, Counter = 0;
+ clock_t clk = clock();
Abc_NtkForEachObj( p, pObj, i )
if ( Abc_ObjIsNode(pObj) )
Counter += (Abc_ObjSuppSize(pObj) <= 16);
diff --git a/src/base/abc/abcHieCec.c b/src/base/abc/abcHieCec.c
index b3a3718f..83a332c2 100644
--- a/src/base/abc/abcHieCec.c
+++ b/src/base/abc/abcHieCec.c
@@ -667,7 +667,8 @@ Gia_Man_t * Abc_NtkHieCecTest( char * pFileName, int fVerbose )
Vec_Ptr_t * vMods, * vOrder;
Abc_Ntk_t * pNtk, * pModel;
Gia_Man_t * pGia;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
// read hierarchical netlist
pNtk = Io_ReadBlifMv( pFileName, 0, fCheck );
diff --git a/src/base/abc/abcHieNew.c b/src/base/abc/abcHieNew.c
index d4598ac1..fe1496d9 100644
--- a/src/base/abc/abcHieNew.c
+++ b/src/base/abc/abcHieNew.c
@@ -22,7 +22,6 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
#include "src/misc/vec/vec.h"
#include "src/misc/util/utilNam.h"
@@ -1491,8 +1490,8 @@ Gia_Man_t * Au_ManDeriveTest( Abc_Ntk_t * pRoot )
Abc_Ntk_t * pMod;
Au_Man_t * pMan;
Au_Ntk_t * pNtk = NULL;
- int i, clk1, clk2 = 0, clk3 = 0, clk = clock();
-// int clk4 = 0;
+ clock_t clk1, clk2 = 0, clk3 = 0, clk = clock();
+ int i;
clk1 = clock();
pMan = Au_ManAlloc( pRoot->pDesign ? pRoot->pDesign->pName : pRoot->pName );
@@ -1570,7 +1569,7 @@ Gia_Man_t * Abc_NtkHieCecTest2( char * pFileName, char * pModelName, int fVerbos
int fSimulation = 0;
Gia_Man_t * pGia = NULL;
Au_Ntk_t * pNtk, * pNtkClp = NULL;
- int clk1 = 0, clk = clock();
+ clock_t clk1 = 0, clk = clock();
// read hierarchical netlist
pNtk = Au_NtkParseCBlif( pFileName );
diff --git a/src/base/abci/abc.c b/src/base/abci/abc.c
index 590e5875..03eb8d21 100644
--- a/src/base/abci/abc.c
+++ b/src/base/abci/abc.c
@@ -10986,7 +10986,8 @@ int Abc_CommandIProve( Abc_Frame_t * pAbc, int argc, char ** argv )
{
Prove_Params_t Params, * pParams = &Params;
Abc_Ntk_t * pNtk, * pNtkTemp;
- int c, clk, RetValue, iOut = -1;
+ int c, RetValue, iOut = -1;
+ clock_t clk;
extern int Abc_NtkIvyProve( Abc_Ntk_t ** ppNtk, void * pPars );
@@ -18797,7 +18798,7 @@ int Abc_CommandSat( Abc_Frame_t * pAbc, int argc, char ** argv )
int fVerbose;
int nConfLimit;
int nInsLimit;
- int clk;
+ clock_t clk;
// set defaults
fVerbose = 0;
nConfLimit = 0;
@@ -18927,7 +18928,7 @@ int Abc_CommandDSat( Abc_Frame_t * pAbc, int argc, char ** argv )
int fVerbose;
int nConfLimit;
int nInsLimit;
- int clk;
+ clock_t clk;
extern int Abc_NtkDSat( Abc_Ntk_t * pNtk, ABC_INT64_T nConfLimit, ABC_INT64_T nInsLimit, int fAlignPol, int fAndOuts, int fNewSolver, int fVerbose );
// set defaults
@@ -19057,7 +19058,7 @@ int Abc_CommandPSat( Abc_Frame_t * pAbc, int argc, char ** argv )
{
Abc_Ntk_t * pNtk = Abc_FrameReadNtk(pAbc);
int RetValue;
- int c, clk;
+ int c;
int nAlgo;
int nPartSize;
int nConfPart;
@@ -19065,6 +19066,7 @@ int Abc_CommandPSat( Abc_Frame_t * pAbc, int argc, char ** argv )
int fAlignPol;
int fSynthesize;
int fVerbose;
+ clock_t clk;
extern int Abc_NtkPartitionedSat( Abc_Ntk_t * pNtk, int nAlgo, int nPartSize, int nConfPart, int nConfTotal, int fAlignPol, int fSynthesize, int fVerbose );
// set defaults
@@ -19215,7 +19217,8 @@ int Abc_CommandProve( Abc_Frame_t * pAbc, int argc, char ** argv )
{
Abc_Ntk_t * pNtk, * pNtkTemp;
Prove_Params_t Params, * pParams = &Params;
- int c, clk, RetValue;
+ int c, RetValue;
+ clock_t clk;
pNtk = Abc_FrameReadNtk(pAbc);
// set defaults
diff --git a/src/base/abci/abcAuto.c b/src/base/abci/abcAuto.c
index e1e479e3..7b4d7694 100644
--- a/src/base/abci/abcAuto.c
+++ b/src/base/abci/abcAuto.c
@@ -128,7 +128,7 @@ void Abc_NtkAutoPrintAll( DdManager * dd, int nInputs, DdNode * pbOutputs[], int
int nAutoSymsMaxSupp;
int nAutoSymOuts;
int nSuppSizeMax;
- int clk;
+ clock_t clk;
nAutoSymOuts = 0;
nAutoSyms = 0;
diff --git a/src/base/abci/abcBidec.c b/src/base/abci/abcBidec.c
index fc093420..507b7355 100644
--- a/src/base/abci/abcBidec.c
+++ b/src/base/abci/abcBidec.c
@@ -114,7 +114,7 @@ void Abc_NtkBidecResyn( Abc_Ntk_t * pNtk, int fVerbose )
Abc_Obj_t * pObj;
Vec_Int_t * vTruth;
int i, nGainTotal = 0, nNodes1, nNodes2;
- int clk = clock();
+ clock_t clk = clock();
assert( Abc_NtkIsLogic(pNtk) );
if ( !Abc_NtkToAig(pNtk) )
return;
diff --git a/src/base/abci/abcBm.c b/src/base/abci/abcBm.c
index d2f80aeb..19c8e9ff 100644
--- a/src/base/abci/abcBm.c
+++ b/src/base/abci/abcBm.c
@@ -870,7 +870,8 @@ int Abc_NtkMiterSatBm( Abc_Ntk_t * pNtk, ABC_INT64_T nConfLimit, ABC_INT64_T nIn
{
static sat_solver * pSat = NULL;
lbool status;
- int RetValue, clk;
+ int RetValue;
+ clock_t clk;
extern int Abc_NodeAddClausesTop( sat_solver * pSat, Abc_Obj_t * pNode, Vec_Int_t * vVars );
extern Vec_Int_t * Abc_NtkGetCiSatVarNums( Abc_Ntk_t * pNtk );
@@ -1582,7 +1583,7 @@ float refineBySAT(Abc_Ntk_t * pNtk1, Vec_Int_t ** iMatch1, int * iGroup1, Vec_In
Vec_Int_t * oMatchedGroups;
FILE *result;
int matchFound;
- int clk = clock();
+ clock_t clk = clock();
float satTime = 0.0;
/*matchFile = fopen("satmatch.txt", "w");*/
@@ -1787,7 +1788,7 @@ void bmGateWay( Abc_Ntk_t * pNtk1, Abc_Ntk_t * pNtk2, int p_equivalence )
char * vPiValues1, * vPiValues2;
int * observability1, * observability2;
- int clk = clock();
+ clock_t clk = clock();
float initTime;
float simulTime;
float satTime;
diff --git a/src/base/abci/abcCas.c b/src/base/abci/abcCas.c
index 7e80c919..51ab4130 100644
--- a/src/base/abci/abcCas.c
+++ b/src/base/abci/abcCas.c
@@ -60,8 +60,8 @@ Abc_Ntk_t * Abc_NtkCascade( Abc_Ntk_t * pNtk, int nLutSize, int fCheck, int fVer
Abc_Obj_t * pNode;
char * pFileGeneric;
int fBddSizeMax = 500000;
- int fReorder = 1;
- int i, clk = clock();
+ int i, fReorder = 1;
+ clock_t clk = clock();
assert( Abc_NtkIsStrash(pNtk) );
// compute the global BDDs
diff --git a/src/base/abci/abcCollapse.c b/src/base/abci/abcCollapse.c
index 69525e2f..e6a6db79 100644
--- a/src/base/abci/abcCollapse.c
+++ b/src/base/abci/abcCollapse.c
@@ -49,7 +49,7 @@ static Abc_Obj_t * Abc_NodeFromGlobalBdds( Abc_Ntk_t * pNtkNew, DdManager * dd,
Abc_Ntk_t * Abc_NtkCollapse( Abc_Ntk_t * pNtk, int fBddSizeMax, int fDualRail, int fReorder, int fVerbose )
{
Abc_Ntk_t * pNtkNew;
- int clk = clock();
+ clock_t clk = clock();
assert( Abc_NtkIsStrash(pNtk) );
// compute the global BDDs
diff --git a/src/base/abci/abcCut.c b/src/base/abci/abcCut.c
index 6116649e..a2ab9315 100644
--- a/src/base/abci/abcCut.c
+++ b/src/base/abci/abcCut.c
@@ -128,7 +128,7 @@ Cut_Man_t * Abc_NtkCuts( Abc_Ntk_t * pNtk, Cut_Params_t * pParams )
Vec_Ptr_t * vNodes;
Vec_Int_t * vChoices;
int i;
- int clk = clock();
+ clock_t clk = clock();
extern void Abc_NtkBalanceAttach( Abc_Ntk_t * pNtk );
extern void Abc_NtkBalanceDetach( Abc_Ntk_t * pNtk );
diff --git a/src/base/abci/abcDar.c b/src/base/abci/abcDar.c
index a5ae7e9b..82b3d916 100644
--- a/src/base/abci/abcDar.c
+++ b/src/base/abci/abcDar.c
@@ -1047,7 +1047,7 @@ Abc_Ntk_t * Abc_NtkDRewrite( Abc_Ntk_t * pNtk, Dar_RwrPar_t * pPars )
{
Aig_Man_t * pMan, * pTemp;
Abc_Ntk_t * pNtkAig;
- int clk;
+ clock_t clk;
assert( Abc_NtkIsStrash(pNtk) );
pMan = Abc_NtkToDar( pNtk, 0, 0 );
if ( pMan == NULL )
@@ -1091,7 +1091,7 @@ Abc_Ntk_t * Abc_NtkDRefactor( Abc_Ntk_t * pNtk, Dar_RefPar_t * pPars )
{
Aig_Man_t * pMan, * pTemp;
Abc_Ntk_t * pNtkAig;
- int clk;
+ clock_t clk;
assert( Abc_NtkIsStrash(pNtk) );
pMan = Abc_NtkToDar( pNtk, 0, 0 );
if ( pMan == NULL )
@@ -1128,7 +1128,7 @@ Abc_Ntk_t * Abc_NtkDC2( Abc_Ntk_t * pNtk, int fBalance, int fUpdateLevel, int fF
{
Aig_Man_t * pMan, * pTemp;
Abc_Ntk_t * pNtkAig;
- int clk;
+ clock_t clk;
assert( Abc_NtkIsStrash(pNtk) );
pMan = Abc_NtkToDar( pNtk, 0, 0 );
if ( pMan == NULL )
@@ -1191,7 +1191,7 @@ Abc_Ntk_t * Abc_NtkDch( Abc_Ntk_t * pNtk, Dch_Pars_t * pPars )
Aig_Man_t * pMan, * pTemp;
Abc_Ntk_t * pNtkAig;
Gia_Man_t * pGia;
- int clk;
+ clock_t clk;
assert( Abc_NtkIsStrash(pNtk) );
pMan = Abc_NtkToDar( pNtk, 0, 0 );
if ( pMan == NULL )
@@ -1234,7 +1234,7 @@ Abc_Ntk_t * Abc_NtkDrwsat( Abc_Ntk_t * pNtk, int fBalance, int fVerbose )
{
Aig_Man_t * pMan, * pTemp;
Abc_Ntk_t * pNtkAig;
- int clk;
+ clock_t clk;
assert( Abc_NtkIsStrash(pNtk) );
pMan = Abc_NtkToDar( pNtk, 0, 0 );
if ( pMan == NULL )
@@ -1342,7 +1342,7 @@ Abc_Ntk_t * Abc_NtkDarToCnf( Abc_Ntk_t * pNtk, char * pFileName, int fFastAlgo,
// Cnf_Man_t * pManCnf = NULL;
Cnf_Dat_t * pCnf;
Abc_Ntk_t * pNtkNew = NULL;
- int clk = clock();
+ clock_t clk = clock();
assert( Abc_NtkIsStrash(pNtk) );
// convert to the AIG manager
@@ -1457,7 +1457,8 @@ int Abc_NtkDarCec( Abc_Ntk_t * pNtk1, Abc_Ntk_t * pNtk2, int nConfLimit, int fPa
{
Aig_Man_t * pMan, * pMan1, * pMan2;
Abc_Ntk_t * pMiter;
- int RetValue, clkTotal = clock();
+ int RetValue;
+ clock_t clkTotal = clock();
/*
{
extern void Cec_ManVerifyTwoAigs( Aig_Man_t * pAig0, Aig_Man_t * pAig1, int fVerbose );
@@ -1574,7 +1575,7 @@ Abc_Ntk_t * Abc_NtkDarSeqSweep( Abc_Ntk_t * pNtk, Fra_Ssw_t * pPars )
Fraig_Params_t Params;
Abc_Ntk_t * pNtkAig = NULL, * pNtkFraig;
Aig_Man_t * pMan, * pTemp;
- int clk = clock();
+ clock_t clk = clock();
// preprocess the miter by fraiging it
// (note that for each functional class, fraiging leaves one representative;
@@ -1857,8 +1858,9 @@ int Abc_NtkDarBmc( Abc_Ntk_t * pNtk, int nStart, int nFrames, int nSizeMax, int
{
Aig_Man_t * pMan;
Vec_Int_t * vMap = NULL;
- int status, RetValue = -1, clk = clock();
- int nTimeLimit = nTimeOut ? time(NULL) + nTimeOut : 0;
+ int status, RetValue = -1;
+ clock_t clk = clock();
+ clock_t nTimeLimit = nTimeOut ? nTimeOut * CLOCKS_PER_SEC + clock(): 0;
// derive the AIG manager
if ( fOrDecomp )
pMan = Abc_NtkToDarBmc( pNtk, &vMap );
@@ -1889,7 +1891,7 @@ int Abc_NtkDarBmc( Abc_Ntk_t * pNtk, int nStart, int nFrames, int nSizeMax, int
else if ( RetValue == -1 )
{
Abc_Print( 1, "No output asserted in %d frames. Resource limit reached ", Abc_MaxInt(iFrame,0) );
- if ( nTimeLimit && time(NULL) > nTimeLimit )
+ if ( nTimeLimit && clock() > nTimeLimit )
Abc_Print( 1, "(timeout %d sec). ", nTimeLimit );
else
Abc_Print( 1, "(conf limit %d). ", nBTLimit );
@@ -1938,8 +1940,9 @@ int Abc_NtkDarBmc3( Abc_Ntk_t * pNtk, Saig_ParBmc_t * pPars, int fOrDecomp )
{
Aig_Man_t * pMan;
Vec_Int_t * vMap = NULL;
- int status, RetValue = -1, clk = clock();
- int nTimeOut = pPars->nTimeOut ? time(NULL) + pPars->nTimeOut : 0;
+ int status, RetValue = -1;
+ clock_t clk = clock();
+ clock_t nTimeOut = pPars->nTimeOut ? pPars->nTimeOut * CLOCKS_PER_SEC + clock(): 0;
if ( fOrDecomp && !pPars->fSolveAll )
pMan = Abc_NtkToDarBmc( pNtk, &vMap );
else
@@ -1966,7 +1969,7 @@ int Abc_NtkDarBmc3( Abc_Ntk_t * pNtk, Saig_ParBmc_t * pPars, int fOrDecomp )
if ( pPars->nFailOuts == 0 )
{
Abc_Print( 1, "No output asserted in %d frames. Resource limit reached ", Abc_MaxInt(pPars->iFrame,0) );
- if ( nTimeOut && time(NULL) > nTimeOut )
+ if ( nTimeOut && clock() > nTimeOut )
Abc_Print( 1, "(timeout %d sec). ", pPars->nTimeOut );
else
Abc_Print( 1, "(conf limit %d). ", pPars->nConfLimit );
@@ -1974,7 +1977,7 @@ int Abc_NtkDarBmc3( Abc_Ntk_t * pNtk, Saig_ParBmc_t * pPars, int fOrDecomp )
else
{
Abc_Print( 1, "The total of %d outputs asserted in %d frames. Resource limit reached ", pPars->nFailOuts, pPars->iFrame );
- if ( time(NULL) > nTimeOut )
+ if ( clock() > nTimeOut )
Abc_Print( 1, "(timeout %d sec). ", pPars->nTimeOut );
else
Abc_Print( 1, "(conf limit %d). ", pPars->nConfLimit );
@@ -2030,7 +2033,8 @@ int Abc_NtkDarBmc3( Abc_Ntk_t * pNtk, Saig_ParBmc_t * pPars, int fOrDecomp )
***********************************************************************/
int Abc_NtkDarBmcInter_int( Aig_Man_t * pMan, Inter_ManParams_t * pPars, Aig_Man_t ** ppNtkRes )
{
- int RetValue = -1, iFrame, clk = clock();
+ int RetValue = -1, iFrame;
+ clock_t clk = clock();
int nTotalProvedSat = 0;
assert( pMan->nRegs > 0 );
if ( ppNtkRes )
@@ -2354,12 +2358,14 @@ int Abc_NtkDarDemiterDual( Abc_Ntk_t * pNtk, int fVerbose )
int Abc_NtkDarProve( Abc_Ntk_t * pNtk, Fra_Sec_t * pSecPar, int nBmcFramesMax, int nBmcConfMax )
{
Aig_Man_t * pMan;
- int iFrame = -1, RetValue = -1, clkTotal = clock();
+ int iFrame = -1, RetValue = -1;
+ clock_t clkTotal = clock();
if ( pSecPar->fTryComb || Abc_NtkLatchNum(pNtk) == 0 )
{
Prove_Params_t Params, * pParams = &Params;
Abc_Ntk_t * pNtkComb;
- int RetValue, clk = clock();
+ int RetValue;
+ clock_t clk = clock();
if ( Abc_NtkLatchNum(pNtk) == 0 )
Abc_Print( 1, "The network has no latches. Running CEC.\n" );
// create combinational network
@@ -2549,7 +2555,8 @@ int Abc_NtkDarSec( Abc_Ntk_t * pNtk1, Abc_Ntk_t * pNtk2, Fra_Sec_t * pSecPar )
***********************************************************************/
int Abc_NtkDarPdr( Abc_Ntk_t * pNtk, Pdr_Par_t * pPars, Abc_Cex_t ** ppCex )
{
- int RetValue = -1, clk = clock();
+ int RetValue = -1;
+ clock_t clk = clock();
Aig_Man_t * pMan;
*ppCex = NULL;
pMan = Abc_NtkToDar( pNtk, 0, 1 );
@@ -3004,7 +3011,8 @@ int Abc_NtkDarSeqSim( Abc_Ntk_t * pNtk, int nFrames, int nWords, int TimeOut, in
extern int Raig_ManSimulate( Aig_Man_t * pAig, int nWords, int nIters, int TimeLimit, int fMiter, int fVerbose );
Aig_Man_t * pMan;
Abc_Cex_t * pCex;
- int status, RetValue = -1, clk = clock();
+ int status, RetValue = -1;
+ clock_t clk = clock();
if ( Abc_NtkGetChoiceNum(pNtk) )
{
Abc_Print( 1, "Removing %d choices from the AIG.\n", Abc_NtkGetChoiceNum(pNtk) );
@@ -3194,7 +3202,8 @@ int Abc_NtkDarSeqSim( Abc_Ntk_t * pNtk, int nFrames, int nWords, int TimeOut, in
int Abc_NtkDarSeqSim3( Abc_Ntk_t * pNtk, int nFrames, int nWords, int nBinSize, int nRounds, int nRandSeed, int TimeOut, int fVerbose )
{
Aig_Man_t * pMan;
- int status, RetValue = -1, clk = clock();
+ int status, RetValue = -1;
+ clock_t clk = clock();
if ( Abc_NtkGetChoiceNum(pNtk) )
{
Abc_Print( 1, "Removing %d choices from the AIG.\n", Abc_NtkGetChoiceNum(pNtk) );
@@ -3328,7 +3337,7 @@ Abc_Ntk_t * Abc_NtkDarTempor( Abc_Ntk_t * pNtk, int nFrames, int TimeOut, int nC
int Abc_NtkDarInduction( Abc_Ntk_t * pNtk, int nFramesMax, int nConfMax, int fUnique, int fUniqueAll, int fGetCex, int fVerbose, int fVeryVerbose )
{
Aig_Man_t * pMan;
- int clkTotal = clock();
+ clock_t clkTotal = clock();
int RetValue;
pMan = Abc_NtkToDar( pNtk, 0, 1 );
if ( pMan == NULL )
@@ -3442,9 +3451,9 @@ void Abc_NtkInterFast( Abc_Ntk_t * pNtkOn, Abc_Ntk_t * pNtkOff, int fVerbose )
Aig_ManStop( pManOff );
}
-int timeCnf;
-int timeSat;
-int timeInt;
+clock_t timeCnf;
+clock_t timeSat;
+clock_t timeInt;
/**Function*************************************************************
diff --git a/src/base/abci/abcDebug.c b/src/base/abci/abcDebug.c
index baf87944..ebed2efa 100644
--- a/src/base/abci/abcDebug.c
+++ b/src/base/abci/abcDebug.c
@@ -51,7 +51,8 @@ void Abc_NtkAutoDebug( Abc_Ntk_t * pNtk, int (*pFuncError) (Abc_Ntk_t *) )
{
Abc_Ntk_t * pNtkMod;
char * pFileName = "bug_found.blif";
- int i, nSteps, nIter, ModNum, RandNum = 1, clk, clkTotal = clock();
+ int i, nSteps, nIter, ModNum, RandNum = 1;
+ clock_t clk, clkTotal = clock();
assert( Abc_NtkIsLogic(pNtk) );
srand( 0x123123 );
// create internal copy of the network
diff --git a/src/base/abci/abcDress2.c b/src/base/abci/abcDress2.c
index efd7db3b..84bf1229 100644
--- a/src/base/abci/abcDress2.c
+++ b/src/base/abci/abcDress2.c
@@ -358,7 +358,7 @@ void Abc_NtkDressPrintEquivs( Vec_Ptr_t * vRes )
SeeAlso []
***********************************************************************/
-void Abc_NtkDressPrintStats( Vec_Ptr_t * vRes, int nNodes0, int nNodes1, int Time )
+void Abc_NtkDressPrintStats( Vec_Ptr_t * vRes, int nNodes0, int nNodes1, clock_t Time )
{
Vec_Int_t * vClass;
int i, k, Entry;
@@ -419,7 +419,7 @@ void Abc_NtkDressPrintStats( Vec_Ptr_t * vRes, int nNodes0, int nNodes1, int Tim
void Abc_NtkDress2( Abc_Ntk_t * pNtk1, Abc_Ntk_t * pNtk2, int nConflictLimit, int fVerbose )
{
Vec_Ptr_t * vRes;
- int clk = clock();
+ clock_t clk = clock();
vRes = Abc_NtkDressComputeEquivs( pNtk1, pNtk2, nConflictLimit, fVerbose );
// Abc_NtkDressPrintEquivs( vRes );
Abc_NtkDressPrintStats( vRes, Abc_NtkNodeNum(pNtk1), Abc_NtkNodeNum(pNtk1), clock() - clk );
diff --git a/src/base/abci/abcIf.c b/src/base/abci/abcIf.c
index cf32d8ec..0a4b9d56 100644
--- a/src/base/abci/abcIf.c
+++ b/src/base/abci/abcIf.c
@@ -70,7 +70,8 @@ void Abc_NtkIfComputeSwitching( Abc_Ntk_t * pNtk, If_Man_t * pIfMan )
Aig_Obj_t * pObjAig;
Aig_Man_t * pAig;
If_Obj_t * pObjIf;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
// map IF objects into old network
Abc_NtkForEachObj( pNtk, pObjAbc, i )
if ( (pObjIf = (If_Obj_t *)pObjAbc->pTemp) )
diff --git a/src/base/abci/abcIvy.c b/src/base/abci/abcIvy.c
index c2637a08..0c422ab5 100644
--- a/src/base/abci/abcIvy.c
+++ b/src/base/abci/abcIvy.c
@@ -197,7 +197,7 @@ Abc_Ntk_t * Abc_NtkIvyHaig( Abc_Ntk_t * pNtk, int nIters, int fUseZeroCost, int
{
Abc_Ntk_t * pNtkAig;
Ivy_Man_t * pMan;
- int clk;
+ clock_t clk;
// int i;
/*
extern int nMoves;
diff --git a/src/base/abci/abcLutmin.c b/src/base/abci/abcLutmin.c
index bbea264c..bdeb53ff 100644
--- a/src/base/abci/abcLutmin.c
+++ b/src/base/abci/abcLutmin.c
@@ -85,7 +85,8 @@ void Abc_NtkCheckAbsorb( Abc_Ntk_t * pNtk, int nLutSize )
Vec_Int_t * vCounts;
Vec_Ptr_t * vFanins;
Abc_Obj_t * pObj, * pFanin;
- int i, k, Counter = 0, Counter2 = 0, clk = clock();
+ int i, k, Counter = 0, Counter2 = 0;
+ clock_t clk = clock();
vCounts = Vec_IntStart( Abc_NtkObjNumMax(pNtk) );
vFanins = Vec_PtrAlloc( 100 );
Abc_NtkForEachNode( pNtk, pObj, i )
diff --git a/src/base/abci/abcMap.c b/src/base/abci/abcMap.c
index 723e5688..988da5c2 100644
--- a/src/base/abci/abcMap.c
+++ b/src/base/abci/abcMap.c
@@ -64,7 +64,7 @@ Abc_Ntk_t * Abc_NtkMap( Abc_Ntk_t * pNtk, double DelayTarget, int fRecovery, int
Map_Man_t * pMan;
Vec_Int_t * vSwitching = NULL;
float * pSwitching = NULL;
- int clk, clkTotal = clock();
+ clock_t clk, clkTotal = clock();
assert( Abc_NtkIsStrash(pNtk) );
diff --git a/src/base/abci/abcMerge.c b/src/base/abci/abcMerge.c
index 917a97da..cc606488 100644
--- a/src/base/abci/abcMerge.c
+++ b/src/base/abci/abcMerge.c
@@ -285,7 +285,8 @@ Vec_Int_t * Abc_NtkLutMerge( Abc_Ntk_t * pNtk, Nwk_LMPars_t * pPars )
Vec_Int_t * vResult;
Vec_Ptr_t * vStart, * vNext, * vCands1, * vCands2;
Abc_Obj_t * pLut, * pCand;
- int i, k, nVertsMax, nCands, clk = clock();
+ int i, k, nVertsMax, nCands;
+ clock_t clk = clock();
// count the number of vertices
nVertsMax = 0;
Abc_NtkForEachNode( pNtk, pLut, i )
diff --git a/src/base/abci/abcMffc.c b/src/base/abci/abcMffc.c
index f26cd233..3a911c67 100644
--- a/src/base/abci/abcMffc.c
+++ b/src/base/abci/abcMffc.c
@@ -545,7 +545,8 @@ void Abc_NktMffcTestSuper( Abc_Ntk_t * pNtk )
Abc_Obj_t * pObj, * pFanin;
Vec_Int_t * vCounts, * vNumbers, * vSizes, * vMarks;
Vec_Int_t * vNode1, * vNode2;
- int i, k, Entry, nSizes, clk = clock();
+ int i, k, Entry, nSizes;
+ clock_t clk = clock();
vRoots = Abc_NktMffcMarkRoots( pNtk, 1 );
vFanins = Vec_PtrStart( Abc_NtkObjNumMax(pNtk) );
vFanouts = Vec_PtrStart( Abc_NtkObjNumMax(pNtk) );
@@ -892,7 +893,8 @@ Vec_Ptr_t * Abc_NktMffcDerive( Abc_Ntk_t * pNtk, Vec_Ptr_t ** pvFanins, Vec_Ptr_
{
Vec_Ptr_t * vRoots, * vFanins, * vFanouts, * vVolumes, * vNodes, * vLeaves;
Abc_Obj_t * pObj, * pFanin;
- int i, k, clk = clock();
+ int i, k;
+ clock_t clk = clock();
// create roots
vRoots = Abc_NktMffcMarkRoots( pNtk, 0 );
// create fanins/fanouts/volumes
@@ -1205,7 +1207,8 @@ void Abc_NktMffcServerTest( Abc_Ntk_t * pNtk )
Vec_Ptr_t * vGlobs;
Vec_Int_t * vGlob, * vLeaves, * vRoots;
double Cost, CostAll = 0.0;
- int i, k, Entry, nNodes = 0, clk = clock();
+ int i, k, Entry, nNodes = 0;
+ clock_t clk = clock();
vGlobs = Abc_NktMffcServer( pNtk, 18, 3 );
vLeaves = Vec_IntAlloc( 100 );
vRoots = Vec_IntAlloc( 100 );
diff --git a/src/base/abci/abcNpnSave.c b/src/base/abci/abcNpnSave.c
index b57d2ef3..b99b1e52 100644
--- a/src/base/abci/abcNpnSave.c
+++ b/src/base/abci/abcNpnSave.c
@@ -392,7 +392,8 @@ void Npn_ManResize( Npn_Man_t * p )
{
Npn_Obj_t * pEntry, * pNext;
int * pBinsOld, * ppPlace;
- int nBinsOld, Counter, i, clk;
+ int nBinsOld, Counter, i;
+ clock_t clk;
assert( p->pBins != NULL );
clk = clock();
// save the old Bins
diff --git a/src/base/abci/abcNtbdd.c b/src/base/abci/abcNtbdd.c
index a1fab695..2fac9497 100644
--- a/src/base/abci/abcNtbdd.c
+++ b/src/base/abci/abcNtbdd.c
@@ -571,7 +571,8 @@ void Abc_NtkBddImplicationTest()
DdNode * bImp, * bSum, * bTemp;
int nVars = 200;
int nImps = 200;
- int i, clk;
+ int i;
+ clock_t clk;
clk = clock();
dd = Cudd_Init( nVars, 0, CUDD_UNIQUE_SLOTS, CUDD_CACHE_SLOTS, 0 );
Cudd_AutodynEnable( dd, CUDD_REORDER_SIFT );
diff --git a/src/base/abci/abcOdc.c b/src/base/abci/abcOdc.c
index e0f6d6de..ff85035b 100644
--- a/src/base/abci/abcOdc.c
+++ b/src/base/abci/abcOdc.c
@@ -86,14 +86,14 @@ struct Odc_Man_t_
int nTotalDcs; // total percentage of DCs
// runtime
- int timeClean; // windowing
- int timeWin; // windowing
- int timeMiter; // computing the miter
- int timeSim; // simulation
- int timeQuant; // quantification
- int timeTruth; // truth table
- int timeTotal; // useful runtime
- int timeAbort; // aborted runtime
+ clock_t timeClean; // windowing
+ clock_t timeWin; // windowing
+ clock_t timeMiter; // computing the miter
+ clock_t timeSim; // simulation
+ clock_t timeQuant; // quantification
+ clock_t timeTruth; // truth table
+ clock_t timeTotal; // useful runtime
+ clock_t timeAbort; // aborted runtime
};
@@ -241,7 +241,7 @@ Odc_Man_t * Abc_NtkDontCareAlloc( int nVarsMax, int nLevels, int fVerbose, int f
***********************************************************************/
void Abc_NtkDontCareClear( Odc_Man_t * p )
{
- int clk = clock();
+ clock_t clk = clock();
// clean the structural hashing table
if ( Vec_IntSize(p->vUsedSpots) > p->nTableSize/3 ) // more than one third
memset( p->pTable, 0, sizeof(Odc_Lit_t) * p->nTableSize );
@@ -1033,7 +1033,7 @@ int Abc_NtkDontCareSimulateBefore( Odc_Man_t * p, unsigned * puTruth )
int Abc_NtkDontCareCompute( Odc_Man_t * p, Abc_Obj_t * pNode, Vec_Ptr_t * vLeaves, unsigned * puTruth )
{
int nMints, RetValue;
- int clk, clkTotal = clock();
+ clock_t clk, clkTotal = clock();
p->nWins++;
diff --git a/src/base/abci/abcPart.c b/src/base/abci/abcPart.c
index 7ae435d8..163c81b9 100644
--- a/src/base/abci/abcPart.c
+++ b/src/base/abci/abcPart.c
@@ -725,7 +725,8 @@ Vec_Ptr_t * Abc_NtkPartitionSmart( Abc_Ntk_t * pNtk, int nSuppSizeLimit, int fVe
Vec_Ptr_t * vPartSuppsChar;
Vec_Ptr_t * vSupps, * vPartsAll, * vPartsAll2, * vPartSuppsAll;
Vec_Int_t * vOne, * vPart, * vPartSupp, * vTemp;
- int i, iPart, iOut, clk, clk2, timeFind = 0;
+ int i, iPart, iOut, timeFind = 0;
+ clock_t clk, clk2;
// compute the supports for all outputs
clk = clock();
@@ -1163,7 +1164,7 @@ void Abc_NtkFraigPartitionedTime( Abc_Ntk_t * pNtk, void * pParams )
Vec_Int_t * vOne;
Abc_Ntk_t * pNtkAig, * pNtkFraig;
int i;
- int clk = clock();
+ clock_t clk = clock();
// perform partitioning
assert( Abc_NtkIsStrash(pNtk) );
diff --git a/src/base/abci/abcPrint.c b/src/base/abci/abcPrint.c
index 664ddec1..c0f97530 100644
--- a/src/base/abci/abcPrint.c
+++ b/src/base/abci/abcPrint.c
@@ -1294,7 +1294,8 @@ void Abc_ObjPrint( FILE * pFile, Abc_Obj_t * pObj )
void Abc_NtkPrintMiter( Abc_Ntk_t * pNtk )
{
Abc_Obj_t * pObj, * pChild, * pConst1 = Abc_AigConst1(pNtk);
- int i, iOut = -1, Time = clock();
+ int i, iOut = -1;
+ clock_t Time = clock();
int nUnsat = 0;
int nSat = 0;
int nUndec = 0;
diff --git a/src/base/abci/abcProve.c b/src/base/abci/abcProve.c
index 3a6c42a4..f4bd89ef 100644
--- a/src/base/abci/abcProve.c
+++ b/src/base/abci/abcProve.c
@@ -60,7 +60,8 @@ int Abc_NtkMiterProve( Abc_Ntk_t ** ppNtk, void * pPars )
{
Prove_Params_t * pParams = (Prove_Params_t *)pPars;
Abc_Ntk_t * pNtk, * pNtkTemp;
- int RetValue = -1, nIter, nSatFails, Counter, clk; //, timeStart = clock();
+ int RetValue = -1, nIter, nSatFails, Counter;
+ clock_t clk; //, timeStart = clock();
ABC_INT64_T nSatConfs, nSatInspects, nInspectLimit;
// get the starting network
diff --git a/src/base/abci/abcQbf.c b/src/base/abci/abcQbf.c
index 98cb3eb6..2fec2a07 100644
--- a/src/base/abci/abcQbf.c
+++ b/src/base/abci/abcQbf.c
@@ -64,7 +64,7 @@ void Abc_NtkQbf( Abc_Ntk_t * pNtk, int nPars, int nItersMax, int fVerbose )
{
Abc_Ntk_t * pNtkVer, * pNtkSyn, * pNtkSyn2, * pNtkTemp;
Vec_Int_t * vPiValues;
- int clkTotal = clock(), clkS, clkV;
+ clock_t clkTotal = clock(), clkS, clkV;
int nIters, nIterMax = 500, nInputs, RetValue, fFound = 0;
assert( Abc_NtkIsStrash(pNtk) );
diff --git a/src/base/abci/abcQuant.c b/src/base/abci/abcQuant.c
index 7185cf8d..0951795f 100644
--- a/src/base/abci/abcQuant.c
+++ b/src/base/abci/abcQuant.c
@@ -327,10 +327,11 @@ Abc_Ntk_t * Abc_NtkReachability( Abc_Ntk_t * pNtkRel, int nIters, int fVerbose )
{
Abc_Obj_t * pObj;
Abc_Ntk_t * pNtkFront, * pNtkReached, * pNtkNext, * pNtkTemp;
- int clk, i, v, nVars, nNodesOld, nNodesNew, nNodesPrev;
+ int i, v, nVars, nNodesOld, nNodesNew, nNodesPrev;
int fFixedPoint = 0;
int fSynthesis = 1;
int fMoreEffort = 1;
+ clock_t clk;
assert( Abc_NtkIsStrash(pNtkRel) );
assert( Abc_NtkLatchNum(pNtkRel) == 0 );
diff --git a/src/base/abci/abcReach.c b/src/base/abci/abcReach.c
index e1ffa309..216dc2d2 100644
--- a/src/base/abci/abcReach.c
+++ b/src/base/abci/abcReach.c
@@ -258,7 +258,8 @@ void Abc_NtkVerifyUsingBdds( Abc_Ntk_t * pNtk, int nBddMax, int nIterMax, int fP
DdManager * dd;
DdNode ** pbParts;
DdNode * bOutput, * bReached, * bInitial;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
assert( Abc_NtkIsStrash(pNtk) );
assert( Abc_NtkPoNum(pNtk) == 1 );
diff --git a/src/base/abci/abcRec.c b/src/base/abci/abcRec.c
index 4e5b7d6e..276f29c9 100644
--- a/src/base/abci/abcRec.c
+++ b/src/base/abci/abcRec.c
@@ -107,23 +107,23 @@ struct Abc_ManRec_t_
int nFunsDelayComput; // the times delay computed, just for statistics
int nNoBetter; // the number of functions found but no better than the current structures.
// rewriting runtime
- int timeIfTotal; // time used on the whole process of rewriting a structure.
- int timeIfComputDelay; // time used on the structure's delay computation.
- int timeIfCanonicize; // time used on canonicize the function
- int timeIfDerive; // time used on derive the final network;
- int timeIfCopmutCur; // time used on compute the current structures info
- int timeIfOther; // time used on other things
+ clock_t timeIfTotal; // time used on the whole process of rewriting a structure.
+ clock_t timeIfComputDelay; // time used on the structure's delay computation.
+ clock_t timeIfCanonicize; // time used on canonicize the function
+ clock_t timeIfDerive; // time used on derive the final network;
+ clock_t timeIfCopmutCur; // time used on compute the current structures info
+ clock_t timeIfOther; // time used on other things
// record runtime
- int timeTrim; // the runtime to filter the library
- int timeCollect; // the runtime to collect the node of a structure.
- int timeTruth; // the runtime to compute truth table.
- int timeCanon; // the runtime to canonicize
- int timeInsert; // the runtime to insert a structure.
- int timeBuild; // the runtime to build a new structure in the library.
- int timeMerge; // the runtime to merge libraries;
- int timeReHash; // the runtime to resize the hash table.
- int timeOther; // the runtime of other
- int timeTotal; // the runtime to total.
+ clock_t timeTrim; // the runtime to filter the library
+ clock_t timeCollect; // the runtime to collect the node of a structure.
+ clock_t timeTruth; // the runtime to compute truth table.
+ clock_t timeCanon; // the runtime to canonicize
+ clock_t timeInsert; // the runtime to insert a structure.
+ clock_t timeBuild; // the runtime to build a new structure in the library.
+ clock_t timeMerge; // the runtime to merge libraries;
+ clock_t timeReHash; // the runtime to resize the hash table.
+ clock_t timeOther; // the runtime of other
+ clock_t timeTotal; // the runtime to total.
};
@@ -860,7 +860,7 @@ Hop_Obj_t * Abc_RecToHop( Hop_Man_t * pMan, If_Man_t * pIfMan, If_Cut_t * pCut,
char pCanonPerm[16];
unsigned *pInOut = s_pMan->pTemp1;
unsigned *pTemp = s_pMan->pTemp2;
- int time = clock();
+ clock_t time = clock();
int fCompl;
int * pCompl = &fCompl;
nLeaves = If_CutLeaveNum(pCut);
@@ -1008,7 +1008,7 @@ void Abc_NtkRecFilter(int nLimit)
Rec_Obj_t * previous = NULL, * entry = NULL, * pTemp;
int i;
Abc_Ntk_t * pNtk = s_pMan->pNtk;
- int time = clock();
+ clock_t time = clock();
if (nLimit > 0)
{
for ( i = 0; i < s_pMan->nBins; i++ )
@@ -1135,7 +1135,7 @@ void Abc_NtkRecLibMerge(Abc_Ntk_t* pNtk)
int i;
Abc_Obj_t * pObj;
Abc_ManRec_t * p = s_pMan;
- int clk = clock();
+ clock_t clk = clock();
if ( Abc_NtkPiNum(pNtk) > s_pMan->nVars )
{
printf( "The library has more inputs than the record.\n");
@@ -1183,7 +1183,7 @@ void Abc_NtkRecRezieHash(Abc_ManRec_t* p)
Rec_Obj_t ** pBinsNew, **ppSpot;
Rec_Obj_t * pEntry, * pTemp;
int nBinsNew, Counter, i;
- int clk = clock();
+ clock_t clk = clock();
// get the new table size
nBinsNew = Cudd_Prime( 3 * p->nBins );
printf("Hash table resize from %d to %d.\n", p->nBins, nBinsNew);
@@ -1232,7 +1232,7 @@ void Abc_NtkRecStart( Abc_Ntk_t * pNtk, int nVars, int nCuts, int fTrim )
char Buffer[10];
unsigned * pTruth;
int i, RetValue;
- int clkTotal = clock(), clk, timeInsert;
+ clock_t clkTotal = clock(), clk, timeInsert;
//int testNum = 0;
assert( s_pMan == NULL );
@@ -1690,7 +1690,7 @@ void Abc_NtkRecAdd( Abc_Ntk_t * pNtk, int fUseSOPB)
If_Par_t Pars, * pPars = &Pars;
Abc_Ntk_t * pNtkNew;
- int clk = clock();
+ clock_t clk = clock();
if ( Abc_NtkGetChoiceNum( pNtk ) )
printf( "Performing renoding with choices.\n" );
@@ -2068,7 +2068,7 @@ void Abc_NtkRecAddSOPB( If_Man_t * pIfMan, If_Cut_t * pCut, unsigned* pInOut, ch
If_And_t This;
Rec_Obj_t ** ppSpot;
char Buffer[40], Name[20], Truth[20];
- int timeBuild = clock();
+ clock_t timeBuild = clock();
unsigned * pTruth;
vAnds = If_CutDelaySopArray( pIfMan, pCut );
if(Vec_WrdSize(vAnds) > nLeaves + 3*(nLeaves-1) + s_MaxSize[nLeaves])
@@ -2778,7 +2778,7 @@ void SetUseCut(If_Cut_t* pCut, Rec_Obj_t * pRecObj, char * pCanonPerm)
int If_CutDelayRecCost(If_Man_t* p, If_Cut_t* pCut, If_Obj_t * pObj)
{
//int fVerbose = 0;
- int timeDelayComput, timeTotal = clock(), timeCanonicize;
+ clock_t timeDelayComput, timeTotal = clock(), timeCanonicize;
int nLeaves, i, DelayMin = ABC_INFINITY , * pDelayBest = &DelayMin;
char pCanonPerm[16];
unsigned uCanonPhase;
diff --git a/src/base/abci/abcRefactor.c b/src/base/abci/abcRefactor.c
index 69d84b0c..361b91ce 100644
--- a/src/base/abci/abcRefactor.c
+++ b/src/base/abci/abcRefactor.c
@@ -50,15 +50,15 @@ struct Abc_ManRef_t_
int nNodesBeg;
int nNodesEnd;
// runtime statistics
- int timeCut;
- int timeBdd;
- int timeDcs;
- int timeSop;
- int timeFact;
- int timeEval;
- int timeRes;
- int timeNtk;
- int timeTotal;
+ clock_t timeCut;
+ clock_t timeBdd;
+ clock_t timeDcs;
+ clock_t timeSop;
+ clock_t timeFact;
+ clock_t timeEval;
+ clock_t timeRes;
+ clock_t timeNtk;
+ clock_t timeTotal;
};
static void Abc_NtkManRefPrintStats( Abc_ManRef_t * p );
@@ -95,7 +95,7 @@ int Abc_NtkRefactor( Abc_Ntk_t * pNtk, int nNodeSizeMax, int nConeSizeMax, int f
Dec_Graph_t * pFForm;
Vec_Ptr_t * vFanins;
Abc_Obj_t * pNode;
- int clk, clkStart = clock();
+ clock_t clk, clkStart = clock();
int i, nNodes;
assert( Abc_NtkIsStrash(pNtk) );
diff --git a/src/base/abci/abcRestruct.c b/src/base/abci/abcRestruct.c
index 66b1d8e8..4be177f7 100644
--- a/src/base/abci/abcRestruct.c
+++ b/src/base/abci/abcRestruct.c
@@ -107,7 +107,7 @@ int Abc_NtkRestructure( Abc_Ntk_t * pNtk, int nCutMax, int fUpdateLevel, int fUs
Cut_Cut_t * pCutList;
Dec_Graph_t * pGraph;
Abc_Obj_t * pNode;
- int clk, clkStart = clock();
+ clock_t clk, clkStart = clock();
int fMulti = 1;
int fResub = 0;
int i, nNodes;
diff --git a/src/base/abci/abcResub.c b/src/base/abci/abcResub.c
index b03c36aa..6e2b95c3 100644
--- a/src/base/abci/abcResub.c
+++ b/src/base/abci/abcResub.c
@@ -62,18 +62,18 @@ struct Abc_ManRes_t_
// other data
Vec_Ptr_t * vTemp; // temporary array of nodes
// runtime statistics
- int timeCut;
- int timeTruth;
- int timeRes;
- int timeDiv;
- int timeMffc;
- int timeSim;
- int timeRes1;
- int timeResD;
- int timeRes2;
- int timeRes3;
- int timeNtk;
- int timeTotal;
+ clock_t timeCut;
+ clock_t timeTruth;
+ clock_t timeRes;
+ clock_t timeDiv;
+ clock_t timeMffc;
+ clock_t timeSim;
+ clock_t timeRes1;
+ clock_t timeResD;
+ clock_t timeRes2;
+ clock_t timeRes3;
+ clock_t timeNtk;
+ clock_t timeTotal;
// improvement statistics
int nUsedNodeC;
int nUsedNode0;
@@ -144,7 +144,7 @@ int Abc_NtkResubstitute( Abc_Ntk_t * pNtk, int nCutMax, int nStepsMax, int nLeve
Dec_Graph_t * pFForm;
Vec_Ptr_t * vLeaves;
Abc_Obj_t * pNode;
- int clk, clkStart = clock();
+ clock_t clk, clkStart = clock();
int i, nNodes;
assert( Abc_NtkIsStrash(pNtk) );
@@ -1624,7 +1624,7 @@ Dec_Graph_t * Abc_ManResubEval( Abc_ManRes_t * p, Abc_Obj_t * pRoot, Vec_Ptr_t *
extern int Abc_NodeMffcInside( Abc_Obj_t * pNode, Vec_Ptr_t * vLeaves, Vec_Ptr_t * vInside );
Dec_Graph_t * pGraph;
int Required;
- int clk;
+ clock_t clk;
Required = fUpdateLevel? Abc_ObjRequiredLevel(pRoot) : ABC_INFINITY;
diff --git a/src/base/abci/abcRewrite.c b/src/base/abci/abcRewrite.c
index 5e2745b9..091ac647 100644
--- a/src/base/abci/abcRewrite.c
+++ b/src/base/abci/abcRewrite.c
@@ -68,7 +68,7 @@ int Abc_NtkRewrite( Abc_Ntk_t * pNtk, int fUpdateLevel, int fUseZeros, int fVerb
// Vec_Ptr_t * vAddedCells = NULL, * vUpdatedNets = NULL;
Dec_Graph_t * pGraph;
int i, nNodes, nGain, fCompl;
- int clk, clkStart = clock();
+ clock_t clk, clkStart = clock();
assert( Abc_NtkIsStrash(pNtk) );
// cleanup the AIG
diff --git a/src/base/abci/abcRr.c b/src/base/abci/abcRr.c
index 61c8d085..83b7e85e 100644
--- a/src/base/abci/abcRr.c
+++ b/src/base/abci/abcRr.c
@@ -56,11 +56,11 @@ struct Abc_RRMan_t_
int nLevelsOld; // the old number of levels
int nEdgesTried; // the number of nodes tried
int nEdgesRemoved; // the number of nodes proved
- int timeWindow; // the time to construct the window
- int timeMiter; // the time to construct the miter
- int timeProve; // the time to prove the miter
- int timeUpdate; // the network update time
- int timeTotal; // the total runtime
+ clock_t timeWindow; // the time to construct the window
+ clock_t timeMiter; // the time to construct the miter
+ clock_t timeProve; // the time to prove the miter
+ clock_t timeUpdate; // the network update time
+ clock_t timeTotal; // the total runtime
};
static Abc_RRMan_t * Abc_RRManStart();
@@ -100,7 +100,8 @@ int Abc_NtkRR( Abc_Ntk_t * pNtk, int nFaninLevels, int nFanoutLevels, int fUseFa
ProgressBar * pProgress;
Abc_RRMan_t * p;
Abc_Obj_t * pNode, * pFanin, * pFanout;
- int i, k, m, nNodes, RetValue, clk, clkTotal = clock();
+ int i, k, m, nNodes, RetValue;
+ clock_t clk, clkTotal = clock();
// start the manager
p = Abc_RRManStart();
p->pNtk = pNtk;
@@ -351,7 +352,8 @@ void Abc_RRManClean( Abc_RRMan_t * p )
int Abc_NtkRRProve( Abc_RRMan_t * p )
{
Abc_Ntk_t * pWndCopy;
- int RetValue, clk;
+ int RetValue;
+ clock_t clk;
// Abc_NtkShowAig( p->pWnd, 0 );
pWndCopy = Abc_NtkDup( p->pWnd );
Abc_NtkRRUpdate( pWndCopy, p->pNode->pCopy->pCopy, p->pFanin->pCopy->pCopy, p->pFanout? p->pFanout->pCopy->pCopy : NULL );
diff --git a/src/base/abci/abcSat.c b/src/base/abci/abcSat.c
index 29f13bda..a10be364 100644
--- a/src/base/abci/abcSat.c
+++ b/src/base/abci/abcSat.c
@@ -54,7 +54,8 @@ int Abc_NtkMiterSat( Abc_Ntk_t * pNtk, ABC_INT64_T nConfLimit, ABC_INT64_T nInsL
{
sat_solver * pSat;
lbool status;
- int RetValue, clk;
+ int RetValue;
+ clock_t clk;
if ( pNumConfs )
*pNumConfs = 0;
diff --git a/src/base/abci/abcSymm.c b/src/base/abci/abcSymm.c
index 2a36be14..29927563 100644
--- a/src/base/abci/abcSymm.c
+++ b/src/base/abci/abcSymm.c
@@ -89,7 +89,7 @@ void Abc_NtkSymmetriesUsingSandS( Abc_Ntk_t * pNtk, int fVerbose )
void Abc_NtkSymmetriesUsingBdds( Abc_Ntk_t * pNtk, int fNaive, int fReorder, int fVerbose )
{
DdManager * dd;
- int clk, clkBdd, clkSym;
+ clock_t clk, clkBdd, clkSym;
int fGarbCollect = 1;
// compute the global functions
diff --git a/src/base/abci/abcUnate.c b/src/base/abci/abcUnate.c
index a56973b6..870b462b 100644
--- a/src/base/abci/abcUnate.c
+++ b/src/base/abci/abcUnate.c
@@ -73,8 +73,9 @@ void Abc_NtkPrintUnateBdd( Abc_Ntk_t * pNtk, int fUseNaive, int fVerbose )
// DdNode ** pbGlobal; // temporary storage for global BDDs
int TotalSupps = 0;
int TotalUnate = 0;
- int i, clk = clock();
- int clkBdd, clkUnate;
+ int i;
+ clock_t clk = clock();
+ clock_t clkBdd, clkUnate;
// compute the global BDDs
dd = (DdManager *)Abc_NtkBuildGlobalBdds(pNtk, 10000000, 1, 1, fVerbose);
diff --git a/src/base/cmd/cmdPlugin.c b/src/base/cmd/cmdPlugin.c
index f14eed55..e6b36f2a 100644
--- a/src/base/cmd/cmdPlugin.c
+++ b/src/base/cmd/cmdPlugin.c
@@ -417,7 +417,8 @@ int Cmd_CommandAbcPlugIn( Abc_Frame_t * pAbc, int argc, char ** argv )
Vec_Int_t * vCex;
FILE * pFile;
Gia_Man_t * pGia;
- int i, fd, clk;
+ int i, fd;
+ clock_t clk;
int fLeaveFiles;
/*
Abc_Ntk_t * pNtk = Abc_FrameReadNtk(pAbc);
diff --git a/src/base/io/ioReadAiger.c b/src/base/io/ioReadAiger.c
index 0644aed9..8ff32ac9 100644
--- a/src/base/io/ioReadAiger.c
+++ b/src/base/io/ioReadAiger.c
@@ -25,7 +25,6 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
#include "src/misc/bzlib/bzlib.h"
#include "src/misc/zlib/zlib.h"
diff --git a/src/base/io/ioReadBblif.c b/src/base/io/ioReadBblif.c
index 873a5671..ee7c5ee7 100644
--- a/src/base/io/ioReadBblif.c
+++ b/src/base/io/ioReadBblif.c
@@ -164,7 +164,8 @@ Abc_Ntk_t * Bbl_ManToAig( Bbl_Man_t * p )
Bbl_Obj_t * pObj, * pFanin;
Vec_Ptr_t * vCopy, * vNodes, * vFaninAigs;
Dec_Graph_t ** pFForms;
- int i, clk;
+ int i;
+ clock_t clk;
clk = clock();
// map SOP handles into factored forms
pFForms = ABC_CALLOC( Dec_Graph_t *, Bbl_ManFncSize(p) );
@@ -270,7 +271,7 @@ void Bbl_ManTest( Abc_Ntk_t * pNtk )
Abc_Ntk_t * pNtkNew;
Bbl_Man_t * p, * pNew;
char * pFileName = "test.bblif";
- int clk, clk1, clk2, clk3, clk4, clk5;
+ clock_t clk, clk1, clk2, clk3, clk4, clk5;
clk = clock();
p = Bbl_ManFromAbc( pNtk );
Bbl_ManPrintStats( p );
diff --git a/src/base/io/ioWriteAiger.c b/src/base/io/ioWriteAiger.c
index a22d16ba..ef2be673 100644
--- a/src/base/io/ioWriteAiger.c
+++ b/src/base/io/ioWriteAiger.c
@@ -25,8 +25,6 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
-#include <stdarg.h>
#include "src/misc/bzlib/bzlib.h"
#include "src/misc/zlib/zlib.h"
diff --git a/src/bdd/cas/casCore.c b/src/bdd/cas/casCore.c
index b73b5b3f..66d11082 100644
--- a/src/bdd/cas/casCore.c
+++ b/src/bdd/cas/casCore.c
@@ -21,7 +21,6 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include <time.h>
#include "src/base/main/main.h"
#include "src/base/cmd/cmd.h"
@@ -82,7 +81,7 @@ int Abc_CascadeExperiment( char * pFileGeneric, DdManager * dd, DdNode ** pOutpu
int i;
int nVars = nInputs;
int nOuts = nOutputs;
- long clk1;
+ clock_t clk1;
int nVarsEnc; // the number of additional variables to encode outputs
DdNode * pbVarsEnc[MAXOUTPUTS]; // the BDDs of the encoding vars
@@ -955,7 +954,7 @@ void WriteDDintoBLIFfileReorder( DdManager * dd, FILE * pFile, DdNode * Func, ch
///////////////////////////////////////////////////////////////
DdNode * bFmin;
- int clk1;
+ clock_t clk1;
if ( s_ddmin == NULL )
s_ddmin = Cudd_Init( dd->size, 0, CUDD_UNIQUE_SLOTS, CUDD_CACHE_SLOTS, 0);
diff --git a/src/bdd/cas/casDec.c b/src/bdd/cas/casDec.c
index ea132540..794f6fd3 100644
--- a/src/bdd/cas/casDec.c
+++ b/src/bdd/cas/casDec.c
@@ -21,7 +21,6 @@
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
-#include <time.h>
#include "src/misc/extra/extraBdd.h"
#include "cas.h"
@@ -129,7 +128,7 @@ int CreateDecomposedNetwork( DdManager * dd, DdNode * aFunc, char ** pNames, int
int nLutOutputs = 0;
int nLutOutputsOrig = 0;
- long clk1;
+ clock_t clk1;
s_LutSize = nLutSize;
@@ -285,7 +284,7 @@ int CreateDecomposedNetwork( DdManager * dd, DdNode * aFunc, char ** pNames, int
}
else
{
- long clk2 = clock();
+ clock_t clk2 = clock();
// p->bRelation = PerformTheEncoding( dd, p->pbCols, p->nCols, bVarsCube, bCVars, p->nMulti, &p->nSimple ); Cudd_Ref( p->bRelation );
p->bRelation = Extra_bddEncodingNonStrict( dd, p->pbCols, p->nCols, bVarsCube, bCVars, p->nMulti, &p->nSimple ); Cudd_Ref( p->bRelation );
s_EncodingTime += clock() - clk2;
diff --git a/src/bdd/cudd/cuddAndAbs.c b/src/bdd/cudd/cuddAndAbs.c
index 00ba67b4..0db3e4e4 100644
--- a/src/bdd/cudd/cuddAndAbs.c
+++ b/src/bdd/cudd/cuddAndAbs.c
@@ -259,7 +259,7 @@ cuddBddAndAbstractRecur(
}
}
- if ( manager->TimeStop && manager->TimeStop < time(NULL) )
+ if ( manager->TimeStop && clock() > manager->TimeStop )
return NULL;
if (topf == top) {
diff --git a/src/bdd/cudd/cuddBddIte.c b/src/bdd/cudd/cuddBddIte.c
index 18ebee20..43dbcd60 100644
--- a/src/bdd/cudd/cuddBddIte.c
+++ b/src/bdd/cudd/cuddBddIte.c
@@ -926,7 +926,7 @@ cuddBddAndRecur(
if (r != NULL) return(r);
}
- if ( manager->TimeStop && manager->TimeStop < time(NULL) )
+ if ( manager->TimeStop && clock() > manager->TimeStop )
return NULL;
/* Here we can skip the use of cuddI, because the operands are known
diff --git a/src/bdd/cudd/cuddBridge.c b/src/bdd/cudd/cuddBridge.c
index 75a5fa2a..cedf920b 100644
--- a/src/bdd/cudd/cuddBridge.c
+++ b/src/bdd/cudd/cuddBridge.c
@@ -976,9 +976,9 @@ cuddBddTransferRecur(
if (st_lookup(table, (const char *)f, (char **)&res))
return(Cudd_NotCond(res,comple));
- if ( ddS->TimeStop && ddS->TimeStop < time(NULL) )
+ if ( ddS->TimeStop && clock() > ddS->TimeStop )
return NULL;
- if ( ddD->TimeStop && ddD->TimeStop < time(NULL) )
+ if ( ddD->TimeStop && clock() > ddD->TimeStop )
return NULL;
/* Recursive step. */
diff --git a/src/bdd/cudd/cuddCompose.c b/src/bdd/cudd/cuddCompose.c
index 6264513f..d88491b0 100644
--- a/src/bdd/cudd/cuddCompose.c
+++ b/src/bdd/cudd/cuddCompose.c
@@ -1251,7 +1251,7 @@ cuddBddVarMapRecur(
return(Cudd_NotCond(res,F != f));
}
- if ( manager->TimeStop && manager->TimeStop < time(NULL) )
+ if ( manager->TimeStop && clock() > manager->TimeStop )
return NULL;
/* Split and recur on children of this node. */
diff --git a/src/bdd/cudd/cuddInt.h b/src/bdd/cudd/cuddInt.h
index 3d4b3db9..6e32acd2 100644
--- a/src/bdd/cudd/cuddInt.h
+++ b/src/bdd/cudd/cuddInt.h
@@ -481,7 +481,7 @@ struct DdManager { /* specialized DD symbol table */
#endif
DdNode * bFunc;
DdNode * bFunc2;
- int TimeStop; /* timeout for reordering */
+ clock_t TimeStop; /* timeout for reordering */
};
typedef struct Move {
diff --git a/src/bdd/cudd/cuddSymmetry.c b/src/bdd/cudd/cuddSymmetry.c
index dfdc6c85..d2269a36 100644
--- a/src/bdd/cudd/cuddSymmetry.c
+++ b/src/bdd/cudd/cuddSymmetry.c
@@ -367,7 +367,7 @@ cuddSymmSifting(
if (ddTotalNumberSwapping >= table->siftMaxSwap)
break;
// enable timeout during variable reodering - alanmi 2/13/11
- if ( table->TimeStop && table->TimeStop < time(NULL) )
+ if ( table->TimeStop && clock() > table->TimeStop )
break;
x = table->perm[var[i]];
#ifdef DD_STATS
diff --git a/src/bdd/dsd/dsdProc.c b/src/bdd/dsd/dsdProc.c
index 7171315c..291648b3 100644
--- a/src/bdd/dsd/dsdProc.c
+++ b/src/bdd/dsd/dsdProc.c
@@ -114,7 +114,7 @@ void Dsd_Decompose( Dsd_Manager_t * pDsdMan, DdNode ** pbFuncs, int nFuncs )
{
DdManager * dd = pDsdMan->dd;
int i;
- long clk;
+ clock_t clk;
Dsd_Node_t * pTemp;
int SumMaxGateSize = 0;
int nDecOutputs = 0;
@@ -156,7 +156,7 @@ s_Loops2Useless = 0;
int nCascades;
int MaxBlock;
int nPrimeBlocks;
- long clk;
+ clock_t clk;
clk = clock();
nLiteralsPrev = s_nLiterals;
diff --git a/src/bdd/reo/reoShuffle.c b/src/bdd/reo/reoShuffle.c
index 8d43cb3b..86aab4b9 100644
--- a/src/bdd/reo/reoShuffle.c
+++ b/src/bdd/reo/reoShuffle.c
@@ -161,7 +161,8 @@ void Extra_ShuffleTest( reo_man * pReo, DdManager * dd, DdNode * Func )
// extern int runtime1, runtime2;
DdNode * Temp, * bRemap;
- int nSuppSize, OffSet, Num, i, clk;
+ int nSuppSize, OffSet, Num, i;
+ clock_t clk;
int pOrder[1000], pOrderInv[1000];
assert( dd->size < 1000 );
diff --git a/src/bdd/reo/reoTest.c b/src/bdd/reo/reoTest.c
index f59da1a7..1e5fa1e0 100644
--- a/src/bdd/reo/reoTest.c
+++ b/src/bdd/reo/reoTest.c
@@ -222,7 +222,7 @@ int Extra_addReorderTest( DdManager * dd, DdNode * aF )
DdNode * aFmin;
int nNodesBeg;
int nNodesEnd;
- int clk1;
+ clock_t clk1;
if ( s_ddmin == NULL )
s_ddmin = Cudd_Init( dd->size, 0, CUDD_UNIQUE_SLOTS, CUDD_CACHE_SLOTS, 0);
diff --git a/src/bool/bdc/bdcCore.c b/src/bool/bdc/bdcCore.c
index 58324f81..fb318e0d 100644
--- a/src/bool/bdc/bdcCore.c
+++ b/src/bool/bdc/bdcCore.c
@@ -231,7 +231,7 @@ void Bdc_ManDecPrint( Bdc_Man_t * p )
int Bdc_ManDecompose( Bdc_Man_t * p, unsigned * puFunc, unsigned * puCare, int nVars, Vec_Ptr_t * vDivs, int nNodesMax )
{
Bdc_Isf_t Isf, * pIsf = &Isf;
- int clk = clock();
+ clock_t clk = clock();
assert( nVars <= p->pPars->nVarsMax );
// set current manager parameters
p->nVars = nVars;
diff --git a/src/bool/bdc/bdcDec.c b/src/bool/bdc/bdcDec.c
index 61f46f17..0695f7e9 100644
--- a/src/bool/bdc/bdcDec.c
+++ b/src/bool/bdc/bdcDec.c
@@ -45,7 +45,7 @@ ABC_NAMESPACE_IMPL_START
void Bdc_SuppMinimize2( Bdc_Man_t * p, Bdc_Isf_t * pIsf )
{
int v;
- int clk = 0; // Suppress "might be used uninitialized"
+ clock_t clk = 0; // Suppress "might be used uninitialized"
if ( p->pPars->fVerbose )
clk = clock();
// compute support
@@ -87,7 +87,7 @@ void Bdc_SuppMinimize2( Bdc_Man_t * p, Bdc_Isf_t * pIsf )
void Bdc_SuppMinimize( Bdc_Man_t * p, Bdc_Isf_t * pIsf )
{
int v;
- int clk = 0; // Suppress "might be used uninitialized"
+ clock_t clk = 0; // Suppress "might be used uninitialized"
if ( p->pPars->fVerbose )
clk = clock();
// go through the support variables
@@ -549,7 +549,7 @@ int Bdc_DecomposeStepMux( Bdc_Man_t * p, Bdc_Isf_t * pIsf, Bdc_Isf_t * pIsfL, Bd
{
int Var, VarMin, nSuppMin, nSuppCur;
unsigned uSupp0, uSupp1;
- int clk = 0; // Suppress "might be used uninitialized"
+ clock_t clk = 0; // Suppress "might be used uninitialized"
if ( p->pPars->fVerbose )
clk = clock();
VarMin = -1;
@@ -681,7 +681,7 @@ Bdc_Fun_t * Bdc_ManDecompose_rec( Bdc_Man_t * p, Bdc_Isf_t * pIsf )
Bdc_Isf_t IsfL, * pIsfL = &IsfL;
Bdc_Isf_t IsfB, * pIsfR = &IsfB;
int iVar;
- int clk = 0; // Suppress "might be used uninitialized"
+ clock_t clk = 0; // Suppress "might be used uninitialized"
/*
printf( "Init function (%d):\n", LocalCounter );
Extra_PrintBinary( stdout, pIsf->puOn, 1<<4 );printf("\n");
diff --git a/src/bool/bdc/bdcInt.h b/src/bool/bdc/bdcInt.h
index 05ce20b6..cca10957 100644
--- a/src/bool/bdc/bdcInt.h
+++ b/src/bool/bdc/bdcInt.h
@@ -118,11 +118,11 @@ struct Bdc_Man_t_
int numWeaks;
int numReuse;
// runtime
- int timeCache;
- int timeCheck;
- int timeMuxes;
- int timeSupps;
- int timeTotal;
+ clock_t timeCache;
+ clock_t timeCheck;
+ clock_t timeMuxes;
+ clock_t timeSupps;
+ clock_t timeTotal;
};
static inline Bdc_Fun_t * Bdc_FunNew( Bdc_Man_t * p ) { Bdc_Fun_t * pRes; if ( p->nNodes >= p->nNodesAlloc || p->nNodesNew >= p->nNodesMax ) return NULL; pRes = p->pNodes + p->nNodes++; p->nNodesNew++; memset( pRes, 0, sizeof(Bdc_Fun_t) ); return pRes; }
diff --git a/src/bool/bdc/bdcSpfd.c b/src/bool/bdc/bdcSpfd.c
index 54217282..1695cf2c 100644
--- a/src/bool/bdc/bdcSpfd.c
+++ b/src/bool/bdc/bdcSpfd.c
@@ -181,7 +181,8 @@ void Bdc_SpfdDecompose( word Truth, int nVars, int nCands, int nGatesMax )
Vec_Int_t * vBegs, * vWeight;
Bdc_Nod_t * pNode, * pNode0, * pNode1, * pNode2;
int Count0, Count1, * pPerm;
- int i, j, k, c, n, clk;
+ int i, j, k, c, n;
+ clock_t clk;
assert( nGatesMax < (1<<8) );
assert( nCands < (1<<12) );
assert( (1<<(nVars-1))*(1<<(nVars-1)) < (1<<12) ); // max SPFD
@@ -586,7 +587,8 @@ Vec_Wrd_t * Bdc_SpfdDecomposeTest__( Vec_Int_t ** pvWeights )
int nSize = 201326611; // the hash table size to use
int Limit = 6;
- int * pPlace, i, n, m, k, s, fCompl, clk = clock(), clk2;
+ int * pPlace, i, n, m, k, s, fCompl;
+ clock_t clk = clock(), clk2;
Vec_Int_t * vStops;
Vec_Wrd_t * vTruths;
Vec_Int_t * vWeights;
@@ -919,7 +921,7 @@ void Bdc_SpfdDecomposeTest44()
Vec_Wrd_t * vDivs;
word c0, c1, s, tt, tbest;
int i, j, Cost, CostBest = 100000;
- int clk = clock();
+ clock_t clk = clock();
return;
@@ -1028,7 +1030,8 @@ void Bdc_SpfdDecomposeTest3()
int nSizeK = (1 << 3);
Vec_Wrd_t * v1M;
Vec_Wrd_t * v1K;
- int i, k, Counter, clk;
+ int i, k, Counter;
+ clock_t clk;
// int EntryM, EntryK;
Aig_ManRandom64( 1 );
@@ -1083,7 +1086,8 @@ void Bdc_SpfdDecomposeTest8()
Vec_Wrd_t * vDivs;
word Func, FuncBest;
int Cost, CostBest = ABC_INFINITY;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
// return;
@@ -1133,7 +1137,8 @@ void Bdc_SpfdDecomposeTest()
int nSizeK = (1 << 3); // small array size
Vec_Wrd_t * v1M, * v1K;
int EntryM, EntryK;
- int i, k, Counter, clk;
+ int i, k, Counter;
+ clock_t clk;
Aig_ManRandom64( 1 );
diff --git a/src/bool/kit/cloud.c b/src/bool/kit/cloud.c
index 1ab53c00..ca2d81eb 100644
--- a/src/bool/kit/cloud.c
+++ b/src/bool/kit/cloud.c
@@ -71,7 +71,7 @@ CloudManager * Cloud_Init( int nVars, int nBits )
{
CloudManager * dd;
int i;
- int clk1, clk2;
+ clock_t clk1, clk2;
assert( nVars <= 100000 );
assert( nBits < 32 );
diff --git a/src/bool/kit/cloud.h b/src/bool/kit/cloud.h
index 208a47ec..e2d451ae 100644
--- a/src/bool/kit/cloud.h
+++ b/src/bool/kit/cloud.h
@@ -23,7 +23,6 @@
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
-#include <time.h>
#include "src/misc/util/abc_global.h"
diff --git a/src/bool/kit/kit.h b/src/bool/kit/kit.h
index 4ca75622..990fa54a 100644
--- a/src/bool/kit/kit.h
+++ b/src/bool/kit/kit.h
@@ -30,7 +30,6 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
#include "src/misc/vec/vec.h"
#include "src/misc/extra/extraBdd.h"
diff --git a/src/bool/kit/kitPerm.c b/src/bool/kit/kitPerm.c
index d3e9ff5a..9d6f9373 100644
--- a/src/bool/kit/kitPerm.c
+++ b/src/bool/kit/kitPerm.c
@@ -22,7 +22,8 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
+
+#include "kit.h"
#define inline __inline // compatible with MS VS 6.0
@@ -260,7 +261,7 @@ word Tf ( word f, int n)
}
-#define ABC_PRT(a,t) (printf("%s = ", (a)), printf("%7.2f sec\n", (float)(t)/(float)(CLOCKS_PER_SEC)))
+//#define ABC_PRT(a,t) (printf("%s = ", (a)), printf("%7.2f sec\n", (float)(t)/(float)(CLOCKS_PER_SEC)))
#define NFUNCS (1<<20)
/**Function*************************************************************
@@ -278,7 +279,8 @@ void Kit_PermComputeTest()
{
word * T = (word *)malloc( 8 * NFUNCS );
word i, o, w = 0;
- int k, b, clk;
+ int k, b;
+ clock_t clk;
srand( 0 );
diff --git a/src/map/amap/amapCore.c b/src/map/amap/amapCore.c
index ce1f61bd..507dcc5e 100644
--- a/src/map/amap/amapCore.c
+++ b/src/map/amap/amapCore.c
@@ -72,7 +72,7 @@ Vec_Ptr_t * Amap_ManTest( Aig_Man_t * pAig, Amap_Par_t * pPars )
Vec_Ptr_t * vRes;
Amap_Man_t * p;
Amap_Lib_t * pLib;
- int clkTotal = clock();
+ clock_t clkTotal = clock();
pLib = (Amap_Lib_t *)Abc_FrameReadLibGen2();
if ( pLib == NULL )
{
diff --git a/src/map/amap/amapLib.c b/src/map/amap/amapLib.c
index b11e3222..cf087218 100644
--- a/src/map/amap/amapLib.c
+++ b/src/map/amap/amapLib.c
@@ -328,7 +328,7 @@ void Amap_LibPrintSelectedGates( Amap_Lib_t * p, int fAllGates )
Amap_Lib_t * Amap_LibReadAndPrepare( char * pFileName, int fVerbose, int fVeryVerbose )
{
Amap_Lib_t * p;
- int clk = clock();
+ clock_t clk = clock();
p = Amap_LibReadFile( pFileName, fVerbose );
if ( fVerbose )
printf( "Read %d gates from file \"%s\".\n", Vec_PtrSize(p->vGates), pFileName );
diff --git a/src/map/amap/amapLiberty.c b/src/map/amap/amapLiberty.c
index 49b36848..c1798f09 100644
--- a/src/map/amap/amapLiberty.c
+++ b/src/map/amap/amapLiberty.c
@@ -888,7 +888,7 @@ int Amap_LibertyParse( char * pFileName, char * pFileGenlib, int fVerbose )
{
Amap_Tree_t * p;
char * pPos;
- int clk = clock();
+ clock_t clk = clock();
int RetValue;
p = Amap_LibertyStart( pFileName );
if ( p == NULL )
diff --git a/src/map/amap/amapMatch.c b/src/map/amap/amapMatch.c
index 4c213f9c..8903bf4e 100644
--- a/src/map/amap/amapMatch.c
+++ b/src/map/amap/amapMatch.c
@@ -484,7 +484,8 @@ void Amap_ManMatch( Amap_Man_t * p, int fFlow, int fRefs )
Aig_MmFlex_t * pMemOld;
Amap_Obj_t * pObj;
float Area;
- int i, nInvs, clk = clock();
+ int i, nInvs;
+ clock_t clk = clock();
pMemOld = p->pMemCutBest;
p->pMemCutBest = Aig_MmFlexStart();
Amap_ManForEachNode( p, pObj, i )
diff --git a/src/map/amap/amapMerge.c b/src/map/amap/amapMerge.c
index 19470d63..85a1713c 100644
--- a/src/map/amap/amapMerge.c
+++ b/src/map/amap/amapMerge.c
@@ -514,7 +514,8 @@ void Amap_ManMergeNodeCuts( Amap_Man_t * p, Amap_Obj_t * pNode )
void Amap_ManMerge( Amap_Man_t * p )
{
Amap_Obj_t * pObj;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
p->pCutsPi = Amap_ManSetupPis( p );
Amap_ManForEachNode( p, pObj, i )
Amap_ManMergeNodeCuts( p, pObj );
diff --git a/src/map/amap/amapParse.c b/src/map/amap/amapParse.c
index 6fa469a9..2242fa7a 100644
--- a/src/map/amap/amapParse.c
+++ b/src/map/amap/amapParse.c
@@ -461,7 +461,7 @@ void Amap_LibParseTest( char * pFileName )
{
int fVerbose = 1;
Amap_Lib_t * p;
- int clk = clock();
+ clock_t clk = clock();
p = Amap_LibReadFile( pFileName, fVerbose );
if ( p == NULL )
return;
diff --git a/src/map/cov/covCore.c b/src/map/cov/covCore.c
index f40e908a..1a1d025f 100644
--- a/src/map/cov/covCore.c
+++ b/src/map/cov/covCore.c
@@ -108,7 +108,8 @@ Abc_Ntk_t * Abc_NtkSopEsopCover( Abc_Ntk_t * pNtk, int nFaninMax, int fUseEsop,
void Abc_NtkCovCovers( Cov_Man_t * p, Abc_Ntk_t * pNtk, int fVerbose )
{
Abc_Obj_t * pObj;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
// start the manager
p->vFanCounts = Abc_NtkFanoutCounts(pNtk);
@@ -154,7 +155,8 @@ int Abc_NtkCovCoversOne( Cov_Man_t * p, Abc_Ntk_t * pNtk, int fVerbose )
ProgressBar * pProgress;
Abc_Obj_t * pObj;
Vec_Ptr_t * vBoundary;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
int Counter = 0;
int fStop = 1;
diff --git a/src/map/fpga/fpga.h b/src/map/fpga/fpga.h
index b63d2448..22982b4e 100644
--- a/src/map/fpga/fpga.h
+++ b/src/map/fpga/fpga.h
@@ -83,15 +83,11 @@ extern int Fpga_ManReadVerbose( Fpga_Man_t * p );
extern int Fpga_ManReadVarMax( Fpga_Man_t * p );
extern float * Fpga_ManReadLutAreas( Fpga_Man_t * p );
extern Fpga_NodeVec_t* Fpga_ManReadMapping( Fpga_Man_t * p );
-extern void Fpga_ManSetTimeToMap( Fpga_Man_t * p, int Time );
-extern void Fpga_ManSetTimeToNet( Fpga_Man_t * p, int Time );
-extern void Fpga_ManSetTimeTotal( Fpga_Man_t * p, int Time );
extern void Fpga_ManSetOutputNames( Fpga_Man_t * p, char ** ppNames );
extern void Fpga_ManSetInputArrivals( Fpga_Man_t * p, float * pArrivals );
extern void Fpga_ManSetAreaRecovery( Fpga_Man_t * p, int fAreaRecovery );
extern void Fpga_ManSetDelayLimit( Fpga_Man_t * p, float DelayLimit );
extern void Fpga_ManSetAreaLimit( Fpga_Man_t * p, float AreaLimit );
-extern void Fpga_ManSetTimeLimit( Fpga_Man_t * p, float TimeLimit );
extern void Fpga_ManSetObeyFanoutLimits( Fpga_Man_t * p, int fObeyFanoutLimits );
extern void Fpga_ManSetNumIterations( Fpga_Man_t * p, int nNumIterations );
extern int Fpga_ManReadFanoutViolations( Fpga_Man_t * p );
diff --git a/src/map/fpga/fpgaCore.c b/src/map/fpga/fpgaCore.c
index 74739852..64b26689 100644
--- a/src/map/fpga/fpgaCore.c
+++ b/src/map/fpga/fpgaCore.c
@@ -27,8 +27,8 @@ ABC_NAMESPACE_IMPL_START
static int Fpga_MappingPostProcess( Fpga_Man_t * p );
-extern int s_MappingTime;
-extern int s_MappingMem;
+extern clock_t s_MappingTime;
+extern clock_t s_MappingMem;
////////////////////////////////////////////////////////////////////////
@@ -52,7 +52,7 @@ extern int s_MappingMem;
***********************************************************************/
int Fpga_Mapping( Fpga_Man_t * p )
{
- int clk, clkTotal = clock();
+ clock_t clk, clkTotal = clock();
// collect the nodes reachable from POs in the DFS order (including the choices)
p->vAnds = Fpga_MappingDfs( p, 1 );
@@ -112,7 +112,8 @@ int Fpga_MappingPostProcess( Fpga_Man_t * p )
int fRecoverAreaFlow = 1;
int fRecoverArea = 1;
float aAreaTotalCur, aAreaTotalCur2;
- int Iter, clk;
+ int Iter;
+ clock_t clk;
//if ( p->fVerbose )
// printf( "Best clock period = %5.2f\n", Fpga_TimeComputeArrivalMax(p) );
diff --git a/src/map/fpga/fpgaCreate.c b/src/map/fpga/fpgaCreate.c
index 64f6d750..e3079ad7 100644
--- a/src/map/fpga/fpgaCreate.c
+++ b/src/map/fpga/fpgaCreate.c
@@ -58,15 +58,11 @@ int Fpga_ManReadVerbose( Fpga_Man_t * p ) { retu
int Fpga_ManReadVarMax( Fpga_Man_t * p ) { return p->pLutLib->LutMax; }
float * Fpga_ManReadLutAreas( Fpga_Man_t * p ) { return p->pLutLib->pLutAreas; }
Fpga_NodeVec_t* Fpga_ManReadMapping( Fpga_Man_t * p ) { return p->vMapping; }
-void Fpga_ManSetTimeToMap( Fpga_Man_t * p, int Time ) { p->timeToMap = Time; }
-void Fpga_ManSetTimeToNet( Fpga_Man_t * p, int Time ) { p->timeToNet = Time; }
-void Fpga_ManSetTimeTotal( Fpga_Man_t * p, int Time ) { p->timeTotal = Time; }
void Fpga_ManSetOutputNames( Fpga_Man_t * p, char ** ppNames ) { p->ppOutputNames = ppNames; }
void Fpga_ManSetInputArrivals( Fpga_Man_t * p, float * pArrivals ) { p->pInputArrivals = pArrivals; }
void Fpga_ManSetAreaRecovery( Fpga_Man_t * p, int fAreaRecovery ) { p->fAreaRecovery = fAreaRecovery;}
void Fpga_ManSetDelayLimit( Fpga_Man_t * p, float DelayLimit ) { p->DelayLimit = DelayLimit; }
void Fpga_ManSetAreaLimit( Fpga_Man_t * p, float AreaLimit ) { p->AreaLimit = AreaLimit; }
-void Fpga_ManSetTimeLimit( Fpga_Man_t * p, float TimeLimit ) { p->TimeLimit = TimeLimit; }
void Fpga_ManSetChoiceNodeNum( Fpga_Man_t * p, int nChoiceNodes ) { p->nChoiceNodes = nChoiceNodes; }
void Fpga_ManSetChoiceNum( Fpga_Man_t * p, int nChoices ) { p->nChoices = nChoices; }
void Fpga_ManSetVerbose( Fpga_Man_t * p, int fVerbose ) { p->fVerbose = fVerbose; }
@@ -425,7 +421,8 @@ void Fpga_TableResize( Fpga_Man_t * pMan )
{
Fpga_Node_t ** pBinsNew;
Fpga_Node_t * pEnt, * pEnt2;
- int nBinsNew, Counter, i, clk;
+ int nBinsNew, Counter, i;
+ clock_t clk;
unsigned Key;
clk = clock();
diff --git a/src/map/fpga/fpgaCut.c b/src/map/fpga/fpgaCut.c
index 2e9ea77e..75007888 100644
--- a/src/map/fpga/fpgaCut.c
+++ b/src/map/fpga/fpgaCut.c
@@ -133,7 +133,7 @@ void Fpga_MappingCuts( Fpga_Man_t * p )
Fpga_CutTable_t * pTable;
Fpga_Node_t * pNode;
int nCuts, nNodes, i;
- int clk = clock();
+ clock_t clk = clock();
// set the elementary cuts for the PI variables
assert( p->nVarsMax > 1 && p->nVarsMax < 11 );
diff --git a/src/map/fpga/fpgaInt.h b/src/map/fpga/fpgaInt.h
index c9272154..f2c482af 100644
--- a/src/map/fpga/fpgaInt.h
+++ b/src/map/fpga/fpgaInt.h
@@ -155,15 +155,15 @@ struct Fpga_ManStruct_t_
float TimeLimit; // for resynthesis
// runtime statistics
- int timeToMap; // time to transfer to the mapping structure
- int timeCuts; // time to compute k-feasible cuts
- int timeTruth; // time to compute the truth table for each cut
- int timeMatch; // time to perform matching for each node
- int timeRecover; // time to perform area recovery
- int timeToNet; // time to transfer back to the network
- int timeTotal; // the total mapping time
- int time1; // time to transfer to the mapping structure
- int time2; // time to transfer to the mapping structure
+ clock_t timeToMap; // time to transfer to the mapping structure
+ clock_t timeCuts; // time to compute k-feasible cuts
+ clock_t timeTruth; // time to compute the truth table for each cut
+ clock_t timeMatch; // time to perform matching for each node
+ clock_t timeRecover; // time to perform area recovery
+ clock_t timeToNet; // time to transfer back to the network
+ clock_t timeTotal; // the total mapping time
+ clock_t time1; // time to transfer to the mapping structure
+ clock_t time2; // time to transfer to the mapping structure
};
// the LUT library
diff --git a/src/map/fpga/fpgaMatch.c b/src/map/fpga/fpgaMatch.c
index 08db4bb1..dd04e562 100644
--- a/src/map/fpga/fpgaMatch.c
+++ b/src/map/fpga/fpgaMatch.c
@@ -119,7 +119,7 @@ int Fpga_MappingMatches( Fpga_Man_t * p, int fDelayOriented )
int Fpga_MatchNode( Fpga_Man_t * p, Fpga_Node_t * pNode, int fDelayOriented )
{
Fpga_Cut_t * pCut, * pCutBestOld;
- int clk;
+ clock_t clk;
// make sure that at least one cut other than the trivial is present
if ( pNode->pCuts->pNext == NULL )
{
@@ -269,7 +269,7 @@ int Fpga_MatchNodeArea( Fpga_Man_t * p, Fpga_Node_t * pNode )
{
Fpga_Cut_t * pCut, * pCutBestOld;
float aAreaCutBest;
- int clk;
+ clock_t clk;
// make sure that at least one cut other than the trivial is present
if ( pNode->pCuts->pNext == NULL )
{
@@ -390,7 +390,7 @@ int Fpga_MatchNodeSwitch( Fpga_Man_t * p, Fpga_Node_t * pNode )
{
Fpga_Cut_t * pCut, * pCutBestOld;
float aAreaCutBest = FPGA_FLOAT_LARGE;
- int clk;
+ clock_t clk;
// make sure that at least one cut other than the trivial is present
if ( pNode->pCuts->pNext == NULL )
{
diff --git a/src/map/if/if.h b/src/map/if/if.h
index 69878111..0654c05b 100644
--- a/src/map/if/if.h
+++ b/src/map/if/if.h
@@ -30,7 +30,7 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
+
#include "src/misc/vec/vec.h"
#include "src/misc/mem/mem.h"
#include "src/misc/tim/tim.h"
@@ -223,7 +223,7 @@ struct If_Man_t_
void ** pHashTable[2]; // hash table bins
Mem_Fixed_t * pMemEntries; // memory manager for hash table entries
// statistics
-// int timeTruth;
+// clock_t timeTruth;
};
// priority cut
diff --git a/src/map/if/ifCore.c b/src/map/if/ifCore.c
index 9cdddccd..0ddfafd6 100644
--- a/src/map/if/ifCore.c
+++ b/src/map/if/ifCore.c
@@ -80,7 +80,7 @@ int If_ManPerformMapping( If_Man_t * p )
int If_ManPerformMappingComb( If_Man_t * p )
{
If_Obj_t * pObj;
- int clkTotal = clock();
+ clock_t clkTotal = clock();
int i;
// set arrival times and fanout estimates
diff --git a/src/map/if/ifCut.c b/src/map/if/ifCut.c
index 36aa935d..c1d770fd 100644
--- a/src/map/if/ifCut.c
+++ b/src/map/if/ifCut.c
@@ -1354,7 +1354,7 @@ int If_CutGetCones( If_Man_t * p )
{
If_Obj_t * pObj;
int i, Counter = 0;
- int clk = clock();
+ clock_t clk = clock();
If_ManForEachObj( p, pObj, i )
{
if ( If_ObjIsAnd(pObj) && pObj->nRefs )
diff --git a/src/map/if/ifMap.c b/src/map/if/ifMap.c
index 570fb4ae..ea1d5f33 100644
--- a/src/map/if/ifMap.c
+++ b/src/map/if/ifMap.c
@@ -389,7 +389,8 @@ int If_ManPerformMappingRound( If_Man_t * p, int nCutsUsed, int Mode, int fPrepr
{
// ProgressBar * pProgress;
If_Obj_t * pObj;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
float arrTime;
assert( Mode >= 0 && Mode <= 2 );
// set the sorting function
diff --git a/src/map/if/ifReduce.c b/src/map/if/ifReduce.c
index b45a9b25..65e321c0 100644
--- a/src/map/if/ifReduce.c
+++ b/src/map/if/ifReduce.c
@@ -51,7 +51,7 @@ static void If_ManImproveNodeFaninCompact( If_Man_t * p, If_Obj_t * pObj, int nL
***********************************************************************/
void If_ManImproveMapping( If_Man_t * p )
{
- int clk;
+ clock_t clk;
clk = clock();
If_ManImproveExpand( p, p->pPars->nLutSize );
diff --git a/src/map/if/ifSeq.c b/src/map/if/ifSeq.c
index 6cfb5131..d34cf538 100644
--- a/src/map/if/ifSeq.c
+++ b/src/map/if/ifSeq.c
@@ -123,7 +123,8 @@ Vec_Ptr_t * If_ManCollectLatches( If_Man_t * p )
int If_ManPerformMappingRoundSeq( If_Man_t * p, int nIter )
{
If_Obj_t * pObj;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
int fVeryVerbose = 0;
int fChange = 0;
@@ -337,7 +338,7 @@ void If_ManPerformMappingSeqPost( If_Man_t * p )
***********************************************************************/
int If_ManPerformMappingSeq( If_Man_t * p )
{
- int clkTotal = clock();
+ clock_t clkTotal = clock();
int PeriodBest;
p->SortMode = 0;
diff --git a/src/map/if/ifTime.c b/src/map/if/ifTime.c
index 5f7f8142..0b86093b 100644
--- a/src/map/if/ifTime.c
+++ b/src/map/if/ifTime.c
@@ -252,7 +252,7 @@ Vec_Wrd_t * If_CutDelaySopAnds( If_Man_t * p, If_Cut_t * pCut, Vec_Int_t * vCove
***********************************************************************/
Vec_Wrd_t * If_CutDelaySopArray( If_Man_t * p, If_Cut_t * pCut )
{
- int clk;
+ clock_t clk;
Vec_Wrd_t * vAnds;
int RetValue;
if ( p->vCover == NULL )
@@ -493,7 +493,7 @@ int If_CutDelaySopAnds2( If_Man_t * p, If_Cut_t * pCut, Vec_Int_t * vCover, int
}
int If_CutDelaySopArray2( If_Man_t * p, If_Cut_t * pCut, int * pArea )
{
- int clk;
+ clock_t clk;
int RetValue;
if ( p->vCover == NULL )
p->vCover = Vec_IntAlloc(0);
diff --git a/src/map/mapper/mapper.h b/src/map/mapper/mapper.h
index 29bc98ef..0c8a8f42 100644
--- a/src/map/mapper/mapper.h
+++ b/src/map/mapper/mapper.h
@@ -78,7 +78,7 @@ extern Map_Man_t * Map_ManCreate( int nInputs, int nOutputs, int fVerbose );
extern Map_Node_t * Map_NodeCreate( Map_Man_t * p, Map_Node_t * p1, Map_Node_t * p2 );
extern void Map_ManFree( Map_Man_t * pMan );
extern void Map_ManPrintTimeStats( Map_Man_t * p );
-extern void Map_ManPrintStatsToFile( char * pName, float Area, float Delay, int Time );
+extern void Map_ManPrintStatsToFile( char * pName, float Area, float Delay, clock_t Time );
extern int Map_ManReadInputNum( Map_Man_t * p );
extern int Map_ManReadOutputNum( Map_Man_t * p );
extern Map_Node_t ** Map_ManReadInputs ( Map_Man_t * p );
@@ -89,10 +89,6 @@ extern Mio_Library_t * Map_ManReadGenLib ( Map_Man_t * p );
extern int Map_ManReadVerbose( Map_Man_t * p );
extern float Map_ManReadAreaFinal( Map_Man_t * p );
extern float Map_ManReadRequiredGlo( Map_Man_t * p );
-extern void Map_ManSetTimeToMap( Map_Man_t * p, int Time );
-extern void Map_ManSetTimeToNet( Map_Man_t * p, int Time );
-extern void Map_ManSetTimeSweep( Map_Man_t * p, int Time );
-extern void Map_ManSetTimeTotal( Map_Man_t * p, int Time );
extern void Map_ManSetOutputNames( Map_Man_t * p, char ** ppNames );
extern void Map_ManSetAreaRecovery( Map_Man_t * p, int fAreaRecovery );
extern void Map_ManSetDelayTarget( Map_Man_t * p, float DelayTarget );
diff --git a/src/map/mapper/mapperCore.c b/src/map/mapper/mapperCore.c
index 7a4f7c4e..9df22923 100644
--- a/src/map/mapper/mapperCore.c
+++ b/src/map/mapper/mapperCore.c
@@ -53,7 +53,7 @@ int Map_Mapping( Map_Man_t * p )
int fUseAreaFlow = 1;
int fUseExactArea = !p->fSwitching;
int fUseExactAreaWithPhase = !p->fSwitching;
- int clk;
+ clock_t clk;
//////////////////////////////////////////////////////////////////////
// perform pre-mapping computations
diff --git a/src/map/mapper/mapperCreate.c b/src/map/mapper/mapperCreate.c
index 2b1663a4..42094477 100644
--- a/src/map/mapper/mapperCreate.c
+++ b/src/map/mapper/mapperCreate.c
@@ -58,10 +58,6 @@ Mio_Library_t * Map_ManReadGenLib ( Map_Man_t * p ) { return
int Map_ManReadVerbose( Map_Man_t * p ) { return p->fVerbose; }
float Map_ManReadAreaFinal( Map_Man_t * p ) { return p->AreaFinal; }
float Map_ManReadRequiredGlo( Map_Man_t * p ) { return p->fRequiredGlo; }
-void Map_ManSetTimeToMap( Map_Man_t * p, int Time ) { p->timeToMap = Time; }
-void Map_ManSetTimeToNet( Map_Man_t * p, int Time ) { p->timeToNet = Time; }
-void Map_ManSetTimeSweep( Map_Man_t * p, int Time ) { p->timeSweep = Time; }
-void Map_ManSetTimeTotal( Map_Man_t * p, int Time ) { p->timeTotal = Time; }
void Map_ManSetOutputNames( Map_Man_t * p, char ** ppNames ) { p->ppOutputNames = ppNames;}
void Map_ManSetAreaRecovery( Map_Man_t * p, int fAreaRecovery ) { p->fAreaRecovery = fAreaRecovery;}
void Map_ManSetDelayTarget( Map_Man_t * p, float DelayTarget ) { p->DelayTarget = DelayTarget;}
@@ -317,7 +313,7 @@ void Map_ManPrintTimeStats( Map_Man_t * p )
SeeAlso []
***********************************************************************/
-void Map_ManPrintStatsToFile( char * pName, float Area, float Delay, int Time )
+void Map_ManPrintStatsToFile( char * pName, float Area, float Delay, clock_t Time )
{
FILE * pTable;
pTable = fopen( "map_stats.txt", "a+" );
@@ -472,7 +468,8 @@ void Map_TableResize( Map_Man_t * pMan )
{
Map_Node_t ** pBinsNew;
Map_Node_t * pEnt, * pEnt2;
- int nBinsNew, Counter, i, clk;
+ int nBinsNew, Counter, i;
+ clock_t clk;
unsigned Key;
clk = clock();
diff --git a/src/map/mapper/mapperCut.c b/src/map/mapper/mapperCut.c
index 29861531..12ee5d92 100644
--- a/src/map/mapper/mapperCut.c
+++ b/src/map/mapper/mapperCut.c
@@ -117,7 +117,7 @@ void Map_MappingCuts( Map_Man_t * p )
Map_Node_t * pNode;
Map_Cut_t * pCut;
int nCuts, nNodes, i;
- int clk = clock();
+ clock_t clk = clock();
// set the elementary cuts for the PI variables
assert( p->nVarsMax > 1 && p->nVarsMax < 7 );
for ( i = 0; i < p->nInputs; i++ )
diff --git a/src/map/mapper/mapperInt.h b/src/map/mapper/mapperInt.h
index 8d1e3fb7..95c5b0c7 100644
--- a/src/map/mapper/mapperInt.h
+++ b/src/map/mapper/mapperInt.h
@@ -149,17 +149,17 @@ struct Map_ManStruct_t_
int nFanoutViolations; // the number of nodes in mapped circuit violating fanout
// runtime statistics
- int timeToMap; // time to transfer to the mapping structure
- int timeCuts; // time to compute k-feasible cuts
- int timeTruth; // time to compute the truth table for each cut
- int timeMatch; // time to perform matching for each node
- int timeArea; // time to recover area after delay oriented mapping
- int timeSweep; // time to perform technology dependent sweep
- int timeToNet; // time to transfer back to the network
- int timeTotal; // the total mapping time
- int time1; // time to transfer to the mapping structure
- int time2; // time to transfer to the mapping structure
- int time3; // time to transfer to the mapping structure
+ clock_t timeToMap; // time to transfer to the mapping structure
+ clock_t timeCuts; // time to compute k-feasible cuts
+ clock_t timeTruth; // time to compute the truth table for each cut
+ clock_t timeMatch; // time to perform matching for each node
+ clock_t timeArea; // time to recover area after delay oriented mapping
+ clock_t timeSweep; // time to perform technology dependent sweep
+ clock_t timeToNet; // time to transfer back to the network
+ clock_t timeTotal; // the total mapping time
+ clock_t time1; // time to transfer to the mapping structure
+ clock_t time2; // time to transfer to the mapping structure
+ clock_t time3; // time to transfer to the mapping structure
};
// the supergate library
diff --git a/src/map/mapper/mapperLib.c b/src/map/mapper/mapperLib.c
index c8b677bf..8b30f294 100644
--- a/src/map/mapper/mapperLib.c
+++ b/src/map/mapper/mapperLib.c
@@ -56,7 +56,7 @@ ABC_NAMESPACE_IMPL_START
Map_SuperLib_t * Map_SuperLibCreate( char * pFileName, char * pExcludeFile, int fAlgorithm, int fVerbose )
{
Map_SuperLib_t * p;
- int clk;
+ clock_t clk;
// start the supergate library
p = ABC_ALLOC( Map_SuperLib_t, 1 );
diff --git a/src/map/super/superAnd.c b/src/map/super/superAnd.c
index 17ba9771..b6a30025 100644
--- a/src/map/super/superAnd.c
+++ b/src/map/super/superAnd.c
@@ -115,7 +115,7 @@ void Super2_Precompute( int nInputs, int nLevels, int fVerbose )
Super2_Man_t * pMan;
Super2_Lib_t * pLibCur, * pLibNext;
int Level;
- int clk;
+ clock_t clk;
assert( nInputs < 6 );
@@ -463,7 +463,7 @@ void Super2_LibWrite( Super2_Lib_t * pLib )
Super2_Gate_t * pGate;
FILE * pFile;
char FileName[100];
- int clk;
+ clock_t clk;
if ( pLib->nLevels > 5 )
{
diff --git a/src/map/super/superGate.c b/src/map/super/superGate.c
index 840028c4..380065d3 100644
--- a/src/map/super/superGate.c
+++ b/src/map/super/superGate.c
@@ -70,7 +70,7 @@ struct Super_ManStruct_t_
int nAliases; // the number of hash table lookups thrown away due to aliasing
// runtime
- int Time; // the runtime of the generation procedure
+ clock_t Time; // the runtime of the generation procedure
int TimeLimit; // the runtime limit (in seconds)
int TimeSec; // the time passed (in seconds)
double TimeStop; // the time to stop computation (in miliseconds)
@@ -144,7 +144,8 @@ void Super_Precompute( Mio_Library_t * pLibGen, int nVarsMax, int nLevels, int n
{
Super_Man_t * pMan;
Mio_Gate_t ** ppGates;
- int nGates, Level, clk, clockStart;
+ int nGates, Level;
+ clock_t clk, clockStart;
assert( nVarsMax < 7 );
if ( nGatesMax < nVarsMax )
@@ -705,7 +706,7 @@ done:
***********************************************************************/
int Super_CheckTimeout( ProgressBar * pPro, Super_Man_t * pMan )
{
- int TimeNow = clock();
+ clock_t TimeNow = clock();
if ( TimeNow > pMan->TimePrint )
{
Extra_ProgressBarUpdate( pPro, ++pMan->TimeSec, NULL );
@@ -949,7 +950,8 @@ void Super_Write( Super_Man_t * pMan )
{
Super_Gate_t * pGateRoot, * pGate;
stmm_generator * gen;
- int fZeroFound, clk, v;
+ int fZeroFound, v;
+ clock_t clk;
ABC_PTRUINT_T Key;
if ( pMan->nGates < 1 )
diff --git a/src/misc/bbl/bblif.c b/src/misc/bbl/bblif.c
index 47190fb7..eefff9f7 100644
--- a/src/misc/bbl/bblif.c
+++ b/src/misc/bbl/bblif.c
@@ -22,7 +22,6 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
#include "src/misc/util/abc_global.h"
#include "bblif.h"
diff --git a/src/misc/extra/extra.h b/src/misc/extra/extra.h
index e9daa87e..2f04e781 100644
--- a/src/misc/extra/extra.h
+++ b/src/misc/extra/extra.h
@@ -42,7 +42,6 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
#include "src/misc/st/st.h"
diff --git a/src/misc/extra/extraBdd.h b/src/misc/extra/extraBdd.h
index 25df14bb..fcd10320 100644
--- a/src/misc/extra/extraBdd.h
+++ b/src/misc/extra/extraBdd.h
@@ -42,7 +42,6 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
#include "src/misc/st/st.h"
#include "src/bdd/cudd/cuddInt.h"
diff --git a/src/misc/extra/extraBddCas.c b/src/misc/extra/extraBddCas.c
index 0416a0d2..08b0f95f 100644
--- a/src/misc/extra/extraBddCas.c
+++ b/src/misc/extra/extraBddCas.c
@@ -192,7 +192,7 @@ Extra_bddEncodingNonStrict(
{
DdNode * bEncoded, * bResult;
int nVarsCol = Cudd_SupportSize(dd,bVarsCol);
- long clk;
+ clock_t clk;
// cannot work with more that 32-bit codes
assert( nMulti < 32 );
diff --git a/src/misc/extra/extraBddMisc.c b/src/misc/extra/extraBddMisc.c
index a5f987e3..b54449b4 100644
--- a/src/misc/extra/extraBddMisc.c
+++ b/src/misc/extra/extraBddMisc.c
@@ -1348,9 +1348,9 @@ extraTransferPermuteRecur(
if ( st_lookup( table, ( char * ) f, ( char ** ) &res ) )
return ( Cudd_NotCond( res, comple ) );
- if ( ddS->TimeStop && time(NULL) > ddS->TimeStop )
+ if ( ddS->TimeStop && clock() > ddS->TimeStop )
return NULL;
- if ( ddD->TimeStop && time(NULL) > ddD->TimeStop )
+ if ( ddD->TimeStop && clock() > ddD->TimeStop )
return NULL;
/* Recursive step. */
@@ -1909,9 +1909,9 @@ DdNode * extraBddAndPermute( DdHashTable * table, DdManager * ddF, DdNode * bF,
return bRes;
Counter++;
- if ( ddF->TimeStop && time(NULL) > ddF->TimeStop )
+ if ( ddF->TimeStop && clock() > ddF->TimeStop )
return NULL;
- if ( ddG->TimeStop && time(NULL) > ddG->TimeStop )
+ if ( ddG->TimeStop && clock() > ddG->TimeStop )
return NULL;
// find the topmost variable in F and G using var order of F
@@ -1982,7 +1982,7 @@ void Extra_TestAndPerm( DdManager * ddF, DdNode * bF, DdNode * bG )
{
DdManager * ddG;
DdNode * bG2, * bRes1, * bRes2;
- int clk;
+ clock_t clk;
// disable variable ordering in ddF
Cudd_AutodynDisable( ddF );
diff --git a/src/misc/extra/extraBddTime.c b/src/misc/extra/extraBddTime.c
index 853f8a64..b5e2672a 100644
--- a/src/misc/extra/extraBddTime.c
+++ b/src/misc/extra/extraBddTime.c
@@ -225,7 +225,7 @@ cuddBddAndRecurTime(
}
// if ( TimeOut && ((*pRecCalls)++ % CHECK_FACTOR) == 0 && TimeOut < clock() )
- if ( TimeOut && time(NULL) > TimeOut )
+ if ( TimeOut && clock() > TimeOut )
return NULL;
/* Here we can skip the use of cuddI, because the operands are known
@@ -379,7 +379,7 @@ cuddBddAndAbstractRecurTime(
}
// if ( TimeOut && ((*pRecCalls)++ % CHECK_FACTOR) == 0 && TimeOut < clock() )
- if ( TimeOut && time(NULL) > TimeOut )
+ if ( TimeOut && clock() > TimeOut )
return NULL;
if (topf == top) {
@@ -596,7 +596,7 @@ extraTransferPermuteRecurTime(
if ( st_lookup( table, ( char * ) f, ( char ** ) &res ) )
return ( Cudd_NotCond( res, comple ) );
- if ( TimeOut && time(NULL) > TimeOut )
+ if ( TimeOut && clock() > TimeOut )
return NULL;
/* Recursive step. */
diff --git a/src/misc/extra/extraUtilUtil.c b/src/misc/extra/extraUtilUtil.c
index fe8b25f1..7f19480c 100644
--- a/src/misc/extra/extraUtilUtil.c
+++ b/src/misc/extra/extraUtilUtil.c
@@ -347,7 +347,7 @@ void (*Extra_UtilMMoutOfMemory)( long size ) = (void (*)( long size ))Extra_Util
SeeAlso []
***********************************************************************/
-long Extra_CpuTime()
+clock_t Extra_CpuTime()
{
return clock();
}
@@ -366,7 +366,7 @@ long Extra_CpuTime()
#if defined(NT) || defined(NT64) || defined(WIN32)
double Extra_CpuTimeDouble()
{
- return (double)clock()/CLOCKS_PER_SEC;
+ return 1.0*clock()/CLOCKS_PER_SEC;
}
#else
diff --git a/src/misc/nm/nmTable.c b/src/misc/nm/nmTable.c
index 4c2b7a0a..1a792242 100644
--- a/src/misc/nm/nmTable.c
+++ b/src/misc/nm/nmTable.c
@@ -256,7 +256,8 @@ void Nm_ManProfile( Nm_Man_t * p )
void Nm_ManResize( Nm_Man_t * p )
{
Nm_Entry_t ** pBinsNewI2N, ** pBinsNewN2I, * pEntry, * pEntry2, ** ppSpot;
- int nBinsNew, Counter, e, clk;
+ int nBinsNew, Counter, e;
+ clock_t clk;
clk = clock();
// get the new table size
diff --git a/src/misc/tim/tim.c b/src/misc/tim/tim.c
index 9056d261..c56bfaaf 100644
--- a/src/misc/tim/tim.c
+++ b/src/misc/tim/tim.c
@@ -22,7 +22,6 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
#include "src/misc/vec/vec.h"
#include "src/misc/mem/mem.h"
diff --git a/src/misc/util/utilSort.c b/src/misc/util/utilSort.c
index eb2b32c3..48321c9f 100644
--- a/src/misc/util/utilSort.c
+++ b/src/misc/util/utilSort.c
@@ -398,9 +398,10 @@ int Abc_SortNumCompare( int * pNum1, int * pNum2 )
void Abc_SortTest()
{
int fUseNew = 0;
- int i, clk, nSize = 50000000;
+ int i, nSize = 50000000;
int * pArray = (int *)malloc( sizeof(int) * nSize );
int * pPerm;
+ clock_t clk;
// generate numbers
srand( 1000 );
for ( i = 0; i < nSize; i++ )
@@ -743,7 +744,8 @@ void Abc_QuickSortTest()
int nSize = 1000000;
int fVerbose = 0;
word * pData1, * pData2;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
// generate numbers
pData1 = ABC_ALLOC( word, nSize );
pData2 = ABC_ALLOC( word, nSize );
diff --git a/src/misc/util/util_hack.h b/src/misc/util/util_hack.h
index 9c702bfe..505b8c99 100644
--- a/src/misc/util/util_hack.h
+++ b/src/misc/util/util_hack.h
@@ -25,7 +25,6 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
#include <math.h>
#include "abc_global.h"
diff --git a/src/opt/cgt/cgtCore.c b/src/opt/cgt/cgtCore.c
index 73195413..82f4e105 100644
--- a/src/opt/cgt/cgtCore.c
+++ b/src/opt/cgt/cgtCore.c
@@ -200,7 +200,8 @@ void Cgt_ClockGatingRangeCheck( Cgt_Man_t * p, int iStart, int nOutputs )
***********************************************************************/
int Cgt_ClockGatingRange( Cgt_Man_t * p, int iStart )
{
- int nOutputs, iStop, clk, clkTotal = clock();
+ int nOutputs, iStop;
+ clock_t clk, clkTotal = clock();
int nCallsUnsat = p->nCallsUnsat;
int nCallsSat = p->nCallsSat;
int nCallsUndec = p->nCallsUndec;
@@ -247,7 +248,8 @@ Vec_Vec_t * Cgt_ClockGatingCandidates( Aig_Man_t * pAig, Aig_Man_t * pCare, Cgt_
Cgt_Par_t Pars;
Cgt_Man_t * p;
Vec_Vec_t * vGatesAll;
- int iStart, clk = clock(), clkTotal = clock();
+ int iStart;
+ clock_t clk = clock(), clkTotal = clock();
// reset random numbers
Aig_ManRandom( 1 );
if ( pPars == NULL )
diff --git a/src/opt/cgt/cgtDecide.c b/src/opt/cgt/cgtDecide.c
index c5b49bbc..4e4a57b1 100644
--- a/src/opt/cgt/cgtDecide.c
+++ b/src/opt/cgt/cgtDecide.c
@@ -192,7 +192,8 @@ Vec_Vec_t * Cgt_ManDecideSimple( Aig_Man_t * pAig, Vec_Vec_t * vGatesAll, int nO
Vec_Vec_t * vGates;
Vec_Ptr_t * vCands;
Aig_Obj_t * pObjLi, * pObjLo, * pCand, * pCandBest;
- int i, k, nHitsCur, nHitsMax, Counter = 0, clk = clock();
+ int i, k, nHitsCur, nHitsMax, Counter = 0;
+ clock_t clk = clock();
int nTransTotal = 0, nTransSaved = 0;
vGates = Vec_VecStart( Saig_ManRegNum(pAig) );
pSml = Ssw_SmlSimulateSeq( pAig, 0, nFrames, nWords );
@@ -259,7 +260,8 @@ Vec_Vec_t * Cgt_ManDecideArea( Aig_Man_t * pAig, Vec_Vec_t * vGatesAll, int nOdc
Vec_Vec_t * vGates;
Vec_Ptr_t * vCompletes, * vOne;
Aig_Obj_t * pGate;
- int i, k, Counter = 0, clk = clock();
+ int i, k, Counter = 0;
+ clock_t clk = clock();
// derive and label complete gates
vCompletes = Cgt_ManCompleteGates( pAig, vGatesAll, nOdcMax, fVerbose );
// label complete gates
diff --git a/src/opt/cgt/cgtInt.h b/src/opt/cgt/cgtInt.h
index 1fdbf35f..78c27224 100644
--- a/src/opt/cgt/cgtInt.h
+++ b/src/opt/cgt/cgtInt.h
@@ -74,15 +74,15 @@ struct Cgt_Man_t_
int nCallsUnsat; // unsatisfiable calls
int nCallsUndec; // undecided calls
int nCallsFiltered; // filtered out calls
- int timeAig; // constructing AIG
- int timePrepare; // partitioning and SAT solving
- int timeSat; // total runtime
- int timeSatSat; // satisfiable runtime
- int timeSatUnsat; // unsatisfiable runtime
- int timeSatUndec; // undecided runtime
- int timeDecision; // making decision about what gates to use
- int timeOther; // other runtime
- int timeTotal; // total runtime
+ clock_t timeAig; // constructing AIG
+ clock_t timePrepare; // partitioning and SAT solving
+ clock_t timeSat; // total runtime
+ clock_t timeSatSat; // satisfiable runtime
+ clock_t timeSatUnsat; // unsatisfiable runtime
+ clock_t timeSatUndec; // undecided runtime
+ clock_t timeDecision; // making decision about what gates to use
+ clock_t timeOther; // other runtime
+ clock_t timeTotal; // total runtime
};
////////////////////////////////////////////////////////////////////////
diff --git a/src/opt/cgt/cgtSat.c b/src/opt/cgt/cgtSat.c
index 0a2a1daa..b6d3c599 100644
--- a/src/opt/cgt/cgtSat.c
+++ b/src/opt/cgt/cgtSat.c
@@ -46,7 +46,8 @@ ABC_NAMESPACE_IMPL_START
int Cgt_CheckImplication( Cgt_Man_t * p, Aig_Obj_t * pGate, Aig_Obj_t * pMiter )
{
int nBTLimit = p->pPars->nConfMax;
- int pLits[2], RetValue, clk;
+ int pLits[2], RetValue;
+ clock_t clk;
p->nCalls++;
// sanity checks
diff --git a/src/opt/csw/cswCore.c b/src/opt/csw/cswCore.c
index f1c2d934..3702b346 100644
--- a/src/opt/csw/cswCore.c
+++ b/src/opt/csw/cswCore.c
@@ -47,7 +47,8 @@ Aig_Man_t * Csw_Sweep( Aig_Man_t * pAig, int nCutsMax, int nLeafMax, int fVerbos
Csw_Man_t * p;
Aig_Man_t * pRes;
Aig_Obj_t * pObj, * pObjNew, * pObjRes;
- int i, clk;
+ int i;
+ clock_t clk;
clk = clock();
// start the manager
p = Csw_ManStart( pAig, nCutsMax, nLeafMax, fVerbose );
diff --git a/src/opt/csw/cswCut.c b/src/opt/csw/cswCut.c
index bb6677c2..0b1d9254 100644
--- a/src/opt/csw/cswCut.c
+++ b/src/opt/csw/cswCut.c
@@ -497,7 +497,8 @@ Aig_Obj_t * Csw_ObjSweep( Csw_Man_t * p, Aig_Obj_t * pObj, int fTriv )
Aig_Obj_t * pFanin1 = Aig_ObjFanin1(pObj);
Aig_Obj_t * pObjNew;
unsigned * pTruth;
- int i, k, nVars, nFanins, iVar, clk;
+ int i, k, nVars, nFanins, iVar;
+ clock_t clk;
assert( !Aig_IsComplement(pObj) );
if ( !Aig_ObjIsNode(pObj) )
diff --git a/src/opt/csw/cswInt.h b/src/opt/csw/cswInt.h
index e6c10b36..65228fcd 100644
--- a/src/opt/csw/cswInt.h
+++ b/src/opt/csw/cswInt.h
@@ -30,7 +30,6 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
#include "src/aig/aig/aig.h"
#include "src/opt/dar/dar.h"
@@ -94,10 +93,10 @@ struct Csw_Man_t_
int nNodesTriv2; // the number of trivial nodes
int nNodesCuts; // the number of rewritten nodes
int nNodesTried; // the number of nodes tried
- int timeCuts; // time to compute the cut and its truth table
- int timeHash; // time for hashing cuts
- int timeOther; // other time
- int timeTotal; // total time
+ clock_t timeCuts; // time to compute the cut and its truth table
+ clock_t timeHash; // time for hashing cuts
+ clock_t timeOther; // other time
+ clock_t timeTotal; // total time
};
static inline int Csw_CutLeaveNum( Csw_Cut_t * pCut ) { return pCut->nFanins; }
diff --git a/src/opt/cut/cut.h b/src/opt/cut/cut.h
index cd87e5a0..64d3108a 100644
--- a/src/opt/cut/cut.h
+++ b/src/opt/cut/cut.h
@@ -124,7 +124,7 @@ extern int Cut_CutCountList( Cut_Cut_t * pList );
extern Cut_Man_t * Cut_ManStart( Cut_Params_t * pParams );
extern void Cut_ManStop( Cut_Man_t * p );
extern void Cut_ManPrintStats( Cut_Man_t * p );
-extern void Cut_ManPrintStatsToFile( Cut_Man_t * p, char * pFileName, int TimeTotal );
+extern void Cut_ManPrintStatsToFile( Cut_Man_t * p, char * pFileName, clock_t TimeTotal );
extern void Cut_ManSetFanoutCounts( Cut_Man_t * p, Vec_Int_t * vFanCounts );
extern void Cut_ManSetNodeAttrs( Cut_Man_t * p, Vec_Int_t * vFanCounts );
extern int Cut_ManReadVarsMax( Cut_Man_t * p );
diff --git a/src/opt/cut/cutInt.h b/src/opt/cut/cutInt.h
index 39606b00..a66a5786 100644
--- a/src/opt/cut/cutInt.h
+++ b/src/opt/cut/cutInt.h
@@ -92,12 +92,12 @@ struct Cut_ManStruct_t_
int nNodesDag;
int nNodesNoCuts;
// runtime
- int timeMerge;
- int timeUnion;
- int timeTruth;
- int timeFilter;
- int timeHash;
- int timeMap;
+ clock_t timeMerge;
+ clock_t timeUnion;
+ clock_t timeTruth;
+ clock_t timeFilter;
+ clock_t timeHash;
+ clock_t timeMap;
};
// iterator through all the cuts of the list
diff --git a/src/opt/cut/cutMan.c b/src/opt/cut/cutMan.c
index 4a9f8f4b..12c65935 100644
--- a/src/opt/cut/cutMan.c
+++ b/src/opt/cut/cutMan.c
@@ -201,7 +201,7 @@ void Cut_ManPrintStats( Cut_Man_t * p )
SeeAlso []
***********************************************************************/
-void Cut_ManPrintStatsToFile( Cut_Man_t * p, char * pFileName, int TimeTotal )
+void Cut_ManPrintStatsToFile( Cut_Man_t * p, char * pFileName, clock_t TimeTotal )
{
FILE * pTable;
pTable = fopen( "cut_stats.txt", "a+" );
diff --git a/src/opt/cut/cutNode.c b/src/opt/cut/cutNode.c
index 010e1e00..4f94011a 100644
--- a/src/opt/cut/cutNode.c
+++ b/src/opt/cut/cutNode.c
@@ -370,7 +370,7 @@ Cut_Cut_t * Cut_NodeComputeCuts( Cut_Man_t * p, int Node, int Node0, int Node1,
{
Cut_List_t Super, * pSuper = &Super;
Cut_Cut_t * pList, * pCut;
- int clk;
+ clock_t clk;
// start the number of cuts at the node
p->nNodes++;
p->nNodeCuts = 0;
@@ -681,7 +681,7 @@ Cut_Cut_t * Cut_NodeUnionCuts( Cut_Man_t * p, Vec_Int_t * vNodes )
Cut_Cut_t * pList, * pListStart, * pCut, * pCut2;
Cut_Cut_t * pTop = NULL; // Suppress "might be used uninitialized"
int i, k, Node, Root, Limit = p->pParams->nVarsMax;
- int clk = clock();
+ clock_t clk = clock();
// start the new list
Cut_ListStart( pSuper );
@@ -797,7 +797,7 @@ Cut_Cut_t * Cut_NodeUnionCutsSeq( Cut_Man_t * p, Vec_Int_t * vNodes, int CutSetN
Cut_List_t Super, * pSuper = &Super;
Cut_Cut_t * pList, * pListStart, * pCut, * pCut2, * pTop;
int i, k, Node, Root, Limit = p->pParams->nVarsMax;
- int clk = clock();
+ clock_t clk = clock();
// start the new list
Cut_ListStart( pSuper );
diff --git a/src/opt/cut/cutOracle.c b/src/opt/cut/cutOracle.c
index b26e7d5e..5b740da5 100644
--- a/src/opt/cut/cutOracle.c
+++ b/src/opt/cut/cutOracle.c
@@ -46,7 +46,7 @@ struct Cut_OracleStruct_t_
int EntrySize;
int nTruthWords;
// stats
- int timeTotal;
+ clock_t timeTotal;
int nCuts;
int nCutsTriv;
};
@@ -322,7 +322,7 @@ Cut_Cut_t * Cut_OracleComputeCuts( Cut_Oracle_t * p, int Node, int Node0, int No
Cut_Cut_t * pList = NULL, ** ppTail = &pList;
Cut_Cut_t * pCut, * pCut0, * pCut1, * pList0, * pList1;
int iCutStart, nCuts, i, Entry;
- int clk = clock();
+ clock_t clk = clock();
// get the cuts of the children
pList0 = (Cut_Cut_t *)Vec_PtrEntry( p->vCutsNew, Node0 );
diff --git a/src/opt/cut/cutPre22.c b/src/opt/cut/cutPre22.c
index d51d9056..4e507fba 100644
--- a/src/opt/cut/cutPre22.c
+++ b/src/opt/cut/cutPre22.c
@@ -69,9 +69,9 @@ struct Cut_CMan_t_
int nVarCounts[CUT_CELL_MVAR+1];
int nSymGroups[CUT_CELL_MVAR+1];
int nSymGroupsE[CUT_CELL_MVAR+1];
- int timeCanon;
- int timeSupp;
- int timeTable;
+ clock_t timeCanon;
+ clock_t timeSupp;
+ clock_t timeTable;
int nCellFound;
int nCellNotFound;
};
@@ -234,7 +234,8 @@ void Cut_CellPrecompute()
{
Cut_CMan_t * p;
Cut_Cell_t * pCell, * pTemp;
- int i1, i2, i3, i, j, k, c, clk = clock(); //, clk2 = clock();
+ int i1, i2, i3, i, j, k, c;
+ clock_t clk = clock(); //, clk2 = clock();
p = Cut_CManStart();
@@ -840,7 +841,7 @@ void Cut_CellDumpToFile()
int NumUsed[10][5] = {{0}};
int BoxUsed[22][5] = {{0}};
int i, k, Counter;
- int clk = clock();
+ clock_t clk = clock();
if ( p == NULL )
{
diff --git a/src/opt/cut/cutSeq.c b/src/opt/cut/cutSeq.c
index 3f671d24..e1df2c95 100644
--- a/src/opt/cut/cutSeq.c
+++ b/src/opt/cut/cutSeq.c
@@ -73,7 +73,7 @@ void Cut_NodeComputeCutsSeq( Cut_Man_t * p, int Node, int Node0, int Node1, int
{
Cut_List_t Super, * pSuper = &Super;
Cut_Cut_t * pListNew;
- int clk;
+ clock_t clk;
// get the number of cuts at the node
p->nNodeCuts = Cut_CutCountList( Cut_NodeReadCutsOld(p, Node) );
diff --git a/src/opt/dar/darCore.c b/src/opt/dar/darCore.c
index 958ab70a..ba945f77 100644
--- a/src/opt/dar/darCore.c
+++ b/src/opt/dar/darCore.c
@@ -83,7 +83,8 @@ int Dar_ManRewrite( Aig_Man_t * pAig, Dar_RwrPar_t * pPars )
Dar_Cut_t * pCut;
Aig_Obj_t * pObj, * pObjNew;
int i, k, nNodesOld, nNodeBefore, nNodeAfter, Required;
- int clk = 0, clkStart, Counter = 0;
+ clock_t clk = 0, clkStart;
+ int Counter = 0;
int nMffcSize;//, nMffcGains[MAX_VAL+1][MAX_VAL+1] = {{0}};
// prepare the library
Dar_LibPrepare( pPars->nSubgMax );
@@ -287,7 +288,8 @@ Aig_MmFixed_t * Dar_ManComputeCuts( Aig_Man_t * pAig, int nCutsMax, int fSkipTtM
Dar_RwrPar_t Pars, * pPars = &Pars;
Aig_Obj_t * pObj;
Aig_MmFixed_t * pMemCuts;
- int i, nNodes, clk = clock();
+ int i, nNodes;
+ clock_t clk = clock();
// remove dangling nodes
if ( (nNodes = Aig_ManCleanup( pAig )) )
{
diff --git a/src/opt/dar/darInt.h b/src/opt/dar/darInt.h
index caea213c..6bf347e1 100644
--- a/src/opt/dar/darInt.h
+++ b/src/opt/dar/darInt.h
@@ -30,9 +30,7 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
-//#include "bar.h"
#include "src/misc/vec/vec.h"
#include "src/aig/aig/aig.h"
#include "dar.h"
@@ -98,12 +96,12 @@ struct Dar_Man_t_
int nCutsGood; // good cuts
int nCutsSkipped; // skipped bad cuts
// timing statistics
- int timeCuts;
- int timeEval;
- int timeOther;
- int timeTotal;
- int time1;
- int time2;
+ clock_t timeCuts;
+ clock_t timeEval;
+ clock_t timeOther;
+ clock_t timeTotal;
+ clock_t time1;
+ clock_t time2;
};
static inline Dar_Cut_t * Dar_ObjCuts( Aig_Obj_t * pObj ) { return (Dar_Cut_t *)pObj->pData; }
diff --git a/src/opt/dar/darLib.c b/src/opt/dar/darLib.c
index 41794d18..67a5f59e 100644
--- a/src/opt/dar/darLib.c
+++ b/src/opt/dar/darLib.c
@@ -920,8 +920,8 @@ void Dar_LibEval( Dar_Man_t * p, Aig_Obj_t * pRoot, Dar_Cut_t * pCut, int Requir
int fTraining = 0;
float PowerSaved, PowerAdded;
Dar_LibObj_t * pObj;
- int Out, k, Class, nNodesSaved, nNodesAdded, nNodesGained, clk;
- clk = clock();
+ int Out, k, Class, nNodesSaved, nNodesAdded, nNodesGained;
+ clock_t clk = clock();
if ( pCut->nLeaves != 4 )
return;
// check if the cut exits and assigns leaves and their levels
@@ -1188,8 +1188,8 @@ int Dar2_LibEval( Gia_Man_t * p, Vec_Int_t * vCutLits, unsigned uTruth, int fKee
int p_ClassBest = -1;
// int fTraining = 0;
Dar_LibObj_t * pObj;
- int Out, k, Class, nNodesSaved, nNodesAdded, nNodesGained, clk;
- clk = clock();
+ int Out, k, Class, nNodesSaved, nNodesAdded, nNodesGained;
+ clock_t clk = clock();
assert( Vec_IntSize(vCutLits) == 4 );
assert( (uTruth >> 16) == 0 );
// check if the cut exits and assigns leaves and their levels
diff --git a/src/opt/dar/darRefact.c b/src/opt/dar/darRefact.c
index 0ff7c44f..dcfbeac7 100644
--- a/src/opt/dar/darRefact.c
+++ b/src/opt/dar/darRefact.c
@@ -61,10 +61,10 @@ struct Ref_Man_t_
int nCutsUsed; // the number of rewriting steps
int nCutsTried; // the number of cuts tries
// timing statistics
- int timeCuts;
- int timeEval;
- int timeOther;
- int timeTotal;
+ clock_t timeCuts;
+ clock_t timeEval;
+ clock_t timeOther;
+ clock_t timeTotal;
};
////////////////////////////////////////////////////////////////////////
@@ -500,7 +500,8 @@ int Dar_ManRefactor( Aig_Man_t * pAig, Dar_RefPar_t * pPars )
Vec_Ptr_t * vCut, * vCut2;
Aig_Obj_t * pObj, * pObjNew;
int nNodesOld, nNodeBefore, nNodeAfter, nNodesSaved, nNodesSaved2;
- int i, Required, nLevelMin, clkStart, clk;
+ int i, Required, nLevelMin;
+ clock_t clkStart, clk;
// start the manager
p = Dar_ManRefStart( pAig, pPars );
diff --git a/src/opt/dar/darScript.c b/src/opt/dar/darScript.c
index 5561908d..be67b212 100644
--- a/src/opt/dar/darScript.c
+++ b/src/opt/dar/darScript.c
@@ -398,7 +398,8 @@ Aig_Man_t * Dar_ManChoice( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, int
{
Aig_Man_t * pMan, * pTemp;
Vec_Ptr_t * vAigs;
- int i, clk;
+ int i;
+ clock_t clk;
clk = clock();
// vAigs = Dar_ManChoiceSynthesisExt();
@@ -802,7 +803,8 @@ Aig_Man_t * Dar_ManChoiceNewAig( Aig_Man_t * pAig, Dch_Pars_t * pPars )
Vec_Ptr_t * vPios;
void * pManTime;
char * pName, * pSpec;
- int i, clk;
+ int i;
+ clock_t clk;
clk = clock();
vAigs = Dar_ManChoiceSynthesis( pAig, 1, 1, pPars->fPower, fVerbose );
@@ -873,7 +875,7 @@ Aig_Man_t * Dar_ManChoiceNew( Aig_Man_t * pAig, Dch_Pars_t * pPars )
Vec_Ptr_t * vPios;
void * pManTime;
char * pName, * pSpec;
- int clk;
+ clock_t clk;
// save useful things
pManTime = pAig->pManTime; pAig->pManTime = NULL;
diff --git a/src/opt/lpk/lpkAbcDec.c b/src/opt/lpk/lpkAbcDec.c
index de5b66cc..731c37e6 100644
--- a/src/opt/lpk/lpkAbcDec.c
+++ b/src/opt/lpk/lpkAbcDec.c
@@ -148,7 +148,7 @@ int Lpk_Decompose_rec( Lpk_Man_t * pMan, Lpk_Fun_t * p )
{
Lpk_Res_t * pResMux, * pResDsd;
Lpk_Fun_t * p2;
- int clk;
+ clock_t clk;
// is only called for non-trivial blocks
assert( p->nLutK >= 3 && p->nLutK <= 6 );
diff --git a/src/opt/lpk/lpkCore.c b/src/opt/lpk/lpkCore.c
index 5019ba83..6ab13bda 100644
--- a/src/opt/lpk/lpkCore.c
+++ b/src/opt/lpk/lpkCore.c
@@ -133,7 +133,8 @@ int Lpk_ExploreCut( Lpk_Man_t * p, Lpk_Cut_t * pCut, Kit_DsdNtk_t * pNtk )
Kit_DsdObj_t * pRoot;
If_Obj_t * pDriver, * ppLeaves[16];
Abc_Obj_t * pLeaf, * pObjNew;
- int nGain, i, clk;
+ int nGain, i;
+ clock_t clk;
int nNodesBef;
// int nOldShared;
@@ -242,7 +243,8 @@ int Lpk_ResynthesizeNode( Lpk_Man_t * p )
Kit_DsdNtk_t * pDsdNtk;
Lpk_Cut_t * pCut;
unsigned * pTruth;
- int i, k, nSuppSize, nCutNodes, RetValue, clk;
+ int i, k, nSuppSize, nCutNodes, RetValue;
+ clock_t clk;
// compute the cuts
clk = clock();
@@ -371,7 +373,8 @@ int Lpk_ResynthesizeNodeNew( Lpk_Man_t * p )
Lpk_Cut_t * pCut;
unsigned * pTruth;
int nNodesBef, nNodesAft, nCutNodes;
- int i, k, clk;
+ int i, k;
+ clock_t clk;
int Required = Abc_ObjRequiredLevel(p->pObj);
// CloudNode * pFun2;//, * pFun1;
@@ -507,7 +510,8 @@ int Lpk_Resynthesize( Abc_Ntk_t * pNtk, Lpk_Par_t * pPars )
Abc_Obj_t * pObj;
double Delta;
// int * pnFanouts, nObjMax;
- int i, Iter, nNodes, nNodesPrev, clk = clock();
+ int i, Iter, nNodes, nNodesPrev;
+ clock_t clk = clock();
assert( Abc_NtkIsLogic(pNtk) );
// sweep dangling nodes as a preprocessing step
diff --git a/src/opt/lpk/lpkInt.h b/src/opt/lpk/lpkInt.h
index 61fa1624..2ff47dc4 100644
--- a/src/opt/lpk/lpkInt.h
+++ b/src/opt/lpk/lpkInt.h
@@ -121,20 +121,20 @@ struct Lpk_Man_t_
// counter of non-DSD blocks
int nBlocks[17];
// runtime
- int timeCuts;
- int timeTruth;
- int timeSupps;
- int timeTruth2;
- int timeTruth3;
- int timeEval;
- int timeMap;
- int timeOther;
- int timeTotal;
+ clock_t timeCuts;
+ clock_t timeTruth;
+ clock_t timeSupps;
+ clock_t timeTruth2;
+ clock_t timeTruth3;
+ clock_t timeEval;
+ clock_t timeMap;
+ clock_t timeOther;
+ clock_t timeTotal;
// runtime of eval
- int timeEvalMuxAn;
- int timeEvalMuxSp;
- int timeEvalDsdAn;
- int timeEvalDsdSp;
+ clock_t timeEvalMuxAn;
+ clock_t timeEvalMuxSp;
+ clock_t timeEvalDsdAn;
+ clock_t timeEvalDsdSp;
};
diff --git a/src/opt/mfs/mfsCore.c b/src/opt/mfs/mfsCore.c
index 5214e833..8ca9edcf 100644
--- a/src/opt/mfs/mfsCore.c
+++ b/src/opt/mfs/mfsCore.c
@@ -235,7 +235,7 @@ void Abc_NtkMfsPowerResub( Mfs_Man_t * p, Mfs_Par_t * pPars)
***********************************************************************/
int Abc_NtkMfsResub( Mfs_Man_t * p, Abc_Obj_t * pNode )
{
- int clk;
+ clock_t clk;
p->nNodesTried++;
// prepare data structure for this node
Mfs_ManClean( p );
@@ -307,7 +307,8 @@ int Abc_NtkMfsNode( Mfs_Man_t * p, Abc_Obj_t * pNode )
float dProb;
extern Hop_Obj_t * Abc_NodeIfNodeResyn( Bdc_Man_t * p, Hop_Man_t * pHop, Hop_Obj_t * pRoot, int nVars, Vec_Int_t * vTruth, unsigned * puCare, float dProb );
- int nGain, clk;
+ int nGain;
+ clock_t clk;
p->nNodesTried++;
// prepare data structure for this node
Mfs_ManClean( p );
@@ -380,7 +381,8 @@ int Abc_NtkMfs( Abc_Ntk_t * pNtk, Mfs_Par_t * pPars )
Abc_Obj_t * pObj;
Vec_Vec_t * vLevels;
Vec_Ptr_t * vNodes;
- int i, k, nNodes, nFaninMax, clk = clock(), clk2;
+ int i, k, nNodes, nFaninMax;
+ clock_t clk = clock(), clk2;
int nTotalNodesBeg = Abc_NtkNodeNum(pNtk);
int nTotalEdgesBeg = Abc_NtkGetTotalFanins(pNtk);
diff --git a/src/opt/mfs/mfsInt.h b/src/opt/mfs/mfsInt.h
index fe154093..8b28fe61 100644
--- a/src/opt/mfs/mfsInt.h
+++ b/src/opt/mfs/mfsInt.h
@@ -119,14 +119,14 @@ struct Mfs_Man_t_
float TotalSwitchingBeg;
float TotalSwitchingEnd;
// statistics
- int timeWin;
- int timeDiv;
- int timeAig;
- int timeGia;
- int timeCnf;
- int timeSat;
- int timeInt;
- int timeTotal;
+ clock_t timeWin;
+ clock_t timeDiv;
+ clock_t timeAig;
+ clock_t timeGia;
+ clock_t timeCnf;
+ clock_t timeSat;
+ clock_t timeInt;
+ clock_t timeTotal;
};
static inline float Abc_MfsObjProb( Mfs_Man_t * p, Abc_Obj_t * pObj ) { return (p->vProbs && pObj->Id < Vec_IntSize(p->vProbs))? Abc_Int2Float(Vec_IntEntry(p->vProbs,pObj->Id)) : 0.0; }
diff --git a/src/opt/mfs/mfsResub.c b/src/opt/mfs/mfsResub.c
index e908a56c..54f40721 100644
--- a/src/opt/mfs/mfsResub.c
+++ b/src/opt/mfs/mfsResub.c
@@ -167,7 +167,8 @@ int Abc_NtkMfsSolveSatResub( Mfs_Man_t * p, Abc_Obj_t * pNode, int iFanin, int f
int fVeryVerbose = p->pPars->fVeryVerbose && Vec_PtrSize(p->vDivs) < 80;// || pNode->Id == 556;
unsigned * pData;
int pCands[MFS_FANIN_MAX];
- int RetValue, iVar, i, nCands, nWords, w, clk;
+ int RetValue, iVar, i, nCands, nWords, w;
+ clock_t clk;
Abc_Obj_t * pFanin;
Hop_Obj_t * pFunc;
assert( iFanin >= 0 );
@@ -314,7 +315,8 @@ int Abc_NtkMfsSolveSatResub2( Mfs_Man_t * p, Abc_Obj_t * pNode, int iFanin, int
int fVeryVerbose = p->pPars->fVeryVerbose && Vec_PtrSize(p->vDivs) < 80;
unsigned * pData, * pData2;
int pCands[MFS_FANIN_MAX];
- int RetValue, iVar, iVar2, i, w, nCands, clk, nWords, fBreak;
+ int RetValue, iVar, iVar2, i, w, nCands, nWords, fBreak;
+ clock_t clk;
Abc_Obj_t * pFanin;
Hop_Obj_t * pFunc;
assert( iFanin >= 0 );
diff --git a/src/opt/nwk/nwkBidec.c b/src/opt/nwk/nwkBidec.c
index 1b6439d2..2f1c0366 100644
--- a/src/opt/nwk/nwkBidec.c
+++ b/src/opt/nwk/nwkBidec.c
@@ -133,7 +133,7 @@ void Nwk_ManBidecResyn( Nwk_Man_t * pNtk, int fVerbose )
Nwk_Obj_t * pObj;
Vec_Int_t * vTruth;
int i, nGainTotal = 0, nNodes1, nNodes2;
- int clk = clock();
+ clock_t clk = clock();
pPars->nVarsMax = Nwk_ManGetFaninMax( pNtk );
pPars->fVerbose = fVerbose;
if ( pPars->nVarsMax < 2 )
diff --git a/src/opt/nwk/nwkFlow.c b/src/opt/nwk/nwkFlow.c
index 3961e5c2..50a4787f 100644
--- a/src/opt/nwk/nwkFlow.c
+++ b/src/opt/nwk/nwkFlow.c
@@ -444,7 +444,7 @@ Vec_Ptr_t * Nwk_ManRetimeCutForward( Nwk_Man_t * pMan, int nLatches, int fVerbos
Vec_Ptr_t * vNodes;
Nwk_Obj_t * pObj;
int i, RetValue, Counter = 0, Counter2 = 0;
- int clk = clock();
+ clock_t clk = clock();
// set the sequential parameters
pMan->nLatches = nLatches;
pMan->nTruePis = Nwk_ManCiNum(pMan) - nLatches;
@@ -525,7 +525,7 @@ Vec_Ptr_t * Nwk_ManRetimeCutBackward( Nwk_Man_t * pMan, int nLatches, int fVerbo
Vec_Ptr_t * vNodes;
Nwk_Obj_t * pObj;
int i, RetValue, Counter = 0, Counter2 = 0;
- int clk = clock();
+ clock_t clk = clock();
// set the sequential parameters
pMan->nLatches = nLatches;
pMan->nTruePis = Nwk_ManCiNum(pMan) - nLatches;
diff --git a/src/opt/nwk/nwkMap.c b/src/opt/nwk/nwkMap.c
index 5f08e179..3de55c43 100644
--- a/src/opt/nwk/nwkMap.c
+++ b/src/opt/nwk/nwkMap.c
@@ -109,7 +109,8 @@ If_Man_t * Nwk_ManToIf( Aig_Man_t * p, If_Par_t * pPars, Vec_Ptr_t * vAigToIf )
If_Man_t * pIfMan;
If_Obj_t * pIfObj;
Aig_Obj_t * pNode, * pFanin, * pPrev;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
// set the number of registers (switch activity will be combinational)
Aig_ManSetRegNum( p, 0 );
if ( pPars->fPower )
diff --git a/src/opt/nwk/nwkMerge.c b/src/opt/nwk/nwkMerge.c
index 2a43bc16..b733e2a3 100644
--- a/src/opt/nwk/nwkMerge.c
+++ b/src/opt/nwk/nwkMerge.c
@@ -704,7 +704,7 @@ int Nwk_ManLutMergeGraphTest( char * pFileName )
{
int nPairs;
Nwk_Grf_t * p;
- int clk = clock();
+ clock_t clk = clock();
p = Nwk_ManLutMergeReadGraph( pFileName );
ABC_PRT( "Reading", clock() - clk );
clk = clock();
@@ -974,7 +974,8 @@ Vec_Int_t * Nwk_ManLutMerge( Nwk_Man_t * pNtk, void * pParsInit )
Vec_Int_t * vResult;
Vec_Ptr_t * vStart, * vNext, * vCands1, * vCands2;
Nwk_Obj_t * pLut, * pCand;
- int i, k, nVertsMax, nCands, clk = clock();
+ int i, k, nVertsMax, nCands;
+ clock_t clk = clock();
// count the number of vertices
nVertsMax = 0;
Nwk_ManForEachNode( pNtk, pLut, i )
diff --git a/src/opt/nwk/nwkUtil.c b/src/opt/nwk/nwkUtil.c
index 9d23c869..cf3e5bf3 100644
--- a/src/opt/nwk/nwkUtil.c
+++ b/src/opt/nwk/nwkUtil.c
@@ -543,7 +543,8 @@ int Nwk_ManMinimumBaseInt( Nwk_Man_t * pNtk, int fVerbose )
***********************************************************************/
void Nwk_ManMinimumBaseRec( Nwk_Man_t * pNtk, int fVerbose )
{
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
for ( i = 0; Nwk_ManMinimumBaseInt( pNtk, fVerbose ); i++ );
ABC_PRT( "Minbase", clock() - clk );
}
diff --git a/src/opt/res/resCore.c b/src/opt/res/resCore.c
index effc7e65..acb8542c 100644
--- a/src/opt/res/resCore.c
+++ b/src/opt/res/resCore.c
@@ -60,18 +60,18 @@ struct Res_Man_t_
int nTotalNets2; // the total number of nets
int nTotalNodes2; // the total number of nodess
// runtime
- int timeWin; // windowing
- int timeDiv; // divisors
- int timeAig; // strashing
- int timeSim; // simulation
- int timeCand; // resubstitution candidates
- int timeSatTotal; // SAT solving total
- int timeSatSat; // SAT solving (sat calls)
- int timeSatUnsat; // SAT solving (unsat calls)
- int timeSatSim; // SAT solving (simulation)
- int timeInt; // interpolation
- int timeUpd; // updating
- int timeTotal; // total runtime
+ clock_t timeWin; // windowing
+ clock_t timeDiv; // divisors
+ clock_t timeAig; // strashing
+ clock_t timeSim; // simulation
+ clock_t timeCand; // resubstitution candidates
+ clock_t timeSatTotal; // SAT solving total
+ clock_t timeSatSat; // SAT solving (sat calls)
+ clock_t timeSatUnsat; // SAT solving (unsat calls)
+ clock_t timeSatSim; // SAT solving (simulation)
+ clock_t timeInt; // interpolation
+ clock_t timeUpd; // updating
+ clock_t timeTotal; // total runtime
};
extern Hop_Obj_t * Kit_GraphToHop( Hop_Man_t * pMan, Kit_Graph_t * pGraph );
@@ -220,7 +220,7 @@ int Abc_NtkResynthesize( Abc_Ntk_t * pNtk, Res_Par_t * pPars )
Vec_Ptr_t * vFanins;
unsigned * puTruth;
int i, k, RetValue, nNodesOld, nFanins, nFaninsMax;
- int clk, clkTotal = clock();
+ clock_t clk, clkTotal = clock();
// start the manager
p = Res_ManAlloc( pPars );
diff --git a/src/opt/res/resInt.h b/src/opt/res/resInt.h
index cd0cf84b..f9709bf6 100644
--- a/src/opt/res/resInt.h
+++ b/src/opt/res/resInt.h
@@ -91,7 +91,7 @@ struct Res_Sim_t_
// resub candidates
Vec_Vec_t * vCands; // resubstitution candidates
// statistics
- int timeSat;
+ clock_t timeSat;
};
////////////////////////////////////////////////////////////////////////
diff --git a/src/opt/res/resSat.c b/src/opt/res/resSat.c
index 111442b4..eec4012a 100644
--- a/src/opt/res/resSat.c
+++ b/src/opt/res/resSat.c
@@ -216,7 +216,7 @@ int Res_SatSimulate( Res_Sim_t * p, int nPatsLimit, int fOnSet )
sat_solver * pSat;
int RetValue = -1; // Suppress "might be used uninitialized"
int i, k, value, status, Lit, Var, iPat;
- int clk = clock();
+ clock_t clk = clock();
//printf( "Looking for %s: ", fOnSet? "onset " : "offset" );
diff --git a/src/opt/ret/retCore.c b/src/opt/ret/retCore.c
index 1b574001..35d5f4d0 100644
--- a/src/opt/ret/retCore.c
+++ b/src/opt/ret/retCore.c
@@ -27,7 +27,7 @@ ABC_NAMESPACE_IMPL_START
/// DECLARATIONS ///
////////////////////////////////////////////////////////////////////////
-int timeRetime = 0;
+clock_t timeRetime = 0;
////////////////////////////////////////////////////////////////////////
/// FUNCTION DEFINITIONS ///
@@ -48,7 +48,8 @@ int Abc_NtkRetime( Abc_Ntk_t * pNtk, int Mode, int nDelayLim, int fForwardOnly,
{
int nLatches = Abc_NtkLatchNum(pNtk);
int nLevels = Abc_NtkLevel(pNtk);
- int RetValue = 0, clkTotal = clock();
+ int RetValue = 0;
+ clock_t clkTotal = clock();
int nNodesOld, nLatchesOld;
assert( Mode > 0 && Mode < 7 );
assert( !fForwardOnly || !fBackwardOnly );
diff --git a/src/opt/ret/retFlow.c b/src/opt/ret/retFlow.c
index f684939c..9b215dab 100644
--- a/src/opt/ret/retFlow.c
+++ b/src/opt/ret/retFlow.c
@@ -145,7 +145,7 @@ Vec_Ptr_t * Abc_NtkMaxFlow( Abc_Ntk_t * pNtk, int fForward, int fVerbose )
Vec_Ptr_t * vMinCut;
Abc_Obj_t * pLatch;
int Flow, FlowCur, RetValue, i;
- int clk = clock();
+ clock_t clk = clock();
int fUseDirectedFlow = 1;
// find the max-flow
diff --git a/src/opt/ret/retInit.c b/src/opt/ret/retInit.c
index 44331e72..b3f6180a 100644
--- a/src/opt/ret/retInit.c
+++ b/src/opt/ret/retInit.c
@@ -48,7 +48,8 @@ Vec_Int_t * Abc_NtkRetimeInitialValues( Abc_Ntk_t * pNtkCone, Vec_Int_t * vValue
{
Vec_Int_t * vSolution;
Abc_Ntk_t * pNtkMiter, * pNtkLogic;
- int RetValue, clk;
+ int RetValue;
+ clock_t clk;
if ( pNtkCone == NULL )
return Vec_IntDup( vValues );
// convert the target network to AIG
diff --git a/src/opt/ret/retLvalue.c b/src/opt/ret/retLvalue.c
index 95569867..5bcc2583 100644
--- a/src/opt/ret/retLvalue.c
+++ b/src/opt/ret/retLvalue.c
@@ -93,7 +93,8 @@ Vec_Int_t * Abc_NtkRetimeGetLags( Abc_Ntk_t * pNtk, int nIterLimit, int fVerbose
Vec_Int_t * vLags;
Vec_Ptr_t * vNodes, * vLatches;
Abc_Obj_t * pNode;
- int i, FiMax, FiBest, RetValue, clk, clkIter;
+ int i, FiMax, FiBest, RetValue;
+ clock_t clk, clkIter;
char NodeLag;
// get the upper bound on the clock period
diff --git a/src/opt/rwr/rwr.h b/src/opt/rwr/rwr.h
index 50ea7998..d6c57329 100644
--- a/src/opt/rwr/rwr.h
+++ b/src/opt/rwr/rwr.h
@@ -86,13 +86,13 @@ struct Rwr_Man_t_
int nCutsBad;
int nSubgraphs;
// runtime statistics
- int timeStart;
- int timeCut;
- int timeRes;
- int timeEval;
- int timeMffc;
- int timeUpdate;
- int timeTotal;
+ clock_t timeStart;
+ clock_t timeCut;
+ clock_t timeRes;
+ clock_t timeEval;
+ clock_t timeMffc;
+ clock_t timeUpdate;
+ clock_t timeTotal;
};
struct Rwr_Node_t_ // 24 bytes
@@ -146,9 +146,9 @@ extern void Rwr_ManPrintStatsFile( Rwr_Man_t * p );
extern void * Rwr_ManReadDecs( Rwr_Man_t * p );
extern Vec_Ptr_t * Rwr_ManReadLeaves( Rwr_Man_t * p );
extern int Rwr_ManReadCompl( Rwr_Man_t * p );
-extern void Rwr_ManAddTimeCuts( Rwr_Man_t * p, int Time );
-extern void Rwr_ManAddTimeUpdate( Rwr_Man_t * p, int Time );
-extern void Rwr_ManAddTimeTotal( Rwr_Man_t * p, int Time );
+extern void Rwr_ManAddTimeCuts( Rwr_Man_t * p, clock_t Time );
+extern void Rwr_ManAddTimeUpdate( Rwr_Man_t * p, clock_t Time );
+extern void Rwr_ManAddTimeTotal( Rwr_Man_t * p, clock_t Time );
/*=== rwrPrint.c ========================================================*/
extern void Rwr_ManPrint( Rwr_Man_t * p );
/*=== rwrUtil.c ========================================================*/
diff --git a/src/opt/rwr/rwrEva.c b/src/opt/rwr/rwrEva.c
index 83eb8d7b..d3d5143c 100644
--- a/src/opt/rwr/rwrEva.c
+++ b/src/opt/rwr/rwrEva.c
@@ -69,7 +69,7 @@ int Rwr_NodeRewrite( Rwr_Man_t * p, Cut_Man_t * pManCut, Abc_Obj_t * pNode, int
int Required, nNodesSaved;
int nNodesSaveCur = -1; // Suppress "might be used uninitialized"
int i, GainCur, GainBest = -1;
- int clk, clk2;//, Counter;
+ clock_t clk, clk2;//, Counter;
p->nNodesConsidered++;
// get the required times
diff --git a/src/opt/rwr/rwrExp.c b/src/opt/rwr/rwrExp.c
index c4664fbf..2e5bc536 100644
--- a/src/opt/rwr/rwrExp.c
+++ b/src/opt/rwr/rwrExp.c
@@ -226,7 +226,7 @@ void Rwt_Man5ExplorePrint()
int * pDistrib;
unsigned * pReprs;
unsigned uTruth, uTruthC;
- int clk = clock();
+ clock_t clk = clock();
Vec_Int_t * vClassesNN, * vClassesNPN;
// find the max number of occurences
diff --git a/src/opt/rwr/rwrMan.c b/src/opt/rwr/rwrMan.c
index 00273b38..78ee2067 100644
--- a/src/opt/rwr/rwrMan.c
+++ b/src/opt/rwr/rwrMan.c
@@ -48,7 +48,7 @@ Rwr_Man_t * Rwr_ManStart( int fPrecompute )
{
Dec_Man_t * pManDec;
Rwr_Man_t * p;
- int clk = clock();
+ clock_t clk = clock();
clk = clock();
p = ABC_ALLOC( Rwr_Man_t, 1 );
memset( p, 0, sizeof(Rwr_Man_t) );
@@ -258,7 +258,7 @@ int Rwr_ManReadCompl( Rwr_Man_t * p )
SeeAlso []
***********************************************************************/
-void Rwr_ManAddTimeCuts( Rwr_Man_t * p, int Time )
+void Rwr_ManAddTimeCuts( Rwr_Man_t * p, clock_t Time )
{
p->timeCut += Time;
}
@@ -274,7 +274,7 @@ void Rwr_ManAddTimeCuts( Rwr_Man_t * p, int Time )
SeeAlso []
***********************************************************************/
-void Rwr_ManAddTimeUpdate( Rwr_Man_t * p, int Time )
+void Rwr_ManAddTimeUpdate( Rwr_Man_t * p, clock_t Time )
{
p->timeUpdate += Time;
}
@@ -290,7 +290,7 @@ void Rwr_ManAddTimeUpdate( Rwr_Man_t * p, int Time )
SeeAlso []
***********************************************************************/
-void Rwr_ManAddTimeTotal( Rwr_Man_t * p, int Time )
+void Rwr_ManAddTimeTotal( Rwr_Man_t * p, clock_t Time )
{
p->timeTotal += Time;
}
diff --git a/src/opt/rwr/rwrUtil.c b/src/opt/rwr/rwrUtil.c
index ac723588..97ddca3c 100644
--- a/src/opt/rwr/rwrUtil.c
+++ b/src/opt/rwr/rwrUtil.c
@@ -428,7 +428,8 @@ void Rwr_ManWriteToArray( Rwr_Man_t * p )
FILE * pFile;
Rwr_Node_t * pNode;
unsigned Entry0, Entry1;
- int i, nEntries, clk = clock();
+ int i, nEntries;
+ clock_t clk = clock();
// prepare the buffer
nEntries = p->vForest->nSize - 5;
pFile = fopen( "npn4_aig_array.txt", "w" );
@@ -474,7 +475,8 @@ void Rwr_ManLoadFromArray( Rwr_Man_t * p, int fVerbose )
Rwr_Node_t * p0, * p1;
unsigned Entry0, Entry1;
int Level, Volume, nEntries, fExor;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
// reconstruct the forest
for ( i = 0; ; i++ )
@@ -524,7 +526,8 @@ void Rwr_ManWriteToFile( Rwr_Man_t * p, char * pFileName )
FILE * pFile;
Rwr_Node_t * pNode;
unsigned * pBuffer;
- int i, nEntries, clk = clock();
+ int i, nEntries;
+ clock_t clk = clock();
// prepare the buffer
nEntries = p->vForest->nSize - 5;
pBuffer = ABC_ALLOC( unsigned, nEntries * 2 );
@@ -562,7 +565,8 @@ void Rwr_ManLoadFromFile( Rwr_Man_t * p, char * pFileName )
Rwr_Node_t * p0, * p1;
unsigned * pBuffer;
int Level, Volume, nEntries, fExor;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
int RetValue;
// load the data
diff --git a/src/opt/rwt/rwt.h b/src/opt/rwt/rwt.h
index a528a307..2e6de2cd 100644
--- a/src/opt/rwt/rwt.h
+++ b/src/opt/rwt/rwt.h
@@ -94,14 +94,14 @@ struct Rwt_Man_t_
int nCutsBad;
int nSubgraphs;
// runtime statistics
- int timeStart;
- int timeTruth;
- int timeCut;
- int timeRes;
- int timeEval;
- int timeMffc;
- int timeUpdate;
- int timeTotal;
+ clock_t timeStart;
+ clock_t timeTruth;
+ clock_t timeCut;
+ clock_t timeRes;
+ clock_t timeEval;
+ clock_t timeMffc;
+ clock_t timeUpdate;
+ clock_t timeTotal;
};
struct Rwt_Node_t_ // 24 bytes
@@ -142,9 +142,9 @@ extern void Rwt_ManPrintStatsFile( Rwt_Man_t * p );
extern void * Rwt_ManReadDecs( Rwt_Man_t * p );
extern Vec_Ptr_t * Rwt_ManReadLeaves( Rwt_Man_t * p );
extern int Rwt_ManReadCompl( Rwt_Man_t * p );
-extern void Rwt_ManAddTimeCuts( Rwt_Man_t * p, int Time );
-extern void Rwt_ManAddTimeUpdate( Rwt_Man_t * p, int Time );
-extern void Rwt_ManAddTimeTotal( Rwt_Man_t * p, int Time );
+extern void Rwt_ManAddTimeCuts( Rwt_Man_t * p, clock_t Time );
+extern void Rwt_ManAddTimeUpdate( Rwt_Man_t * p, clock_t Time );
+extern void Rwt_ManAddTimeTotal( Rwt_Man_t * p, clock_t Time );
/*=== rwrUtil.c ========================================================*/
extern void Rwt_ManLoadFromArray( Rwt_Man_t * p, int fVerbose );
extern char * Rwt_ManGetPractical( Rwt_Man_t * p );
diff --git a/src/opt/rwt/rwtMan.c b/src/opt/rwt/rwtMan.c
index 775d3a88..17799407 100644
--- a/src/opt/rwt/rwtMan.c
+++ b/src/opt/rwt/rwtMan.c
@@ -87,7 +87,7 @@ void Rwt_ManGlobalStop()
Rwt_Man_t * Rwt_ManStart( int fPrecompute )
{
Rwt_Man_t * p;
- int clk = clock();
+ clock_t clk = clock();
clk = clock();
p = ABC_ALLOC( Rwt_Man_t, 1 );
memset( p, 0, sizeof(Rwt_Man_t) );
@@ -298,7 +298,7 @@ int Rwt_ManReadCompl( Rwt_Man_t * p )
SeeAlso []
***********************************************************************/
-void Rwt_ManAddTimeCuts( Rwt_Man_t * p, int Time )
+void Rwt_ManAddTimeCuts( Rwt_Man_t * p, clock_t Time )
{
p->timeCut += Time;
}
@@ -314,7 +314,7 @@ void Rwt_ManAddTimeCuts( Rwt_Man_t * p, int Time )
SeeAlso []
***********************************************************************/
-void Rwt_ManAddTimeUpdate( Rwt_Man_t * p, int Time )
+void Rwt_ManAddTimeUpdate( Rwt_Man_t * p, clock_t Time )
{
p->timeUpdate += Time;
}
@@ -330,7 +330,7 @@ void Rwt_ManAddTimeUpdate( Rwt_Man_t * p, int Time )
SeeAlso []
***********************************************************************/
-void Rwt_ManAddTimeTotal( Rwt_Man_t * p, int Time )
+void Rwt_ManAddTimeTotal( Rwt_Man_t * p, clock_t Time )
{
p->timeTotal += Time;
}
diff --git a/src/opt/rwt/rwtUtil.c b/src/opt/rwt/rwtUtil.c
index 6cdaf657..d6011b20 100644
--- a/src/opt/rwt/rwtUtil.c
+++ b/src/opt/rwt/rwtUtil.c
@@ -592,7 +592,8 @@ void Rwt_ManLoadFromArray( Rwt_Man_t * p, int fVerbose )
Rwt_Node_t * p0, * p1;
unsigned Entry0, Entry1;
int Level, Volume, nEntries, fExor;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
// reconstruct the forest
for ( i = 0; ; i++ )
diff --git a/src/opt/sim/sim.h b/src/opt/sim/sim.h
index 84b2ed51..93553a84 100644
--- a/src/opt/sim/sim.h
+++ b/src/opt/sim/sim.h
@@ -88,13 +88,13 @@ struct Sym_Man_t_
int nPairsRem;
int nPairsTotal;
// runtime statistics
- int timeStruct;
- int timeCount;
- int timeMatr;
- int timeSim;
- int timeFraig;
- int timeSat;
- int timeTotal;
+ clock_t timeStruct;
+ clock_t timeCount;
+ clock_t timeMatr;
+ clock_t timeSim;
+ clock_t timeFraig;
+ clock_t timeSat;
+ clock_t timeTotal;
};
typedef struct Sim_Man_t_ Sim_Man_t;
@@ -126,11 +126,11 @@ struct Sim_Man_t_
int nSatRunsSat;
int nSatRunsUnsat;
// runtime statistics
- int timeSim;
- int timeTrav;
- int timeFraig;
- int timeSat;
- int timeTotal;
+ clock_t timeSim;
+ clock_t timeTrav;
+ clock_t timeFraig;
+ clock_t timeSat;
+ clock_t timeTotal;
};
typedef struct Sim_Pat_t_ Sim_Pat_t;
diff --git a/src/opt/sim/simSupp.c b/src/opt/sim/simSupp.c
index a7ceaee7..b383376e 100644
--- a/src/opt/sim/simSupp.c
+++ b/src/opt/sim/simSupp.c
@@ -104,7 +104,8 @@ Vec_Ptr_t * Sim_ComputeFunSupp( Abc_Ntk_t * pNtk, int fVerbose )
{
Sim_Man_t * p;
Vec_Ptr_t * vResult;
- int nSolved, i, clk = clock();
+ int nSolved, i;
+ clock_t clk = clock();
srand( 0xABC );
@@ -172,7 +173,7 @@ int Sim_ComputeSuppRound( Sim_Man_t * p, int fUseTargets )
{
Vec_Int_t * vTargets;
int i, Counter = 0;
- int clk;
+ clock_t clk;
// perform one round of random simulation
clk = clock();
Sim_UtilSimulate( p, 0 );
@@ -209,7 +210,7 @@ int Sim_ComputeSuppRoundNode( Sim_Man_t * p, int iNumCi, int fUseTargets )
int i, k, v, Output, LuckyPat, fType0, fType1;
int Counter = 0;
int fFirst = 1;
- int clk;
+ clock_t clk;
// collect nodes by level in the TFO of the CI
// this proceduredoes not collect the CIs and COs
// but it increments TravId of the collected nodes and CIs/COs
@@ -456,7 +457,7 @@ void Sim_SolveTargetsUsingSat( Sim_Man_t * p, int Limit )
int * pModel;
int RetValue, Output, Input, k, v;
int Counter = 0;
- int clk;
+ clock_t clk;
p->nSatRuns = 0;
// put targets into one array
diff --git a/src/opt/sim/simSym.c b/src/opt/sim/simSym.c
index 801d4218..0367c2af 100644
--- a/src/opt/sim/simSym.c
+++ b/src/opt/sim/simSym.c
@@ -48,7 +48,8 @@ int Sim_ComputeTwoVarSymms( Abc_Ntk_t * pNtk, int fVerbose )
Sym_Man_t * p;
Vec_Ptr_t * vResult;
int Result;
- int i, clk, clkTotal = clock();
+ int i;
+ clock_t clk, clkTotal = clock();
srand( 0xABC );
diff --git a/src/opt/sim/simSymSat.c b/src/opt/sim/simSymSat.c
index 2043e2d7..e252e0f4 100644
--- a/src/opt/sim/simSymSat.c
+++ b/src/opt/sim/simSymSat.c
@@ -137,7 +137,8 @@ int Sim_SymmsSatProveOne( Sym_Man_t * p, int Out, int Var1, int Var2, unsigned *
Fraig_Params_t Params;
Fraig_Man_t * pMan;
Abc_Ntk_t * pMiter;
- int RetValue, i, clk;
+ int RetValue, i;
+ clock_t clk;
int * pModel;
// get the miter for this problem
diff --git a/src/opt/sim/simSymSim.c b/src/opt/sim/simSymSim.c
index fddf602e..2c2a8a9e 100644
--- a/src/opt/sim/simSymSim.c
+++ b/src/opt/sim/simSymSim.c
@@ -50,7 +50,7 @@ void Sim_SymmsSimulate( Sym_Man_t * p, unsigned * pPat, Vec_Ptr_t * vMatrsNonSym
{
Abc_Obj_t * pNode;
int i, nPairsTotal, nPairsSym, nPairsNonSym;
- int clk;
+ clock_t clk;
// create the simulation matrix
Sim_SymmsCreateSquare( p, pPat );
diff --git a/src/opt/sim/simUtils.c b/src/opt/sim/simUtils.c
index 77597e83..586fab42 100644
--- a/src/opt/sim/simUtils.c
+++ b/src/opt/sim/simUtils.c
@@ -633,7 +633,8 @@ int Sim_UtilCountPairsOnePrint( Extra_BitMat_t * pMat, Vec_Int_t * vSupport )
***********************************************************************/
void Sim_UtilCountPairsAllPrint( Sym_Man_t * p )
{
- int i, clk;
+ int i;
+ clock_t clk;
clk = clock();
for ( i = 0; i < p->nOutputs; i++ )
{
@@ -657,7 +658,8 @@ p->timeCount += clock() - clk;
***********************************************************************/
void Sim_UtilCountPairsAll( Sym_Man_t * p )
{
- int nPairsTotal, nPairsSym, nPairsNonSym, i, clk;
+ int nPairsTotal, nPairsSym, nPairsNonSym, i;
+ clock_t clk;
clk = clock();
p->nPairsSymm = 0;
p->nPairsNonSymm = 0;
diff --git a/src/proof/bbr/bbrCex.c b/src/proof/bbr/bbrCex.c
index 7ee95e7c..60fef07c 100644
--- a/src/proof/bbr/bbrCex.c
+++ b/src/proof/bbr/bbrCex.c
@@ -55,7 +55,7 @@ Abc_Cex_t * Aig_ManVerifyUsingBddsCountExample( Aig_Man_t * p, DdManager * dd,
DdNode * bTemp, * bVar, * bRing;
int i, v, RetValue, nPiOffset;
char * pValues;
- int clk = clock();
+ clock_t clk = clock();
//printf( "\nDeriving counter-example.\n" );
// allocate room for the counter-example
diff --git a/src/proof/bbr/bbrReach.c b/src/proof/bbr/bbrReach.c
index 1cce1a90..19d87bc2 100644
--- a/src/proof/bbr/bbrReach.c
+++ b/src/proof/bbr/bbrReach.c
@@ -246,7 +246,8 @@ int Aig_ManComputeReachable( DdManager * dd, Aig_Man_t * p, DdNode ** pbParts, D
DdNode * bTemp;
Cudd_ReorderingType method;
int i, nIters, nBddSize = 0, status;
- int nThreshold = 10000, clk = clock();
+ int nThreshold = 10000;
+ clock_t clk = clock();
Vec_Ptr_t * vOnionRings;
status = Cudd_ReorderingStatus( dd, &method );
@@ -280,7 +281,7 @@ int Aig_ManComputeReachable( DdManager * dd, Aig_Man_t * p, DdNode ** pbParts, D
for ( nIters = 0; nIters < pPars->nIterMax; nIters++ )
{
// check the runtime limit
- if ( pPars->TimeLimit && ((float)pPars->TimeLimit <= (float)(clock()-clk)/(float)(CLOCKS_PER_SEC)) )
+ if ( pPars->TimeLimit && pPars->TimeLimit <= (clock()-clk)/CLOCKS_PER_SEC )
{
printf( "Reached timeout after image computation (%d seconds).\n", pPars->TimeLimit );
Vec_PtrFree( vOnionRings );
@@ -433,7 +434,8 @@ int Aig_ManVerifyUsingBdds_int( Aig_Man_t * p, Saig_ParBbr_t * pPars )
DdManager * dd;
DdNode ** pbParts, ** pbOutputs;
DdNode * bInitial, * bTemp;
- int RetValue, i, clk = clock();
+ int RetValue, i;
+ clock_t clk = clock();
Vec_Ptr_t * vOnionRings;
assert( Saig_ManRegNum(p) > 0 );
@@ -450,7 +452,7 @@ int Aig_ManVerifyUsingBdds_int( Aig_Man_t * p, Saig_ParBbr_t * pPars )
printf( "Shared BDD size is %6d nodes.\n", Cudd_ReadKeys(dd) - Cudd_ReadDead(dd) );
// check the runtime limit
- if ( pPars->TimeLimit && ((float)pPars->TimeLimit <= (float)(clock()-clk)/(float)(CLOCKS_PER_SEC)) )
+ if ( pPars->TimeLimit && pPars->TimeLimit <= (clock()-clk)/CLOCKS_PER_SEC )
{
printf( "Reached timeout after constructing global BDDs (%d seconds).\n", pPars->TimeLimit );
Cudd_Quit( dd );
diff --git a/src/proof/cec/cecCec.c b/src/proof/cec/cecCec.c
index b9b3e1f1..841b6a0b 100644
--- a/src/proof/cec/cecCec.c
+++ b/src/proof/cec/cecCec.c
@@ -72,7 +72,8 @@ int Cec_ManVerifyOld( Gia_Man_t * pMiter, int fVerbose, int * piOutFail )
extern int Ssw_SecCexResimulate( Aig_Man_t * p, int * pModel, int * pnOutputs );
Gia_Man_t * pTemp = Gia_ManTransformMiter( pMiter );
Aig_Man_t * pMiterCec = Gia_ManToAig( pTemp, 0 );
- int RetValue, iOut, nOuts, clkTotal = clock();
+ int RetValue, iOut, nOuts;
+ clock_t clkTotal = clock();
if ( piOutFail )
*piOutFail = -1;
Gia_ManStop( pTemp );
@@ -134,7 +135,8 @@ int Cec_ManHandleSpecialCases( Gia_Man_t * p, Cec_ParCec_t * pPars )
{
Gia_Obj_t * pObj1, * pObj2;
Gia_Obj_t * pDri1, * pDri2;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
Gia_ManSetPhase( p );
Gia_ManForEachPo( p, pObj1, i )
{
@@ -206,8 +208,9 @@ int Cec_ManVerify( Gia_Man_t * pInit, Cec_ParCec_t * pPars )
int fDumpUndecided = 0;
Cec_ParFra_t ParsFra, * pParsFra = &ParsFra;
Gia_Man_t * p, * pNew;
- int RetValue, clk = clock();
- double clkTotal = clock();
+ int RetValue;
+ clock_t clk = clock();
+ clock_t clkTotal = clock();
// consider special cases:
// 1) (SAT) a pair of POs have different value under all-0 pattern
// 2) (SAT) a pair of POs has different PI/Const drivers
@@ -263,7 +266,7 @@ int Cec_ManVerify( Gia_Man_t * pInit, Cec_ParCec_t * pPars )
Gia_WriteAiger( pNew, "gia_cec_undecided.aig", 0, 0 );
Abc_Print( 1, "The result is written into file \"%s\".\n", "gia_cec_undecided.aig" );
}
- if ( pPars->TimeLimit && ((double)clock() - clkTotal)/CLOCKS_PER_SEC >= pPars->TimeLimit )
+ if ( pPars->TimeLimit && (clock() - clkTotal)/CLOCKS_PER_SEC >= pPars->TimeLimit )
{
Gia_ManStop( pNew );
return -1;
diff --git a/src/proof/cec/cecChoice.c b/src/proof/cec/cecChoice.c
index 3ddb975e..05b372f8 100644
--- a/src/proof/cec/cecChoice.c
+++ b/src/proof/cec/cecChoice.c
@@ -208,8 +208,8 @@ int Cec_ManChoiceComputation_int( Gia_Man_t * pAig, Cec_ParChc_t * pPars )
Cec_ManSim_t * pSim;
Gia_Man_t * pSrm;
int r, RetValue;
- int clkSat = 0, clkSim = 0, clkSrm = 0, clkTotal = clock();
- int clk2, clk = clock();
+ clock_t clkSat = 0, clkSim = 0, clkSrm = 0, clkTotal = clock();
+ clock_t clk2, clk = clock();
ABC_FREE( pAig->pReprs );
ABC_FREE( pAig->pNexts );
Gia_ManRandom( 1 );
diff --git a/src/proof/cec/cecCore.c b/src/proof/cec/cecCore.c
index 65c4b970..71519323 100644
--- a/src/proof/cec/cecCore.c
+++ b/src/proof/cec/cecCore.c
@@ -257,7 +257,8 @@ Gia_Man_t * Cec_ManSatSolving( Gia_Man_t * pAig, Cec_ParSat_t * pPars )
int Cec_ManSimulationOne( Gia_Man_t * pAig, Cec_ParSim_t * pPars )
{
Cec_ManSim_t * pSim;
- int RetValue = 0, clkTotal = clock();
+ int RetValue = 0;
+ clock_t clkTotal = clock();
pSim = Cec_ManSimStart( pAig, pPars );
if ( (pAig->pReprs == NULL && (RetValue = Cec_ManSimClassesPrepare( pSim, -1 ))) ||
(RetValue == 0 && (RetValue = Cec_ManSimClassesRefine( pSim ))) )
@@ -342,8 +343,8 @@ Gia_Man_t * Cec_ManSatSweeping( Gia_Man_t * pAig, Cec_ParFra_t * pPars )
Cec_ManFra_t * p;
Cec_ManSim_t * pSim;
Cec_ManPat_t * pPat;
- int i, fTimeOut = 0, nMatches = 0, clk, clk2;
- double clkTotal = clock();
+ int i, fTimeOut = 0, nMatches = 0;
+ clock_t clk, clk2, clkTotal = clock();
// duplicate AIG and transfer equivalence classes
Gia_ManRandom( 1 );
@@ -457,7 +458,7 @@ p->timeSat += clock() - clk;
break;
}
// check resource limits
- if ( p->pPars->TimeLimit && ((double)clock() - clkTotal)/CLOCKS_PER_SEC >= p->pPars->TimeLimit )
+ if ( p->pPars->TimeLimit && (clock() - clkTotal)/CLOCKS_PER_SEC >= p->pPars->TimeLimit )
{
fTimeOut = 1;
break;
diff --git a/src/proof/cec/cecCorr.c b/src/proof/cec/cecCorr.c
index d080dfea..e8b25b48 100644
--- a/src/proof/cec/cecCorr.c
+++ b/src/proof/cec/cecCorr.c
@@ -719,7 +719,7 @@ Gia_Man_t * Gia_ManCorrReduce( Gia_Man_t * p )
SeeAlso []
***********************************************************************/
-void Cec_ManRefinedClassPrintStats( Gia_Man_t * p, Vec_Str_t * vStatus, int iIter, int Time )
+void Cec_ManRefinedClassPrintStats( Gia_Man_t * p, Vec_Str_t * vStatus, int iIter, clock_t Time )
{
int nLits, CounterX = 0, Counter0 = 0, Counter = 0;
int i, Entry, nProve = 0, nDispr = 0, nFail = 0;
@@ -789,7 +789,7 @@ void Cec_ManLSCorrespondenceBmc( Gia_Man_t * pAig, Cec_ParCor_t * pPars, int nPr
fChanges = 1;
while ( fChanges )
{
- int clkBmc = clock();
+ clock_t clkBmc = clock();
fChanges = 0;
pSrm = Gia_ManCorrSpecReduceInit( pAig, pPars->nFrames, nPrefs, !pPars->fLatchCorr, &vOutputs, pPars->fUseRings );
if ( Gia_ManPoNum(pSrm) == 0 )
@@ -844,9 +844,10 @@ int Cec_ManLSCorrespondenceClasses( Gia_Man_t * pAig, Cec_ParCor_t * pPars )
Cec_ParSat_t ParsSat, * pParsSat = &ParsSat;
Cec_ManSim_t * pSim;
Gia_Man_t * pSrm;
- int r, RetValue, clkTotal = clock();
- int clkSat = 0, clkSim = 0, clkSrm = 0;
- int clk2, clk = clock();
+ int r, RetValue;
+ clock_t clkTotal = clock();
+ clock_t clkSat = 0, clkSim = 0, clkSrm = 0;
+ clock_t clk2, clk = clock();
if ( Gia_ManRegNum(pAig) == 0 )
{
Abc_Print( 1, "Cec_ManLatchCorrespondence(): Not a sequential AIG.\n" );
diff --git a/src/proof/cec/cecCorr_updated.c b/src/proof/cec/cecCorr_updated.c
index 1db30705..3bea8dbf 100644
--- a/src/proof/cec/cecCorr_updated.c
+++ b/src/proof/cec/cecCorr_updated.c
@@ -728,7 +728,7 @@ Gia_Man_t * Gia_ManCorrReduce( Gia_Man_t * p )
SeeAlso []
***********************************************************************/
-void Cec_ManRefinedClassPrintStats( Gia_Man_t * p, Vec_Str_t * vStatus, int iIter, int Time )
+void Cec_ManRefinedClassPrintStats( Gia_Man_t * p, Vec_Str_t * vStatus, int iIter, clock_t Time )
{
int nLits, CounterX = 0, Counter0 = 0, Counter = 0;
int i, Entry, nProve = 0, nDispr = 0, nFail = 0;
diff --git a/src/proof/cec/cecInt.h b/src/proof/cec/cecInt.h
index 371dedda..8d9fe472 100644
--- a/src/proof/cec/cecInt.h
+++ b/src/proof/cec/cecInt.h
@@ -61,13 +61,13 @@ struct Cec_ManPat_t_
int nSeries; // simulation series
int fVerbose; // verbose stats
// runtime statistics
- int timeFind; // detecting the pattern
- int timeShrink; // minimizing the pattern
- int timeVerify; // verifying the result of minimisation
- int timeSort; // sorting literals
- int timePack; // packing into sim info structures
- int timeTotal; // total runtime
- int timeTotalSave; // total runtime for saving
+ clock_t timeFind; // detecting the pattern
+ clock_t timeShrink; // minimizing the pattern
+ clock_t timeVerify; // verifying the result of minimisation
+ clock_t timeSort; // sorting literals
+ clock_t timePack; // packing into sim info structures
+ clock_t timeTotal; // total runtime
+ clock_t timeTotalSave; // total runtime for saving
};
// SAT solving manager
@@ -154,10 +154,10 @@ struct Cec_ManFra_t_
int nAllDisproved; // total number of disproved nodes
int nAllFailed; // total number of failed nodes
// runtime stats
- int timeSim; // unsat
- int timePat; // unsat
- int timeSat; // sat
- int timeTotal; // total runtime
+ clock_t timeSim; // unsat
+ clock_t timePat; // unsat
+ clock_t timeSat; // sat
+ clock_t timeTotal; // total runtime
};
////////////////////////////////////////////////////////////////////////
@@ -169,7 +169,7 @@ struct Cec_ManFra_t_
////////////////////////////////////////////////////////////////////////
/*=== cecCorr.c ============================================================*/
-extern void Cec_ManRefinedClassPrintStats( Gia_Man_t * p, Vec_Str_t * vStatus, int iIter, int Time );
+extern void Cec_ManRefinedClassPrintStats( Gia_Man_t * p, Vec_Str_t * vStatus, int iIter, clock_t Time );
/*=== cecClass.c ============================================================*/
extern int Cec_ManSimClassRemoveOne( Cec_ManSim_t * p, int i );
extern int Cec_ManSimClassesPrepare( Cec_ManSim_t * p, int LevelMax );
diff --git a/src/proof/cec/cecPat.c b/src/proof/cec/cecPat.c
index cb1dae46..f372f3bb 100644
--- a/src/proof/cec/cecPat.c
+++ b/src/proof/cec/cecPat.c
@@ -359,7 +359,8 @@ void Cec_ManPatCleanMark0( Gia_Man_t * p, Gia_Obj_t * pObj )
void Cec_ManPatSavePattern( Cec_ManPat_t * pMan, Cec_ManSat_t * p, Gia_Obj_t * pObj )
{
Vec_Int_t * vPat;
- int nPatLits, clk, clkTotal = clock();
+ int nPatLits;
+ clock_t clk, clkTotal = clock();
assert( Gia_ObjIsCo(pObj) );
pMan->nPats++;
pMan->nPatsAll++;
@@ -451,7 +452,7 @@ Vec_Ptr_t * Cec_ManPatCollectPatterns( Cec_ManPat_t * pMan, int nInputs, int nW
int iStartOld = pMan->iStart;
int nWords = nWordsInit;
int nBits = 32 * nWords;
- int clk = clock();
+ clock_t clk = clock();
vInfo = Vec_PtrAllocSimInfo( nInputs, nWords );
Gia_ManRandomInfo( vInfo, 0, 0, nWords );
vPres = Vec_PtrAllocSimInfo( nInputs, nWords );
diff --git a/src/proof/cec/cecSeq.c b/src/proof/cec/cecSeq.c
index 2ccbe524..3afbd1c8 100644
--- a/src/proof/cec/cecSeq.c
+++ b/src/proof/cec/cecSeq.c
@@ -215,7 +215,8 @@ int Cec_ManSeqResimulateInfo( Gia_Man_t * pAig, Vec_Ptr_t * vSimInfo, Abc_Cex_t
int Cec_ManSeqResimulateCounter( Gia_Man_t * pAig, Cec_ParSim_t * pPars, Abc_Cex_t * pCex )
{
Vec_Ptr_t * vSimInfo;
- int RetValue, clkTotal = clock();
+ int RetValue;
+ clock_t clkTotal = clock();
if ( pCex == NULL )
{
Abc_Print( 1, "Cec_ManSeqResimulateCounter(): Counter-example is not available.\n" );
diff --git a/src/proof/cec/cecSolve.c b/src/proof/cec/cecSolve.c
index e779e68c..5e108ae5 100644
--- a/src/proof/cec/cecSolve.c
+++ b/src/proof/cec/cecSolve.c
@@ -471,7 +471,8 @@ int Cec_ManSatCheckNode( Cec_ManSat_t * p, Gia_Obj_t * pObj )
{
Gia_Obj_t * pObjR = Gia_Regular(pObj);
int nBTLimit = p->pPars->nBTLimit;
- int Lit, RetValue, status, clk, clk2, nConflicts;
+ int Lit, RetValue, status, nConflicts;
+ clock_t clk, clk2;
if ( pObj == Gia_ManConst0(p->pAig) )
return 1;
@@ -570,7 +571,8 @@ int Cec_ManSatCheckNodeTwo( Cec_ManSat_t * p, Gia_Obj_t * pObj1, Gia_Obj_t * pOb
Gia_Obj_t * pObjR1 = Gia_Regular(pObj1);
Gia_Obj_t * pObjR2 = Gia_Regular(pObj2);
int nBTLimit = p->pPars->nBTLimit;
- int Lits[2], RetValue, status, clk, clk2, nConflicts;
+ int Lits[2], RetValue, status, nConflicts;
+ clock_t clk, clk2;
if ( pObj1 == Gia_ManConst0(p->pAig) || pObj2 == Gia_ManConst0(p->pAig) || pObj1 == Gia_Not(pObj2) )
return 1;
@@ -676,7 +678,8 @@ void Cec_ManSatSolve( Cec_ManPat_t * pPat, Gia_Man_t * pAig, Cec_ParSat_t * pPar
Bar_Progress_t * pProgress = NULL;
Cec_ManSat_t * p;
Gia_Obj_t * pObj;
- int i, status, clk = clock(), clk2;
+ int i, status;
+ clock_t clk = clock(), clk2;
// reset the manager
if ( pPat )
{
@@ -717,7 +720,7 @@ clk2 = clock();
// save the pattern
if ( pPat )
{
- int clk3 = clock();
+ clock_t clk3 = clock();
Cec_ManPatSavePattern( pPat, p, pObj );
pPat->timeTotalSave += clock() - clk3;
}
@@ -799,7 +802,8 @@ Vec_Str_t * Cec_ManSatSolveSeq( Vec_Ptr_t * vPatts, Gia_Man_t * pAig, Cec_ParSat
Cec_ManSat_t * p;
Gia_Obj_t * pObj;
int iPat = 0, nPatsInit, nPats;
- int i, status, clk = clock();
+ int i, status;
+ clock_t clk = clock();
nPatsInit = nPats = 32 * Vec_PtrReadWordsSimInfo(vPatts);
Gia_ManSetPhase( pAig );
Gia_ManLevelNum( pAig );
@@ -957,7 +961,8 @@ Vec_Int_t * Cec_ManSatSolveMiter( Gia_Man_t * pAig, Cec_ParSat_t * pPars, Vec_St
Vec_Str_t * vStatus;
Cec_ManSat_t * p;
Gia_Obj_t * pObj;
- int i, status, clk = clock();
+ int i, status;
+ clock_t clk = clock();
// prepare AIG
Gia_ManSetPhase( pAig );
Gia_ManLevelNum( pAig );
diff --git a/src/proof/cec/cecSweep.c b/src/proof/cec/cecSweep.c
index 4523810e..505de076 100644
--- a/src/proof/cec/cecSweep.c
+++ b/src/proof/cec/cecSweep.c
@@ -188,7 +188,8 @@ int Cec_ManFraClassesUpdate( Cec_ManFra_t * p, Cec_ManSim_t * pSim, Cec_ManPat_t
{
Vec_Ptr_t * vInfo;
Gia_Obj_t * pObj, * pObjOld, * pReprOld;
- int i, k, iRepr, iNode, clk;
+ int i, k, iRepr, iNode;
+ clock_t clk;
clk = clock();
vInfo = Cec_ManPatCollectPatterns( pPat, Gia_ManCiNum(p->pAig), pSim->nWords );
p->timePat += clock() - clk;
diff --git a/src/proof/cec/cecSynth.c b/src/proof/cec/cecSynth.c
index 21470dd4..b13b5204 100644
--- a/src/proof/cec/cecSynth.c
+++ b/src/proof/cec/cecSynth.c
@@ -297,7 +297,8 @@ int Cec_SequentialSynthesisPart( Gia_Man_t * p, Cec_ParSeq_t * pPars )
Vec_Int_t * vPart;
int * pMapBack, * pReprs;
int i, nCountPis, nCountRegs;
- int nClasses, clk = clock();
+ int nClasses;
+ clock_t clk = clock();
// save parameters
if ( fPrintParts )
diff --git a/src/proof/dch/dch.h b/src/proof/dch/dch.h
index 731eb776..ff29f0da 100644
--- a/src/proof/dch/dch.h
+++ b/src/proof/dch/dch.h
@@ -54,7 +54,7 @@ struct Dch_Pars_t_
int fUseCSat; // uses circuit-based solver
int fLightSynth; // uses lighter version of synthesis
int fVerbose; // verbose stats
- int timeSynth; // synthesis runtime
+ clock_t timeSynth; // synthesis runtime
int nNodesAhead; // the lookahead in terms of nodes
int nCallsRecycle; // calls to perform before recycling SAT solver
};
diff --git a/src/proof/dch/dchCore.c b/src/proof/dch/dchCore.c
index bc78682b..bfef8d8c 100644
--- a/src/proof/dch/dchCore.c
+++ b/src/proof/dch/dchCore.c
@@ -89,7 +89,7 @@ Aig_Man_t * Dch_ComputeChoices( Aig_Man_t * pAig, Dch_Pars_t * pPars )
{
Dch_Man_t * p;
Aig_Man_t * pResult;
- int clk, clkTotal = clock();
+ clock_t clk, clkTotal = clock();
// reset random numbers
Aig_ManRandom(1);
// start the choicing manager
@@ -131,7 +131,7 @@ p->timeTotal = clock() - clkTotal;
void Dch_ComputeEquivalences( Aig_Man_t * pAig, Dch_Pars_t * pPars )
{
Dch_Man_t * p;
- int clk, clkTotal = clock();
+ clock_t clk, clkTotal = clock();
// reset random numbers
Aig_ManRandom(1);
// start the choicing manager
diff --git a/src/proof/dch/dchInt.h b/src/proof/dch/dchInt.h
index c9f2f4f6..b22834cf 100644
--- a/src/proof/dch/dchInt.h
+++ b/src/proof/dch/dchInt.h
@@ -84,15 +84,15 @@ struct Dch_Man_t_
int nEquivs; // the number of final equivalences
int nChoices; // the number of final choice nodes
// runtime stats
- int timeSimInit; // simulation and class computation
- int timeSimSat; // simulation of the counter-examples
- int timeSat; // solving SAT
- int timeSatSat; // sat
- int timeSatUnsat; // unsat
- int timeSatUndec; // undecided
- int timeChoice; // choice computation
- int timeOther; // other runtime
- int timeTotal; // total runtime
+ clock_t timeSimInit; // simulation and class computation
+ clock_t timeSimSat; // simulation of the counter-examples
+ clock_t timeSat; // solving SAT
+ clock_t timeSatSat; // sat
+ clock_t timeSatUnsat; // unsat
+ clock_t timeSatUndec; // undecided
+ clock_t timeChoice; // choice computation
+ clock_t timeOther; // other runtime
+ clock_t timeTotal; // total runtime
};
////////////////////////////////////////////////////////////////////////
diff --git a/src/proof/dch/dchSat.c b/src/proof/dch/dchSat.c
index f5e346ef..fefd5ce2 100644
--- a/src/proof/dch/dchSat.c
+++ b/src/proof/dch/dchSat.c
@@ -45,7 +45,8 @@ ABC_NAMESPACE_IMPL_START
int Dch_NodesAreEquiv( Dch_Man_t * p, Aig_Obj_t * pOld, Aig_Obj_t * pNew )
{
int nBTLimit = p->pPars->nBTLimit;
- int pLits[2], RetValue, RetValue1, status, clk;
+ int pLits[2], RetValue, RetValue1, status;
+ clock_t clk;
p->nSatCalls++;
// sanity checks
diff --git a/src/proof/dch/dchSimSat.c b/src/proof/dch/dchSimSat.c
index 6f69b47e..26de4643 100644
--- a/src/proof/dch/dchSimSat.c
+++ b/src/proof/dch/dchSimSat.c
@@ -177,7 +177,8 @@ void Dch_ManResimulateOther_rec( Dch_Man_t * p, Aig_Obj_t * pObj )
void Dch_ManResimulateCex( Dch_Man_t * p, Aig_Obj_t * pObj, Aig_Obj_t * pRepr )
{
Aig_Obj_t * pRoot, ** ppClass;
- int i, k, nSize, RetValue1, RetValue2, clk = clock();
+ int i, k, nSize, RetValue1, RetValue2;
+ clock_t clk = clock();
// get the equivalence classes
Dch_ManCollectTfoCands( p, pObj, pRepr );
// resimulate the cone of influence of the solved nodes
@@ -224,7 +225,8 @@ p->timeSimSat += clock() - clk;
void Dch_ManResimulateCex2( Dch_Man_t * p, Aig_Obj_t * pObj, Aig_Obj_t * pRepr )
{
Aig_Obj_t * pRoot;
- int i, RetValue, clk = clock();
+ int i, RetValue;
+ clock_t clk = clock();
// get the equivalence class
if ( Dch_ObjIsConst1Cand(p->pAigTotal, pObj) )
Dch_ClassesCollectConst1Group( p->ppClasses, pObj, 500, p->vSimRoots );
diff --git a/src/proof/fra/fra.h b/src/proof/fra/fra.h
index 3e50ff57..c1dd6b44 100644
--- a/src/proof/fra/fra.h
+++ b/src/proof/fra/fra.h
@@ -30,7 +30,6 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
#include "src/misc/vec/vec.h"
#include "src/aig/aig/aig.h"
@@ -238,17 +237,17 @@ struct Fra_Man_t_
int nSatCallsRecent;
int nSatCallsSkipped;
// runtime
- int timeSim;
- int timeTrav;
- int timeRwr;
- int timeSat;
- int timeSatUnsat;
- int timeSatSat;
- int timeSatFail;
- int timeRef;
- int timeTotal;
- int time1;
- int time2;
+ clock_t timeSim;
+ clock_t timeTrav;
+ clock_t timeRwr;
+ clock_t timeSat;
+ clock_t timeSatUnsat;
+ clock_t timeSatSat;
+ clock_t timeSatFail;
+ clock_t timeRef;
+ clock_t timeTotal;
+ clock_t time1;
+ clock_t time2;
};
////////////////////////////////////////////////////////////////////////
diff --git a/src/proof/fra/fraBmc.c b/src/proof/fra/fraBmc.c
index 2ddecf48..4b68a79a 100644
--- a/src/proof/fra/fraBmc.c
+++ b/src/proof/fra/fraBmc.c
@@ -311,7 +311,8 @@ Aig_Man_t * Fra_BmcFrames( Fra_Bmc_t * p, int fKeepPos )
void Fra_BmcPerform( Fra_Man_t * p, int nPref, int nDepth )
{
Aig_Obj_t * pObj;
- int i, nImpsOld = 0, clk = clock();
+ int i, nImpsOld = 0;
+ clock_t clk = clock();
assert( p->pBmc == NULL );
// derive and fraig the frames
p->pBmc = Fra_BmcStart( p->pManAig, nPref, nDepth );
@@ -385,7 +386,8 @@ void Fra_BmcPerformSimple( Aig_Man_t * pAig, int nFrames, int nBTLimit, int fRew
Fra_Man_t * pTemp;
Fra_Bmc_t * pBmc;
Aig_Man_t * pAigTemp;
- int clk, iOutput;
+ clock_t clk;
+ int iOutput;
// derive and fraig the frames
clk = clock();
pBmc = Fra_BmcStart( pAig, 0, nFrames );
diff --git a/src/proof/fra/fraCec.c b/src/proof/fra/fraCec.c
index 0acca245..20805ec2 100644
--- a/src/proof/fra/fraCec.c
+++ b/src/proof/fra/fraCec.c
@@ -53,7 +53,8 @@ int Fra_FraigSat( Aig_Man_t * pMan, ABC_INT64_T nConfLimit, ABC_INT64_T nInsLimi
sat_solver2 * pSat;
Cnf_Dat_t * pCnf;
- int status, RetValue, clk = clock();
+ int status, RetValue;
+ clock_t clk = clock();
Vec_Int_t * vCiIds;
assert( Aig_ManRegNum(pMan) == 0 );
@@ -159,7 +160,8 @@ int Fra_FraigSat( Aig_Man_t * pMan, ABC_INT64_T nConfLimit, ABC_INT64_T nInsLimi
{
sat_solver * pSat;
Cnf_Dat_t * pCnf;
- int status, RetValue, clk = clock();
+ int status, RetValue;
+ clock_t clk = clock();
Vec_Int_t * vCiIds;
assert( Aig_ManRegNum(pMan) == 0 );
@@ -282,7 +284,8 @@ int Fra_FraigCec( Aig_Man_t ** ppAig, int nConfLimit, int fVerbose )
Fra_Par_t Params, * pParams = &Params;
Aig_Man_t * pAig = *ppAig, * pTemp;
- int i, RetValue, clk;
+ int i, RetValue;
+ clock_t clk;
// report the original miter
if ( fVerbose )
@@ -457,7 +460,8 @@ int Fra_FraigCecTop( Aig_Man_t * pMan1, Aig_Man_t * pMan2, int nConfLimit, int n
{
Aig_Man_t * pTemp;
//Abc_NtkDarCec( pNtk1, pNtk2, fPartition, fVerbose );
- int RetValue, clkTotal = clock();
+ int RetValue;
+ clock_t clkTotal = clock();
if ( Aig_ManCiNum(pMan1) != Aig_ManCiNum(pMan1) )
{
diff --git a/src/proof/fra/fraClaus.c b/src/proof/fra/fraClaus.c
index f651b0ad..97ac3e40 100644
--- a/src/proof/fra/fraClaus.c
+++ b/src/proof/fra/fraClaus.c
@@ -605,7 +605,8 @@ int Fra_ClausProcessClauses( Clu_Man_t * p, int fRefs )
Fra_Sml_t * pComb, * pSeq;
Aig_Obj_t * pObj;
Dar_Cut_t * pCut;
- int Scores[16], uScores, i, k, j, clk, nCuts = 0;
+ int Scores[16], uScores, i, k, j, nCuts = 0;
+ clock_t clk;
// simulate the AIG
clk = clock();
@@ -727,7 +728,8 @@ int Fra_ClausProcessClauses2( Clu_Man_t * p, int fRefs )
Fra_Sml_t * pComb, * pSeq;
Aig_Obj_t * pObj;
Aig_Cut_t * pCut;
- int i, k, j, clk, nCuts = 0;
+ int i, k, j, nCuts = 0;
+ clock_t clk;
int ScoresSeq[1<<12], ScoresComb[1<<12];
assert( p->nLutSize < 13 );
@@ -1622,7 +1624,7 @@ void Fra_ClausEstimateCoverage( Clu_Man_t * p )
unsigned * pResultTot, * pResultOne;
int nCovered, Beg, End, i, w;
int * pStart, * pVar2Id;
- int clk = clock();
+ clock_t clk = clock();
// simulate the circuit with nCombSimWords * 32 = 64K patterns
// srand( 0xAABBAABB );
Aig_ManRandom(1);
@@ -1680,7 +1682,7 @@ void Fra_ClausEstimateCoverage( Clu_Man_t * p )
int Fra_Claus( Aig_Man_t * pAig, int nFrames, int nPref, int nClausesMax, int nLutSize, int nLevels, int nCutsMax, int nBatches, int fStepUp, int fBmc, int fRefs, int fTarget, int fVerbose, int fVeryVerbose )
{
Clu_Man_t * p;
- int clk, clkTotal = clock(), clkInd;
+ clock_t clk, clkTotal = clock(), clkInd;
int b, Iter, Counter, nPrefOld;
int nClausesBeg = 0;
diff --git a/src/proof/fra/fraCore.c b/src/proof/fra/fraCore.c
index 37aaa0da..35888f43 100644
--- a/src/proof/fra/fraCore.c
+++ b/src/proof/fra/fraCore.c
@@ -376,7 +376,7 @@ Aig_Man_t * Fra_FraigPerform( Aig_Man_t * pManAig, Fra_Par_t * pPars )
{
Fra_Man_t * p;
Aig_Man_t * pManAigNew;
- int clk;
+ clock_t clk;
if ( Aig_ManNodeNum(pManAig) == 0 )
return Aig_ManDupOrdered(pManAig);
clk = clock();
@@ -402,7 +402,7 @@ Fra_ClassesPrint( p->pCla, 1 );
Fra_ManFinalizeComb( p );
if ( p->pPars->fChoicing )
{
-int clk2 = clock();
+clock_t clk2 = clock();
Fra_ClassesCopyReprs( p->pCla, p->vTimeouts );
pManAigNew = Aig_ManDupRepr( p->pManAig, 1 );
Aig_ManReprStart( pManAigNew, Aig_ManObjNumMax(pManAigNew) );
diff --git a/src/proof/fra/fraHot.c b/src/proof/fra/fraHot.c
index 338b5717..a91c939f 100644
--- a/src/proof/fra/fraHot.c
+++ b/src/proof/fra/fraHot.c
@@ -332,7 +332,7 @@ void Fra_OneHotEstimateCoverage( Fra_Man_t * p, Vec_Int_t * vOneHots )
Vec_Ptr_t * vSimInfo;
unsigned * pSim1, * pSim2, * pSimTot;
int i, w, Out1, Out2, nCovered, Counter = 0;
- int clk = clock();
+ clock_t clk = clock();
// generate random sim-info at register outputs
vSimInfo = Vec_PtrAllocSimInfo( nRegs + 1, nSimWords );
diff --git a/src/proof/fra/fraImp.c b/src/proof/fra/fraImp.c
index f65aca5c..4d33717a 100644
--- a/src/proof/fra/fraImp.c
+++ b/src/proof/fra/fraImp.c
@@ -327,7 +327,8 @@ Vec_Int_t * Fra_ImpDerive( Fra_Man_t * p, int nImpMaxLimit, int nImpUseLimit, in
int * pImpCosts, * pNodesI, * pNodesK;
int nImpsTotal = 0, nImpsTried = 0, nImpsNonSeq = 0, nImpsComb = 0, nImpsCollected = 0;
int CostMin = ABC_INFINITY, CostMax = 0;
- int i, k, Imp, CostRange, clk = clock();
+ int i, k, Imp, CostRange;
+ clock_t clk = clock();
assert( Aig_ManObjNumMax(p->pManAig) < (1 << 15) );
assert( nImpMaxLimit > 0 && nImpUseLimit > 0 && nImpUseLimit <= nImpMaxLimit );
// normalize both managers
diff --git a/src/proof/fra/fraInd.c b/src/proof/fra/fraInd.c
index 29a76eea..633f8979 100644
--- a/src/proof/fra/fraInd.c
+++ b/src/proof/fra/fraInd.c
@@ -49,7 +49,8 @@ void Fra_FraigInductionRewrite( Fra_Man_t * p )
{
Aig_Man_t * pTemp;
Aig_Obj_t * pObj, * pObjPo;
- int nTruePis, k, i, clk = clock();
+ int nTruePis, k, i;
+ clock_t clk = clock();
// perform AIG rewriting on the speculated frames
// pTemp = Dar_ManRwsat( pTemp, 1, 0 );
pTemp = Dar_ManRewriteDefault( p->pManFraig );
@@ -259,7 +260,7 @@ Aig_Man_t * Fra_FraigInductionPart( Aig_Man_t * pAig, Fra_Ssw_t * pPars )
int * pMapBack;
int i, nCountPis, nCountRegs;
int nClasses, nPartSize, fVerbose;
- int clk = clock();
+ clock_t clk = clock();
// save parameters
nPartSize = pPars->nPartSize; pPars->nPartSize = 0;
@@ -357,8 +358,9 @@ Aig_Man_t * Fra_FraigInduction( Aig_Man_t * pManAig, Fra_Ssw_t * pParams )
Aig_Man_t * pManAigNew = NULL;
int nNodesBeg, nRegsBeg;
int nIter = -1; // Suppress "might be used uninitialized"
- int i, clk = clock(), clk2;
- int TimeToStop = (pParams->TimeLimit == 0.0)? 0 : clock() + (int)(pParams->TimeLimit * CLOCKS_PER_SEC);
+ int i;
+ clock_t clk = clock(), clk2;
+ clock_t TimeToStop = pParams->TimeLimit ? pParams->TimeLimit * CLOCKS_PER_SEC + clock() : 0;
if ( Aig_ManNodeNum(pManAig) == 0 )
{
@@ -473,7 +475,7 @@ ABC_PRT( "Time", clock() - clk );
int nLitsOld = Fra_ClassesCountLits(p->pCla);
int nImpsOld = p->pCla->vImps? Vec_IntSize(p->pCla->vImps) : 0;
int nHotsOld = p->vOneHots? Fra_OneHotCount(p, p->vOneHots) : 0;
- int clk3 = clock();
+ clock_t clk3 = clock();
if ( pParams->TimeLimit != 0.0 && clock() > TimeToStop )
{
diff --git a/src/proof/fra/fraIndVer.c b/src/proof/fra/fraIndVer.c
index 7c5e9e70..099256ac 100644
--- a/src/proof/fra/fraIndVer.c
+++ b/src/proof/fra/fraIndVer.c
@@ -50,7 +50,7 @@ int Fra_InvariantVerify( Aig_Man_t * pAig, int nFrames, Vec_Int_t * vClauses, Ve
int * pStart;
int RetValue, Beg, End, i, k;
int CounterBase = 0, CounterInd = 0;
- int clk = clock();
+ clock_t clk = clock();
if ( nFrames != 1 )
{
diff --git a/src/proof/fra/fraLcr.c b/src/proof/fra/fraLcr.c
index 8ea6d297..2941f24f 100644
--- a/src/proof/fra/fraLcr.c
+++ b/src/proof/fra/fraLcr.c
@@ -54,12 +54,12 @@ struct Fra_Lcr_t_
int nRegsBeg;
int nRegsEnd;
// runtime
- int timeSim;
- int timePart;
- int timeTrav;
- int timeFraig;
- int timeUpdate;
- int timeTotal;
+ clock_t timeSim;
+ clock_t timePart;
+ clock_t timeTrav;
+ clock_t timeFraig;
+ clock_t timeUpdate;
+ clock_t timeTotal;
};
////////////////////////////////////////////////////////////////////////
@@ -538,8 +538,9 @@ Aig_Man_t * Fra_FraigLatchCorrespondence( Aig_Man_t * pAig, int nFramesP, int nC
Fra_Man_t * pTemp;
Aig_Man_t * pAigPart, * pAigTemp, * pAigNew = NULL;
Vec_Int_t * vPart;
- int i, nIter, timeSim, clk2, clk3, clk = clock();
- int TimeToStop = (TimeLimit == 0.0)? 0 : clock() + (int)(TimeLimit * CLOCKS_PER_SEC);
+ int i, nIter;
+ clock_t timeSim, clk2, clk3, clk = clock();
+ clock_t TimeToStop = TimeLimit ? TimeLimit * CLOCKS_PER_SEC + clock() : 0;
if ( Aig_ManNodeNum(pAig) == 0 )
{
if ( pnIter ) *pnIter = 0;
diff --git a/src/proof/fra/fraPart.c b/src/proof/fra/fraPart.c
index e3bb2850..e1c8ddf4 100644
--- a/src/proof/fra/fraPart.c
+++ b/src/proof/fra/fraPart.c
@@ -53,7 +53,7 @@ void Fra_ManPartitionTest( Aig_Man_t * p, int nComLim )
int i, k, nCommon, CountOver, CountQuant;
int nTotalSupp, nTotalSupp2, Entry, Largest;//, iVar;
double Ratio, R;
- int clk;
+ clock_t clk;
nTotalSupp = 0;
nTotalSupp2 = 0;
@@ -190,7 +190,8 @@ void Fra_ManPartitionTest2( Aig_Man_t * p )
Vec_Int_t * vSup, * vSup2, * vSup3;
Aig_Obj_t * pObj;
int Entry, Entry2, Entry3, Counter;
- int i, k, m, n, clk;
+ int i, k, m, n;
+ clock_t clk;
char * pSupp;
// compute supports
diff --git a/src/proof/fra/fraSat.c b/src/proof/fra/fraSat.c
index 2702113c..fc95fd62 100644
--- a/src/proof/fra/fraSat.c
+++ b/src/proof/fra/fraSat.c
@@ -47,7 +47,8 @@ static int Fra_SetActivityFactors( Fra_Man_t * p, Aig_Obj_t * pOld, Aig_Obj_t *
***********************************************************************/
int Fra_NodesAreEquiv( Fra_Man_t * p, Aig_Obj_t * pOld, Aig_Obj_t * pNew )
{
- int pLits[4], RetValue, RetValue1, nBTLimit, clk;//, clk2 = clock();
+ int pLits[4], RetValue, RetValue1, nBTLimit;
+ clock_t clk;//, clk2 = clock();
int status;
// make sure the nodes are not complemented
@@ -207,7 +208,8 @@ p->timeSatFail += clock() - clk;
***********************************************************************/
int Fra_NodesAreImp( Fra_Man_t * p, Aig_Obj_t * pOld, Aig_Obj_t * pNew, int fComplL, int fComplR )
{
- int pLits[4], RetValue, RetValue1, nBTLimit, clk;//, clk2 = clock();
+ int pLits[4], RetValue, RetValue1, nBTLimit;
+ clock_t clk;//, clk2 = clock();
int status;
// make sure the nodes are not complemented
@@ -314,7 +316,8 @@ p->timeSatFail += clock() - clk;
***********************************************************************/
int Fra_NodesAreClause( Fra_Man_t * p, Aig_Obj_t * pOld, Aig_Obj_t * pNew, int fComplL, int fComplR )
{
- int pLits[4], RetValue, RetValue1, nBTLimit, clk;//, clk2 = clock();
+ int pLits[4], RetValue, RetValue1, nBTLimit;
+ clock_t clk;//, clk2 = clock();
int status;
// make sure the nodes are not complemented
@@ -421,7 +424,8 @@ p->timeSatFail += clock() - clk;
***********************************************************************/
int Fra_NodeIsConst( Fra_Man_t * p, Aig_Obj_t * pNew )
{
- int pLits[2], RetValue1, RetValue, clk;
+ int pLits[2], RetValue1, RetValue;
+ clock_t clk;
// make sure the nodes are not complemented
assert( !Aig_IsComplement(pNew) );
@@ -535,7 +539,8 @@ int Fra_SetActivityFactors_rec( Fra_Man_t * p, Aig_Obj_t * pObj, int LevelMin, i
***********************************************************************/
int Fra_SetActivityFactors( Fra_Man_t * p, Aig_Obj_t * pOld, Aig_Obj_t * pNew )
{
- int clk, LevelMin, LevelMax;
+ int LevelMin, LevelMax;
+ clock_t clk;
assert( pOld || pNew );
clk = clock();
// reset the active variables
diff --git a/src/proof/fra/fraSec.c b/src/proof/fra/fraSec.c
index cde56809..ac6cd67e 100644
--- a/src/proof/fra/fraSec.c
+++ b/src/proof/fra/fraSec.c
@@ -98,7 +98,8 @@ int Fra_FraigSec( Aig_Man_t * p, Fra_Sec_t * pParSec, Aig_Man_t ** ppResult )
Fra_Ssw_t Pars, * pPars = &Pars;
Fra_Sml_t * pSml;
Aig_Man_t * pNew, * pTemp;
- int nFrames, RetValue, nIter, clk, clkTotal = clock();
+ int nFrames, RetValue, nIter;
+ clock_t clk, clkTotal = clock();
int TimeOut = 0;
int fLatchCorr = 0;
float TimeLeft = 0.0;
diff --git a/src/proof/fra/fraSim.c b/src/proof/fra/fraSim.c
index 66579be3..555789e2 100644
--- a/src/proof/fra/fraSim.c
+++ b/src/proof/fra/fraSim.c
@@ -662,7 +662,8 @@ int Fra_SmlCheckNonConstOutputs( Fra_Sml_t * p )
void Fra_SmlSimulateOne( Fra_Sml_t * p )
{
Aig_Obj_t * pObj, * pObjLi, * pObjLo;
- int f, i, clk;
+ int f, i;
+ clock_t clk;
clk = clock();
for ( f = 0; f < p->nFrames; f++ )
{
@@ -700,7 +701,8 @@ p->nSimRounds++;
***********************************************************************/
void Fra_SmlResimulate( Fra_Man_t * p )
{
- int nChanges, clk;
+ int nChanges;
+ clock_t clk;
Fra_SmlAssignDist1( p->pSml, p->pPatWords );
Fra_SmlSimulateOne( p->pSml );
// if ( p->pPars->fPatScores )
@@ -735,7 +737,8 @@ p->timeRef += clock() - clk;
void Fra_SmlSimulate( Fra_Man_t * p, int fInit )
{
int fVerbose = 0;
- int nChanges, nClasses, clk;
+ int nChanges, nClasses;
+ clock_t clk;
assert( !fInit || Aig_ManRegNum(p->pManAig) );
// start the classes
Fra_SmlInitialize( p->pSml, fInit );
diff --git a/src/proof/fraig/fraig.h b/src/proof/fraig/fraig.h
index 6d672716..0c021feb 100644
--- a/src/proof/fraig/fraig.h
+++ b/src/proof/fraig/fraig.h
@@ -154,9 +154,6 @@ extern void Fraig_ManSetDoSparse( Fraig_Man_t * p, int fDoSparse
extern void Fraig_ManSetChoicing( Fraig_Man_t * p, int fChoicing );
extern void Fraig_ManSetTryProve( Fraig_Man_t * p, int fTryProve );
extern void Fraig_ManSetVerbose( Fraig_Man_t * p, int fVerbose );
-extern void Fraig_ManSetTimeToGraph( Fraig_Man_t * p, int Time );
-extern void Fraig_ManSetTimeToNet( Fraig_Man_t * p, int Time );
-extern void Fraig_ManSetTimeTotal( Fraig_Man_t * p, int Time );
extern void Fraig_ManSetOutputNames( Fraig_Man_t * p, char ** ppNames );
extern void Fraig_ManSetInputNames( Fraig_Man_t * p, char ** ppNames );
extern void Fraig_ManSetPo( Fraig_Man_t * p, Fraig_Node_t * pNode );
diff --git a/src/proof/fraig/fraigApi.c b/src/proof/fraig/fraigApi.c
index 6e0ab959..b0b47075 100644
--- a/src/proof/fraig/fraigApi.c
+++ b/src/proof/fraig/fraigApi.c
@@ -91,9 +91,6 @@ void Fraig_ManSetDoSparse( Fraig_Man_t * p, int fDoSparse ) { p-
void Fraig_ManSetChoicing( Fraig_Man_t * p, int fChoicing ) { p->fChoicing = fChoicing; }
void Fraig_ManSetTryProve( Fraig_Man_t * p, int fTryProve ) { p->fTryProve = fTryProve; }
void Fraig_ManSetVerbose( Fraig_Man_t * p, int fVerbose ) { p->fVerbose = fVerbose; }
-void Fraig_ManSetTimeToGraph( Fraig_Man_t * p, int Time ) { p->timeToAig = Time; }
-void Fraig_ManSetTimeToNet( Fraig_Man_t * p, int Time ) { p->timeToNet = Time; }
-void Fraig_ManSetTimeTotal( Fraig_Man_t * p, int Time ) { p->timeTotal = Time; }
void Fraig_ManSetOutputNames( Fraig_Man_t * p, char ** ppNames ) { p->ppOutputNames = ppNames; }
void Fraig_ManSetInputNames( Fraig_Man_t * p, char ** ppNames ) { p->ppInputNames = ppNames; }
diff --git a/src/proof/fraig/fraigChoice.c b/src/proof/fraig/fraigChoice.c
index 21d4fe10..e1d6e8a7 100644
--- a/src/proof/fraig/fraigChoice.c
+++ b/src/proof/fraig/fraigChoice.c
@@ -45,7 +45,7 @@ void Fraig_ManAddChoices( Fraig_Man_t * pMan, int fVerbose, int nLimit )
{
// ProgressBar * pProgress;
char Buffer[100];
- int clkTotal = clock();
+ clock_t clkTotal = clock();
int i, nNodesBefore, nNodesAfter, nInputs, nMaxNodes;
int /*nMaxLevel,*/ nDistributive;
Fraig_Node_t *pNode, *pRepr;
diff --git a/src/proof/fraig/fraigFeed.c b/src/proof/fraig/fraigFeed.c
index 47f946e1..4cb1276b 100644
--- a/src/proof/fraig/fraigFeed.c
+++ b/src/proof/fraig/fraigFeed.c
@@ -80,7 +80,8 @@ void Fraig_FeedBackInit( Fraig_Man_t * p )
void Fraig_FeedBack( Fraig_Man_t * p, int * pModel, Msat_IntVec_t * vVars, Fraig_Node_t * pOld, Fraig_Node_t * pNew )
{
int nVarsPi, nWords;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
// get the number of PI vars in the feedback (also sets the PI values)
nVarsPi = Fraig_FeedBackPrepare( p, pModel, vVars );
diff --git a/src/proof/fraig/fraigInt.h b/src/proof/fraig/fraigInt.h
index f6a5d74f..1ff8727e 100644
--- a/src/proof/fraig/fraigInt.h
+++ b/src/proof/fraig/fraigInt.h
@@ -28,7 +28,6 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
#include "src/misc/util/abc_global.h"
#include "fraig.h"
@@ -189,18 +188,18 @@ struct Fraig_ManStruct_t_
int nImplies1;
// runtime statistics
- int timeToAig; // time to transfer to the mapping structure
- int timeSims; // time to compute k-feasible cuts
- int timeTrav; // time to traverse the network
- int timeFeed; // time for solver feedback (recording and resimulating)
- int timeImply; // time to analyze implications
- int timeSat; // time to compute the truth table for each cut
- int timeToNet; // time to transfer back to the network
- int timeTotal; // the total mapping time
- int time1; // time to perform one task
- int time2; // time to perform another task
- int time3; // time to perform another task
- int time4; // time to perform another task
+ clock_t timeToAig; // time to transfer to the mapping structure
+ clock_t timeSims; // time to compute k-feasible cuts
+ clock_t timeTrav; // time to traverse the network
+ clock_t timeFeed; // time for solver feedback (recording and resimulating)
+ clock_t timeImply; // time to analyze implications
+ clock_t timeSat; // time to compute the truth table for each cut
+ clock_t timeToNet; // time to transfer back to the network
+ clock_t timeTotal; // the total mapping time
+ clock_t time1; // time to perform one task
+ clock_t time2; // time to perform another task
+ clock_t time3; // time to perform another task
+ clock_t time4; // time to perform another task
};
// the mapping node
diff --git a/src/proof/fraig/fraigMan.c b/src/proof/fraig/fraigMan.c
index 125a4da1..bc7c423d 100644
--- a/src/proof/fraig/fraigMan.c
+++ b/src/proof/fraig/fraigMan.c
@@ -25,8 +25,8 @@ ABC_NAMESPACE_IMPL_START
/// DECLARATIONS ///
////////////////////////////////////////////////////////////////////////
-int timeSelect;
-int timeAssign;
+clock_t timeSelect;
+clock_t timeAssign;
////////////////////////////////////////////////////////////////////////
/// FUNCTION DEFINITIONS ///
@@ -323,8 +323,8 @@ void Fraig_ManFree( Fraig_Man_t * p )
***********************************************************************/
void Fraig_ManCreateSolver( Fraig_Man_t * p )
{
- extern int timeSelect;
- extern int timeAssign;
+ extern clock_t timeSelect;
+ extern clock_t timeAssign;
assert( p->pSat == NULL );
// allocate data for SAT solving
p->pSat = Msat_SolverAlloc( 500, 1, 1, 1, 1, 0 );
diff --git a/src/proof/fraig/fraigNode.c b/src/proof/fraig/fraigNode.c
index 609d5f65..5310534b 100644
--- a/src/proof/fraig/fraigNode.c
+++ b/src/proof/fraig/fraigNode.c
@@ -87,7 +87,8 @@ Fraig_Node_t * Fraig_NodeCreateConst( Fraig_Man_t * p )
Fraig_Node_t * Fraig_NodeCreatePi( Fraig_Man_t * p )
{
Fraig_Node_t * pNode, * pNodeRes;
- int i, clk;
+ int i;
+ clock_t clk;
// create the node
pNode = (Fraig_Node_t *)Fraig_MemFixedEntryFetch( p->mmNodes );
@@ -159,7 +160,7 @@ p->timeSims += clock() - clk;
Fraig_Node_t * Fraig_NodeCreate( Fraig_Man_t * p, Fraig_Node_t * p1, Fraig_Node_t * p2 )
{
Fraig_Node_t * pNode;
- int clk;
+ clock_t clk;
// create the node
pNode = (Fraig_Node_t *)Fraig_MemFixedEntryFetch( p->mmNodes );
diff --git a/src/proof/fraig/fraigSat.c b/src/proof/fraig/fraigSat.c
index 6ccd1b86..7a11c072 100644
--- a/src/proof/fraig/fraigSat.c
+++ b/src/proof/fraig/fraigSat.c
@@ -85,7 +85,8 @@ int Fraig_NodesAreEqual( Fraig_Man_t * p, Fraig_Node_t * pNode1, Fraig_Node_t *
void Fraig_ManProveMiter( Fraig_Man_t * p )
{
Fraig_Node_t * pNode;
- int i, clk;
+ int i;
+ clock_t clk;
if ( !p->fTryProve )
return;
@@ -300,7 +301,8 @@ void Fraig_VarsStudy( Fraig_Man_t * p, Fraig_Node_t * pOld, Fraig_Node_t * pNew
***********************************************************************/
int Fraig_NodeIsEquivalent( Fraig_Man_t * p, Fraig_Node_t * pOld, Fraig_Node_t * pNew, int nBTLimit, int nTimeLimit )
{
- int RetValue, RetValue1, i, fComp, clk;
+ int RetValue, RetValue1, i, fComp;
+ clock_t clk;
int fVerbose = 0;
int fSwitch = 0;
@@ -548,7 +550,8 @@ p->time3 += clock() - clk;
***********************************************************************/
int Fraig_NodeIsImplication( Fraig_Man_t * p, Fraig_Node_t * pOld, Fraig_Node_t * pNew, int nBTLimit )
{
- int RetValue, RetValue1, i, fComp, clk;
+ int RetValue, RetValue1, i, fComp;
+ clock_t clk;
int fVerbose = 0;
// make sure the nodes are not complemented
@@ -650,7 +653,8 @@ p->time3 += clock() - clk;
int Fraig_ManCheckClauseUsingSat( Fraig_Man_t * p, Fraig_Node_t * pNode1, Fraig_Node_t * pNode2, int nBTLimit )
{
Fraig_Node_t * pNode1R, * pNode2R;
- int RetValue, RetValue1, i, clk;
+ int RetValue, RetValue1, i;
+ clock_t clk;
int fVerbose = 0;
pNode1R = Fraig_Regular(pNode1);
diff --git a/src/proof/fraig/fraigTable.c b/src/proof/fraig/fraigTable.c
index 6611e4fa..d184ab7f 100644
--- a/src/proof/fraig/fraigTable.c
+++ b/src/proof/fraig/fraigTable.c
@@ -260,7 +260,8 @@ void Fraig_TableResizeS( Fraig_HashTable_t * p )
{
Fraig_Node_t ** pBinsNew;
Fraig_Node_t * pEnt, * pEnt2;
- int nBinsNew, Counter, i, clk;
+ int nBinsNew, Counter, i;
+ clock_t clk;
unsigned Key;
clk = clock();
@@ -303,7 +304,8 @@ void Fraig_TableResizeF( Fraig_HashTable_t * p, int fUseSimR )
{
Fraig_Node_t ** pBinsNew;
Fraig_Node_t * pEnt, * pEnt2;
- int nBinsNew, Counter, i, clk;
+ int nBinsNew, Counter, i;
+ clock_t clk;
unsigned Key;
clk = clock();
diff --git a/src/proof/fraig/fraigUtil.c b/src/proof/fraig/fraigUtil.c
index ae78a61f..316b492e 100644
--- a/src/proof/fraig/fraigUtil.c
+++ b/src/proof/fraig/fraigUtil.c
@@ -844,7 +844,7 @@ int Fraig_ManPrintRefs( Fraig_Man_t * pMan )
Fraig_NodeVec_t * vPivots;
Fraig_Node_t * pNode, * pNode2;
int i, k, Counter, nProved;
- int clk;
+ clock_t clk;
vPivots = Fraig_NodeVecAlloc( 1000 );
for ( i = 0; i < pMan->vNodes->nSize; i++ )
diff --git a/src/proof/int/intCheck.c b/src/proof/int/intCheck.c
index 2b14d8ae..28ef54a7 100644
--- a/src/proof/int/intCheck.c
+++ b/src/proof/int/intCheck.c
@@ -217,7 +217,7 @@ void Inter_CheckAddEqual( Inter_Check_t * p, int iVarA, int iVarB )
SeeAlso []
***********************************************************************/
-int Inter_CheckPerform( Inter_Check_t * p, Cnf_Dat_t * pCnfInt, int nTimeNewOut )
+int Inter_CheckPerform( Inter_Check_t * p, Cnf_Dat_t * pCnfInt, clock_t nTimeNewOut )
{
Aig_Obj_t * pObj, * pObj2;
int i, f, VarA, VarB, RetValue, Entry, status;
diff --git a/src/proof/int/intCore.c b/src/proof/int/intCore.c
index d4ef1f94..c226c7e1 100644
--- a/src/proof/int/intCore.c
+++ b/src/proof/int/intCore.c
@@ -80,8 +80,9 @@ int Inter_ManPerformInterpolation( Aig_Man_t * pAig, Inter_ManParams_t * pPars,
Inter_Man_t * p;
Inter_Check_t * pCheck = NULL;
Aig_Man_t * pAigTemp;
- int s, i, RetValue, Status, clk, clk2, clkTotal = clock(), timeTemp = 0;
- int nTimeNewOut = pPars->nSecLimit ? time(NULL) + pPars->nSecLimit : 0;
+ int s, i, RetValue, Status;
+ clock_t clk, clk2, clkTotal = clock(), timeTemp = 0;
+ clock_t nTimeNewOut = pPars->nSecLimit ? pPars->nSecLimit * CLOCKS_PER_SEC + clock() : 0;
// enable ORing of the interpolants, if containment check is performed inductively with K > 1
if ( pPars->nFramesK > 1 )
@@ -256,7 +257,7 @@ p->timeEqu += clock() - clk;
}
else if ( RetValue == -1 )
{
- if ( pPars->nSecLimit && time(NULL) > nTimeNewOut ) // timed out
+ if ( pPars->nSecLimit && clock() > nTimeNewOut ) // timed out
{
if ( pPars->fVerbose )
printf( "Reached timeout (%d seconds).\n", pPars->nSecLimit );
@@ -341,7 +342,7 @@ p->timeEqu += clock() - clk - timeTemp;
Inter_CheckStop( pCheck );
return 1;
}
- if ( pPars->nSecLimit && time(NULL) > nTimeNewOut )
+ if ( pPars->nSecLimit && clock() > nTimeNewOut )
{
printf( "Reached timeout (%d seconds).\n", pPars->nSecLimit );
p->timeTotal = clock() - clkTotal;
diff --git a/src/proof/int/intCtrex.c b/src/proof/int/intCtrex.c
index 04aaa271..840ae75d 100644
--- a/src/proof/int/intCtrex.c
+++ b/src/proof/int/intCtrex.c
@@ -99,7 +99,8 @@ void * Inter_ManGetCounterExample( Aig_Man_t * pAig, int nFrames, int fVerbose )
Aig_Man_t * pFrames;
sat_solver * pSat;
Cnf_Dat_t * pCnf;
- int status, clk = clock();
+ int status;
+ clock_t clk = clock();
Vec_Int_t * vCiIds;
// create timeframes
assert( Saig_ManPoNum(pAig) == 1 );
diff --git a/src/proof/int/intInt.h b/src/proof/int/intInt.h
index 6a033d85..ec2a0356 100644
--- a/src/proof/int/intInt.h
+++ b/src/proof/int/intInt.h
@@ -70,13 +70,13 @@ struct Inter_Man_t_
int nConfLimit; // the limit on the number of conflicts
int fVerbose; // the verbosiness flag
// runtime
- int timeRwr;
- int timeCnf;
- int timeSat;
- int timeInt;
- int timeEqu;
- int timeOther;
- int timeTotal;
+ clock_t timeRwr;
+ clock_t timeCnf;
+ clock_t timeSat;
+ clock_t timeInt;
+ clock_t timeEqu;
+ clock_t timeOther;
+ clock_t timeTotal;
};
// containment checking manager
@@ -93,7 +93,7 @@ typedef struct Inter_Check_t_ Inter_Check_t;
/*=== intCheck.c ============================================================*/
extern Inter_Check_t * Inter_CheckStart( Aig_Man_t * pTrans, int nFramesK );
extern void Inter_CheckStop( Inter_Check_t * p );
-extern int Inter_CheckPerform( Inter_Check_t * p, Cnf_Dat_t * pCnf, int nTimeNewOut );
+extern int Inter_CheckPerform( Inter_Check_t * p, Cnf_Dat_t * pCnf, clock_t nTimeNewOut );
/*=== intContain.c ============================================================*/
extern int Inter_ManCheckContainment( Aig_Man_t * pNew, Aig_Man_t * pOld );
@@ -117,7 +117,7 @@ extern void Inter_ManClean( Inter_Man_t * p );
extern void Inter_ManStop( Inter_Man_t * p, int fProved );
/*=== intM114.c ============================================================*/
-extern int Inter_ManPerformOneStep( Inter_Man_t * p, int fUseBias, int fUseBackward, int nTimeNewOut );
+extern int Inter_ManPerformOneStep( Inter_Man_t * p, int fUseBias, int fUseBackward, clock_t nTimeNewOut );
/*=== intM114p.c ============================================================*/
#ifdef ABC_USE_LIBRARIES
diff --git a/src/proof/int/intM114.c b/src/proof/int/intM114.c
index ed3ef80e..bf44696d 100644
--- a/src/proof/int/intM114.c
+++ b/src/proof/int/intM114.c
@@ -200,15 +200,16 @@ sat_solver * Inter_ManDeriveSatSolver(
SeeAlso []
***********************************************************************/
-int Inter_ManPerformOneStep( Inter_Man_t * p, int fUseBias, int fUseBackward, int nTimeNewOut )
+int Inter_ManPerformOneStep( Inter_Man_t * p, int fUseBias, int fUseBackward, clock_t nTimeNewOut )
{
sat_solver * pSat;
void * pSatCnf = NULL;
Inta_Man_t * pManInterA;
// Intb_Man_t * pManInterB;
int * pGlobalVars;
- int clk, status, RetValue;
+ int status, RetValue;
int i, Var;
+ clock_t clk;
// assert( p->pInterNew == NULL );
// derive the SAT solver
diff --git a/src/proof/int/intUtil.c b/src/proof/int/intUtil.c
index 8027bdef..b93a7453 100644
--- a/src/proof/int/intUtil.c
+++ b/src/proof/int/intUtil.c
@@ -49,7 +49,7 @@ int Inter_ManCheckInitialState( Aig_Man_t * p )
Aig_Obj_t * pObj;
sat_solver * pSat;
int i, status;
- int clk = clock();
+ clock_t clk = clock();
pCnf = Cnf_Derive( p, Saig_ManRegNum(p) );
pSat = (sat_solver *)Cnf_DataWriteIntoSolver( pCnf, 1, 1 );
if ( pSat == NULL )
@@ -87,7 +87,7 @@ int Inter_ManCheckAllStates( Aig_Man_t * p )
Cnf_Dat_t * pCnf;
sat_solver * pSat;
int status;
- int clk = clock();
+ clock_t clk = clock();
pCnf = Cnf_Derive( p, Saig_ManRegNum(p) );
pSat = (sat_solver *)Cnf_DataWriteIntoSolver( pCnf, 1, 0 );
Cnf_DataFree( pCnf );
diff --git a/src/proof/llb/llb.h b/src/proof/llb/llb.h
index a9bfd891..464f4526 100644
--- a/src/proof/llb/llb.h
+++ b/src/proof/llb/llb.h
@@ -65,7 +65,7 @@ struct Gia_ParLlb_t_
int TimeLimit; // time limit for one reachability run
int TimeLimitGlo; // time limit for all reachability runs
// internal parameters
- int TimeTarget; // the time to stop
+ clock_t TimeTarget; // the time to stop
int iFrame; // explored up to this frame
};
diff --git a/src/proof/llb/llb1Core.c b/src/proof/llb/llb1Core.c
index 56e0cc6b..b16fdee7 100644
--- a/src/proof/llb/llb1Core.c
+++ b/src/proof/llb/llb1Core.c
@@ -114,7 +114,7 @@ int Llb_ManModelCheckAig( Aig_Man_t * pAigGlo, Gia_ParLlb_t * pPars, Vec_Int_t *
Llb_Man_t * p = NULL;
Aig_Man_t * pAig;
int RetValue = -1;
- int clk = clock();
+ clock_t clk = clock();
if ( pPars->fIndConstr )
{
diff --git a/src/proof/llb/llb1Hint.c b/src/proof/llb/llb1Hint.c
index 51d3a9fc..07877a98 100644
--- a/src/proof/llb/llb1Hint.c
+++ b/src/proof/llb/llb1Hint.c
@@ -165,7 +165,7 @@ int Llb_ManModelCheckAigWithHints( Aig_Man_t * pAigGlo, Gia_ParLlb_t * pPars )
Vec_Int_t * vHints;
Vec_Int_t * vHFCands;
int i, Entry, RetValue = -1;
- int clk = clock();
+ clock_t clk = clock();
assert( pPars->nHintDepth > 0 );
/*
// perform reachability without hints
diff --git a/src/proof/llb/llb1Reach.c b/src/proof/llb/llb1Reach.c
index 60124378..fed0389a 100644
--- a/src/proof/llb/llb1Reach.c
+++ b/src/proof/llb/llb1Reach.c
@@ -47,7 +47,8 @@ DdNode * Llb_ManConstructOutBdd( Aig_Man_t * pAig, Aig_Obj_t * pNode, DdManager
DdNode * bBdd0, * bBdd1, * bFunc;
Vec_Ptr_t * vNodes;
Aig_Obj_t * pObj;
- int i, TimeStop;
+ int i;
+ clock_t TimeStop;
if ( Aig_ObjFanin0(pNode) == Aig_ManConst1(pAig) )
return Cudd_NotCond( Cudd_ReadOne(dd), Aig_ObjFaninC0(pNode) );
TimeStop = dd->TimeStop; dd->TimeStop = 0;
@@ -156,7 +157,7 @@ DdNode * Llb_ManConstructQuantCubeIntern( Llb_Man_t * p, Llb_Grp_t * pGroup, int
Aig_Obj_t * pObj;
DdNode * bRes, * bTemp, * bVar;
int i, iGroupFirst, iGroupLast;
- int TimeStop;
+ clock_t TimeStop;
TimeStop = p->dd->TimeStop; p->dd->TimeStop = 0;
bRes = Cudd_ReadOne( p->dd ); Cudd_Ref( bRes );
Vec_PtrForEachEntry( Aig_Obj_t *, pGroup->vIns, pObj, i )
@@ -205,7 +206,8 @@ DdNode * Llb_ManConstructQuantCubeFwd( Llb_Man_t * p, Llb_Grp_t * pGroup, int iG
{
Aig_Obj_t * pObj;
DdNode * bRes, * bTemp, * bVar;
- int i, iGroupLast, TimeStop;
+ int i, iGroupLast;
+ clock_t TimeStop;
TimeStop = p->dd->TimeStop; p->dd->TimeStop = 0;
bRes = Cudd_ReadOne( p->dd ); Cudd_Ref( bRes );
Vec_PtrForEachEntry( Aig_Obj_t *, pGroup->vIns, pObj, i )
@@ -248,7 +250,8 @@ DdNode * Llb_ManConstructQuantCubeBwd( Llb_Man_t * p, Llb_Grp_t * pGroup, int iG
{
Aig_Obj_t * pObj;
DdNode * bRes, * bTemp, * bVar;
- int i, iGroupFirst, TimeStop;
+ int i, iGroupFirst;
+ clock_t TimeStop;
TimeStop = p->dd->TimeStop; p->dd->TimeStop = 0;
bRes = Cudd_ReadOne( p->dd ); Cudd_Ref( bRes );
Vec_PtrForEachEntry( Aig_Obj_t *, pGroup->vIns, pObj, i )
@@ -295,7 +298,8 @@ DdNode * Llb_ManComputeInitState( Llb_Man_t * p, DdManager * dd )
{
Aig_Obj_t * pObj;
DdNode * bRes, * bVar, * bTemp;
- int i, iVar, TimeStop;
+ int i, iVar;
+ clock_t TimeStop;
TimeStop = dd->TimeStop; dd->TimeStop = 0;
bRes = Cudd_ReadOne( dd ); Cudd_Ref( bRes );
Saig_ManForEachLo( p->pAig, pObj, i )
@@ -409,7 +413,8 @@ DdNode * Llb_ManCreateConstraints( Llb_Man_t * p, Vec_Int_t * vHints, int fUseNs
{
DdNode * bConstr, * bFunc, * bTemp;
Aig_Obj_t * pObj;
- int i, Entry, TimeStop;
+ int i, Entry;
+ clock_t TimeStop;
if ( vHints == NULL )
return Cudd_ReadOne( p->dd );
TimeStop = p->dd->TimeStop; p->dd->TimeStop = 0;
@@ -581,11 +586,12 @@ int Llb_ManReachability( Llb_Man_t * p, Vec_Int_t * vHints, DdManager ** pddGlo
int * pGlo2Cs = Vec_IntArray( p->vGlo2Cs );
DdNode * bCurrent, * bReached, * bNext, * bTemp, * bCube;
DdNode * bConstrCs, * bConstrNs;
- int clk2, clk = clock(), nIters, nBddSize = 0;
+ clock_t clk2, clk = clock();
+ int nIters, nBddSize = 0;
// int nThreshold = 10000;
// compute time to stop
- p->pPars->TimeTarget = p->pPars->TimeLimit ? time(NULL) + p->pPars->TimeLimit : 0;
+ p->pPars->TimeTarget = p->pPars->TimeLimit ? p->pPars->TimeLimit * CLOCKS_PER_SEC + clock(): 0;
// define variable limits
Llb_ManPrepareVarLimits( p );
@@ -656,7 +662,7 @@ int Llb_ManReachability( Llb_Man_t * p, Vec_Int_t * vHints, DdManager ** pddGlo
{
clk2 = clock();
// check the runtime limit
- if ( p->pPars->TimeLimit && time(NULL) > p->pPars->TimeTarget )
+ if ( p->pPars->TimeLimit && clock() > p->pPars->TimeTarget )
{
if ( !p->pPars->fSilent )
printf( "Reached timeout during image computation (%d seconds).\n", p->pPars->TimeLimit );
diff --git a/src/proof/llb/llb2Bad.c b/src/proof/llb/llb2Bad.c
index f4359493..57745c1d 100644
--- a/src/proof/llb/llb2Bad.c
+++ b/src/proof/llb/llb2Bad.c
@@ -42,7 +42,7 @@ ABC_NAMESPACE_IMPL_START
SeeAlso []
***********************************************************************/
-DdNode * Llb_BddComputeBad( Aig_Man_t * pInit, DdManager * dd, int TimeOut )
+DdNode * Llb_BddComputeBad( Aig_Man_t * pInit, DdManager * dd, clock_t TimeOut )
{
Vec_Ptr_t * vNodes;
DdNode * bBdd0, * bBdd1, * bTemp, * bResult;
@@ -110,7 +110,8 @@ DdNode * Llb_BddQuantifyPis( Aig_Man_t * pInit, DdManager * dd, DdNode * bFunc )
{
DdNode * bVar, * bCube, * bTemp;
Aig_Obj_t * pObj;
- int i, TimeStop;
+ int i;
+ clock_t TimeStop;
assert( Cudd_ReadSize(dd) == Aig_ManCiNum(pInit) );
TimeStop = dd->TimeStop; dd->TimeStop = 0;
// create PI cube
diff --git a/src/proof/llb/llb2Core.c b/src/proof/llb/llb2Core.c
index 3b98c32a..f19f757e 100644
--- a/src/proof/llb/llb2Core.c
+++ b/src/proof/llb/llb2Core.c
@@ -68,7 +68,8 @@ struct Llb_Img_t_
DdNode * Llb_CoreComputeCube( DdManager * dd, Vec_Int_t * vVars, int fUseVarIndex, char * pValues )
{
DdNode * bRes, * bVar, * bTemp;
- int i, iVar, Index, TimeStop;
+ int i, iVar, Index;
+ clock_t TimeStop;
TimeStop = dd->TimeStop; dd->TimeStop = 0;
bRes = Cudd_ReadOne( dd ); Cudd_Ref( bRes );
Vec_IntForEachEntry( vVars, Index, i )
@@ -209,7 +210,8 @@ int Llb_CoreReachability_int( Llb_Img_t * p, Vec_Ptr_t * vQuant0, Vec_Ptr_t * vQ
int * pLoc2GloR = p->pPars->fBackward? Vec_IntArray( p->vNs2Glo ) : Vec_IntArray( p->vCs2Glo );
int * pGlo2Loc = p->pPars->fBackward? Vec_IntArray( p->vGlo2Ns ) : Vec_IntArray( p->vGlo2Cs );
DdNode * bCurrent, * bReached, * bNext, * bTemp;
- int clk2, clk = clock(), nIters, nBddSize;//, iOutFail = -1;
+ clock_t clk2, clk = clock();
+ int nIters, nBddSize;//, iOutFail = -1;
/*
// compute time to stop
if ( p->pPars->TimeLimit )
@@ -218,7 +220,7 @@ int Llb_CoreReachability_int( Llb_Img_t * p, Vec_Ptr_t * vQuant0, Vec_Ptr_t * vQ
p->pPars->TimeTarget = 0;
*/
- if ( time(NULL) > p->pPars->TimeTarget )
+ if ( clock() > p->pPars->TimeTarget )
{
if ( !p->pPars->fSilent )
printf( "Reached timeout (%d seconds) before image computation.\n", p->pPars->TimeLimit );
@@ -286,7 +288,7 @@ int Llb_CoreReachability_int( Llb_Img_t * p, Vec_Ptr_t * vQuant0, Vec_Ptr_t * vQ
{
clk2 = clock();
// check the runtime limit
- if ( p->pPars->TimeLimit && time(NULL) > p->pPars->TimeTarget )
+ if ( p->pPars->TimeLimit && clock() > p->pPars->TimeTarget )
{
if ( !p->pPars->fSilent )
printf( "Reached timeout (%d seconds) during image computation.\n", p->pPars->TimeLimit );
@@ -529,7 +531,7 @@ int Llb_CoreReachability( Llb_Img_t * p )
SeeAlso []
***********************************************************************/
-Vec_Ptr_t * Llb_CoreConstructAll( Aig_Man_t * p, Vec_Ptr_t * vResult, Vec_Int_t * vVarsNs, int TimeTarget )
+Vec_Ptr_t * Llb_CoreConstructAll( Aig_Man_t * p, Vec_Ptr_t * vResult, Vec_Int_t * vVarsNs, clock_t TimeTarget )
{
DdManager * dd;
Vec_Ptr_t * vDdMans;
@@ -689,7 +691,7 @@ void Llb_CoreStop( Llb_Img_t * p )
SeeAlso []
***********************************************************************/
-int Llb_CoreExperiment( Aig_Man_t * pInit, Aig_Man_t * pAig, Gia_ParLlb_t * pPars, Vec_Ptr_t * vResult, int TimeTarget )
+int Llb_CoreExperiment( Aig_Man_t * pInit, Aig_Man_t * pAig, Gia_ParLlb_t * pPars, Vec_Ptr_t * vResult, clock_t TimeTarget )
{
int RetValue;
Llb_Img_t * p;
@@ -726,10 +728,10 @@ int Llb_ManReachMinCut( Aig_Man_t * pAig, Gia_ParLlb_t * pPars )
Vec_Ptr_t * vResult;
Aig_Man_t * p;
int RetValue = -1;
- int clk = clock();
+ clock_t clk = clock();
// compute time to stop
- pPars->TimeTarget = pPars->TimeLimit ? time(NULL) + pPars->TimeLimit : 0;
+ pPars->TimeTarget = pPars->TimeLimit ? pPars->TimeLimit * CLOCKS_PER_SEC + clock(): 0;
p = Aig_ManDupFlopsOnly( pAig );
//Aig_ManShow( p, 0, NULL );
@@ -741,7 +743,7 @@ int Llb_ManReachMinCut( Aig_Man_t * pAig, Gia_ParLlb_t * pPars )
vResult = Llb_ManComputeCuts( p, pPars->nPartValue, pPars->fVerbose, pPars->fVeryVerbose );
- if ( pPars->TimeLimit && time(NULL) > pPars->TimeTarget )
+ if ( pPars->TimeLimit && clock() > pPars->TimeTarget )
{
if ( !pPars->fSilent )
printf( "Reached timeout (%d seconds) after partitioning.\n", pPars->TimeLimit );
diff --git a/src/proof/llb/llb2Driver.c b/src/proof/llb/llb2Driver.c
index 4998b1ad..40d7a116 100644
--- a/src/proof/llb/llb2Driver.c
+++ b/src/proof/llb/llb2Driver.c
@@ -129,7 +129,8 @@ DdNode * Llb_DriverPhaseCube( Aig_Man_t * pAig, Vec_Int_t * vDriRefs, DdManager
{
DdNode * bCube, * bVar, * bTemp;
Aig_Obj_t * pObj;
- int i, TimeStop;
+ int i;
+ clock_t TimeStop;
TimeStop = dd->TimeStop; dd->TimeStop = 0;
bCube = Cudd_ReadOne( dd ); Cudd_Ref( bCube );
Saig_ManForEachLi( pAig, pObj, i )
@@ -159,7 +160,7 @@ DdNode * Llb_DriverPhaseCube( Aig_Man_t * pAig, Vec_Int_t * vDriRefs, DdManager
SeeAlso []
***********************************************************************/
-DdManager * Llb_DriverLastPartition( Aig_Man_t * p, Vec_Int_t * vVarsNs, int TimeTarget )
+DdManager * Llb_DriverLastPartition( Aig_Man_t * p, Vec_Int_t * vVarsNs, clock_t TimeTarget )
{
// int fVerbose = 1;
DdManager * dd;
diff --git a/src/proof/llb/llb2Flow.c b/src/proof/llb/llb2Flow.c
index 40ca19e5..f82fcf58 100644
--- a/src/proof/llb/llb2Flow.c
+++ b/src/proof/llb/llb2Flow.c
@@ -1226,7 +1226,8 @@ Vec_Ptr_t * Llb_ManComputeCuts( Aig_Man_t * p, int Num, int fVerbose, int fVeryV
{
int nVolMax = Aig_ManNodeNum(p) / Num;
Vec_Ptr_t * vResult, * vMinCut = NULL, * vLower, * vUpper;
- int i, k, nVol, clk = clock();
+ int i, k, nVol;
+ clock_t clk = clock();
vResult = Vec_PtrAlloc( 100 );
Vec_PtrPush( vResult, Llb_ManComputeCutLo(p) );
Vec_PtrPush( vResult, Llb_ManComputeCutLi(p) );
diff --git a/src/proof/llb/llb2Image.c b/src/proof/llb/llb2Image.c
index 99ffbdc4..cfaef13c 100644
--- a/src/proof/llb/llb2Image.c
+++ b/src/proof/llb/llb2Image.c
@@ -179,7 +179,7 @@ void Llb_ImgSchedule( Vec_Ptr_t * vSupps, Vec_Ptr_t ** pvQuant0, Vec_Ptr_t ** pv
SeeAlso []
***********************************************************************/
-DdManager * Llb_ImgPartition( Aig_Man_t * p, Vec_Ptr_t * vLower, Vec_Ptr_t * vUpper, int TimeTarget )
+DdManager * Llb_ImgPartition( Aig_Man_t * p, Vec_Ptr_t * vLower, Vec_Ptr_t * vUpper, clock_t TimeTarget )
{
Vec_Ptr_t * vNodes, * vRange;
Aig_Obj_t * pObj;
@@ -259,7 +259,8 @@ DdNode * Llb_ImgComputeCube( Aig_Man_t * pAig, Vec_Int_t * vNodeIds, DdManager *
{
DdNode * bProd, * bTemp;
Aig_Obj_t * pObj;
- int i, TimeStop;
+ int i;
+ clock_t TimeStop;
TimeStop = dd->TimeStop; dd->TimeStop = 0;
bProd = Cudd_ReadOne(dd); Cudd_Ref( bProd );
Aig_ManForEachObjVec( vNodeIds, pAig, pObj, i )
@@ -287,7 +288,8 @@ void Llb_ImgQuantifyFirst( Aig_Man_t * pAig, Vec_Ptr_t * vDdMans, Vec_Ptr_t * vQ
{
DdManager * dd;
DdNode * bProd, * bRes, * bTemp;
- int i, clk = clock();
+ int i;
+ clock_t clk = clock();
Vec_PtrForEachEntry( DdManager *, vDdMans, dd, i )
{
// remember unquantified ones
@@ -360,12 +362,13 @@ void Llb_ImgQuantifyReset( Vec_Ptr_t * vDdMans )
***********************************************************************/
DdNode * Llb_ImgComputeImage( Aig_Man_t * pAig, Vec_Ptr_t * vDdMans, DdManager * dd, DdNode * bInit,
Vec_Ptr_t * vQuant0, Vec_Ptr_t * vQuant1, Vec_Int_t * vDriRefs,
- int TimeTarget, int fBackward, int fReorder, int fVerbose )
+ clock_t TimeTarget, int fBackward, int fReorder, int fVerbose )
{
// int fCheckSupport = 0;
DdManager * ddPart;
DdNode * bImage, * bGroup, * bCube, * bTemp;
- int i, clk, clk0 = clock();
+ int i;
+ clock_t clk, clk0 = clock();
bImage = bInit; Cudd_Ref( bImage );
if ( fBackward )
diff --git a/src/proof/llb/llb3Image.c b/src/proof/llb/llb3Image.c
index 708af6d5..dcce8441 100644
--- a/src/proof/llb/llb3Image.c
+++ b/src/proof/llb/llb3Image.c
@@ -79,7 +79,7 @@ static inline Llb_Prt_t * Llb_MgrPart( Llb_Mgr_t * p, int i ) { return p->pPart
for ( i = 0; (i < Vec_IntSize(pVar->vParts)) && (((pPart) = Llb_MgrPart(p, Vec_IntEntry(pVar->vParts,i))), 1); i++ )
// statistics
-int timeBuild, timeAndEx, timeOther;
+clock_t timeBuild, timeAndEx, timeOther;
int nSuppMax;
////////////////////////////////////////////////////////////////////////
@@ -140,7 +140,8 @@ DdNode * Llb_NonlinCreateCube1( Llb_Mgr_t * p, Llb_Prt_t * pPart )
{
DdNode * bCube, * bTemp;
Llb_Var_t * pVar;
- int i, TimeStop;
+ int i;
+ clock_t TimeStop;
TimeStop = p->dd->TimeStop; p->dd->TimeStop = 0;
bCube = Cudd_ReadOne(p->dd); Cudd_Ref( bCube );
Llb_PartForEachVar( p, pPart, pVar, i )
@@ -172,7 +173,8 @@ DdNode * Llb_NonlinCreateCube2( Llb_Mgr_t * p, Llb_Prt_t * pPart1, Llb_Prt_t * p
{
DdNode * bCube, * bTemp;
Llb_Var_t * pVar;
- int i, TimeStop;
+ int i;
+ clock_t TimeStop;
TimeStop = p->dd->TimeStop; p->dd->TimeStop = 0;
bCube = Cudd_ReadOne(p->dd); Cudd_Ref( bCube );
Llb_PartForEachVar( p, pPart1, pVar, i )
@@ -337,7 +339,7 @@ int Llb_NonlinQuantify1( Llb_Mgr_t * p, Llb_Prt_t * pPart, int fSubset )
SeeAlso []
***********************************************************************/
-int Llb_NonlinQuantify2( Llb_Mgr_t * p, Llb_Prt_t * pPart1, Llb_Prt_t * pPart2, int Limit, int TimeOut )
+int Llb_NonlinQuantify2( Llb_Mgr_t * p, Llb_Prt_t * pPart1, Llb_Prt_t * pPart2 )
{
int fVerbose = 0;
Llb_Var_t * pVar;
@@ -373,7 +375,7 @@ Extra_bddPrintSupport( p->dd, bCube ); printf( "\n" );
RetValue = Llb_NonlinQuantify1( p, pPart2, 1 );
if ( RetValue )
Limit = Limit + 1000;
- Llb_NonlinQuantify2( p, pPart1, pPart2, Limit, TimeOut );
+ Llb_NonlinQuantify2( p, pPart1, pPart2 );
return 0;
}
Cudd_Ref( bFunc );
@@ -537,7 +539,7 @@ Vec_Ptr_t * Llb_NonlinCutNodes( Aig_Man_t * p, Vec_Ptr_t * vLower, Vec_Ptr_t * v
SeeAlso []
***********************************************************************/
-Vec_Ptr_t * Llb_NonlinBuildBdds( Aig_Man_t * p, Vec_Ptr_t * vLower, Vec_Ptr_t * vUpper, DdManager * dd, int TimeOut )
+Vec_Ptr_t * Llb_NonlinBuildBdds( Aig_Man_t * p, Vec_Ptr_t * vLower, Vec_Ptr_t * vUpper, DdManager * dd )
{
Vec_Ptr_t * vNodes, * vResult;
Aig_Obj_t * pObj;
@@ -655,13 +657,13 @@ void Llb_NonlinAddPartition( Llb_Mgr_t * p, int i, DdNode * bFunc )
SeeAlso []
***********************************************************************/
-int Llb_NonlinStart( Llb_Mgr_t * p, int TimeOut )
+int Llb_NonlinStart( Llb_Mgr_t * p )
{
Vec_Ptr_t * vRootBdds;
DdNode * bFunc;
int i;
// create and collect BDDs
- vRootBdds = Llb_NonlinBuildBdds( p->pAig, p->vLeaves, p->vRoots, p->dd, TimeOut ); // come referenced
+ vRootBdds = Llb_NonlinBuildBdds( p->pAig, p->vLeaves, p->vRoots, p->dd ); // come referenced
if ( vRootBdds == NULL )
return 0;
// add pairs (refs are consumed inside)
@@ -745,7 +747,7 @@ int Llb_NonlinNextPartitions( Llb_Mgr_t * p, Llb_Prt_t ** ppPart1, Llb_Prt_t **
***********************************************************************/
void Llb_NonlinReorder( DdManager * dd, int fTwice, int fVerbose )
{
- int clk = clock();
+ clock_t clk = clock();
if ( fVerbose )
Abc_Print( 1, "Reordering... Before =%5d. ", Cudd_ReadKeys(dd) - Cudd_ReadDead(dd) );
Cudd_ReduceHeap( dd, CUDD_REORDER_SYMM_SIFT, 100 );
@@ -880,17 +882,17 @@ void Llb_NonlinFree( Llb_Mgr_t * p )
***********************************************************************/
DdNode * Llb_NonlinImage( Aig_Man_t * pAig, Vec_Ptr_t * vLeaves, Vec_Ptr_t * vRoots, int * pVars2Q,
- DdManager * dd, DdNode * bCurrent, int fReorder, int fVerbose, int * pOrder, int Limit, int TimeOut )
+ DdManager * dd, DdNode * bCurrent, int fReorder, int fVerbose, int * pOrder )
{
Llb_Prt_t * pPart, * pPart1, * pPart2;
Llb_Mgr_t * p;
DdNode * bFunc, * bTemp;
int i, nReorders, timeInside;
- int clk = clock(), clk2;
+ clock_t clk = clock(), clk2;
// start the manager
clk2 = clock();
p = Llb_NonlinAlloc( pAig, vLeaves, vRoots, pVars2Q, dd );
- if ( !Llb_NonlinStart( p, TimeOut ) )
+ if ( !Llb_NonlinStart( p ) )
{
Llb_NonlinFree( p );
return NULL;
@@ -913,7 +915,7 @@ DdNode * Llb_NonlinImage( Aig_Man_t * pAig, Vec_Ptr_t * vLeaves, Vec_Ptr_t * vRo
{
clk2 = clock();
nReorders = Cudd_ReadReorderings(dd);
- if ( !Llb_NonlinQuantify2( p, pPart1, pPart2, Limit, TimeOut ) )
+ if ( !Llb_NonlinQuantify2( p, pPart1, pPart2 ) )
{
Llb_NonlinFree( p );
return NULL;
@@ -958,10 +960,10 @@ static Llb_Mgr_t * p = NULL;
SeeAlso []
***********************************************************************/
-DdManager * Llb_NonlinImageStart( Aig_Man_t * pAig, Vec_Ptr_t * vLeaves, Vec_Ptr_t * vRoots, int * pVars2Q, int * pOrder, int fFirst, int TimeTarget )
+DdManager * Llb_NonlinImageStart( Aig_Man_t * pAig, Vec_Ptr_t * vLeaves, Vec_Ptr_t * vRoots, int * pVars2Q, int * pOrder, int fFirst, clock_t TimeTarget )
{
DdManager * dd;
- int clk = clock();
+ clock_t clk = clock();
assert( p == NULL );
// start a new manager (disable reordering)
dd = Cudd_Init( Aig_ManObjNumMax(pAig), 0, CUDD_UNIQUE_SLOTS, CUDD_CACHE_SLOTS, 0 );
@@ -971,7 +973,7 @@ DdManager * Llb_NonlinImageStart( Aig_Man_t * pAig, Vec_Ptr_t * vLeaves, Vec_Ptr
Cudd_AutodynEnable( dd, CUDD_REORDER_SYMM_SIFT );
// start the manager
p = Llb_NonlinAlloc( pAig, vLeaves, vRoots, pVars2Q, dd );
- if ( !Llb_NonlinStart( p, 0 ) )
+ if ( !Llb_NonlinStart( p ) )
{
Llb_NonlinFree( p );
p = NULL;
@@ -999,7 +1001,7 @@ DdNode * Llb_NonlinImageCompute( DdNode * bCurrent, int fReorder, int fDrop, int
Llb_Prt_t * pPart, * pPart1, * pPart2;
DdNode * bFunc, * bTemp;
int i, nReorders, timeInside = 0;
- int clk = clock(), clk2;
+ clock_t clk = clock(), clk2;
// add partition
Llb_NonlinAddPartition( p, p->iPartFree++, bCurrent );
@@ -1020,7 +1022,7 @@ DdNode * Llb_NonlinImageCompute( DdNode * bCurrent, int fReorder, int fDrop, int
{
clk2 = clock();
nReorders = Cudd_ReadReorderings(p->dd);
- if ( !Llb_NonlinQuantify2( p, pPart1, pPart2, 0, 0 ) )
+ if ( !Llb_NonlinQuantify2( p, pPart1, pPart2 ) )
{
Llb_NonlinFree( p );
return NULL;
diff --git a/src/proof/llb/llb3Nonlin.c b/src/proof/llb/llb3Nonlin.c
index 38d9b8ae..48724136 100644
--- a/src/proof/llb/llb3Nonlin.c
+++ b/src/proof/llb/llb3Nonlin.c
@@ -54,14 +54,14 @@ struct Llb_Mnn_t_
int ddLocReos;
int ddLocGrbs;
- int timeImage;
- int timeTran1;
- int timeTran2;
- int timeGloba;
- int timeOther;
- int timeTotal;
- int timeReo;
- int timeReoG;
+ clock_t timeImage;
+ clock_t timeTran1;
+ clock_t timeTran2;
+ clock_t timeGloba;
+ clock_t timeOther;
+ clock_t timeTotal;
+ clock_t timeReo;
+ clock_t timeReoG;
};
@@ -90,7 +90,7 @@ int Llb_NonlinFindBestVar( DdManager * dd, DdNode * bFunc, Aig_Man_t * pAig )
DdNode * bCof, * bVar;
int i, iVar, iVarBest = -1, iValue, iValueBest = ABC_INFINITY, Size0Best = -1;
int Size, Size0, Size1;
- int clk = clock();
+ clock_t clk = clock();
Size = Cudd_DagSize(bFunc);
// printf( "Original = %6d. SuppSize = %3d. Vars = %3d.\n",
// Size = Cudd_DagSize(bFunc), Cudd_SupportSize(dd, bFunc), Aig_ManRegNum(pAig) );
@@ -215,7 +215,8 @@ DdNode * Llb_NonlinComputeInitState( Aig_Man_t * pAig, DdManager * dd )
{
Aig_Obj_t * pObj;
DdNode * bRes, * bVar, * bTemp;
- int i, iVar, TimeStop;
+ int i, iVar;
+ clock_t TimeStop;
TimeStop = dd->TimeStop; dd->TimeStop = 0;
bRes = Cudd_ReadOne( dd ); Cudd_Ref( bRes );
Saig_ManForEachLo( pAig, pObj, i )
@@ -302,7 +303,7 @@ Abc_Cex_t * Llb_NonlinDeriveCex( Llb_Mnn_t * p )
//Extra_bddPrintSupport( p->dd, bRing ); printf( "\n" );
// compute the next states
bImage = Llb_NonlinImage( p->pAig, p->vLeaves, p->vRoots, p->pVars2Q, p->dd, bState,
- p->pPars->fReorder, p->pPars->fVeryVerbose, NULL, ABC_INFINITY, ABC_INFINITY ); // consumed reference
+ p->pPars->fReorder, p->pPars->fVeryVerbose, NULL ); // consumed reference
assert( bImage != NULL );
Cudd_Ref( bImage );
//Extra_bddPrintSupport( p->dd, bImage ); printf( "\n" );
@@ -429,11 +430,11 @@ int Llb_NonlinReachability( Llb_Mnn_t * p )
{
DdNode * bTemp, * bNext;
int nIters, nBddSize0, nBddSize = -1, NumCmp;//, Limit = p->pPars->nBddMax;
- int clk2, clk3, clk = clock();
+ clock_t clk2, clk3, clk = clock();
assert( Aig_ManRegNum(p->pAig) > 0 );
// compute time to stop
- p->pPars->TimeTarget = p->pPars->TimeLimit ? time(NULL) + p->pPars->TimeLimit : 0;
+ p->pPars->TimeTarget = p->pPars->TimeLimit ? p->pPars->TimeLimit * CLOCKS_PER_SEC + clock(): 0;
// set the stop time parameter
p->dd->TimeStop = p->pPars->TimeTarget;
@@ -472,7 +473,7 @@ int Llb_NonlinReachability( Llb_Mnn_t * p )
{
// check the runtime limit
clk2 = clock();
- if ( p->pPars->TimeLimit && time(NULL) > p->pPars->TimeTarget )
+ if ( p->pPars->TimeLimit && clock() > p->pPars->TimeTarget )
{
if ( !p->pPars->fSilent )
printf( "Reached timeout (%d seconds) during image computation.\n", p->pPars->TimeLimit );
@@ -807,7 +808,7 @@ void Llb_NonlinExperiment( Aig_Man_t * pAig, int Num )
Llb_Mnn_t * pMnn;
Gia_ParLlb_t Pars, * pPars = &Pars;
Aig_Man_t * p;
- int clk = clock();
+ clock_t clk = clock();
Llb_ManSetDefaultParams( pPars );
pPars->fVerbose = 1;
@@ -851,7 +852,7 @@ int Llb_NonlinCoreReach( Aig_Man_t * pAig, Gia_ParLlb_t * pPars )
if ( !pPars->fSkipReach )
{
- int clk = clock();
+ clock_t clk = clock();
pMnn = Llb_MnnStart( pAig, p, pPars );
RetValue = Llb_NonlinReachability( pMnn );
pMnn->timeTotal = clock() - clk;
diff --git a/src/proof/llb/llb4Image.c b/src/proof/llb/llb4Image.c
index 039be164..4ae087b5 100644
--- a/src/proof/llb/llb4Image.c
+++ b/src/proof/llb/llb4Image.c
@@ -77,7 +77,7 @@ static inline Llb_Prt_t * Llb_MgrPart( Llb_Mgr_t * p, int i ) { return p->pPart
for ( i = 0; (i < Vec_IntSize(pVar->vParts)) && (((pPart) = Llb_MgrPart(p, Vec_IntEntry(pVar->vParts,i))), 1); i++ )
// statistics
-//int timeBuild, timeAndEx, timeOther;
+//clock_t timeBuild, timeAndEx, timeOther;
//int nSuppMax;
////////////////////////////////////////////////////////////////////////
@@ -139,7 +139,8 @@ DdNode * Llb_Nonlin4CreateCube1( Llb_Mgr_t * p, Llb_Prt_t * pPart )
{
DdNode * bCube, * bTemp;
Llb_Var_t * pVar;
- int i, TimeStop;
+ int i;
+ clock_t TimeStop;
TimeStop = p->dd->TimeStop; p->dd->TimeStop = 0;
bCube = Cudd_ReadOne(p->dd); Cudd_Ref( bCube );
Llb_PartForEachVar( p, pPart, pVar, i )
@@ -171,7 +172,8 @@ DdNode * Llb_Nonlin4CreateCube2( Llb_Mgr_t * p, Llb_Prt_t * pPart1, Llb_Prt_t *
{
DdNode * bCube, * bTemp;
Llb_Var_t * pVar;
- int i, TimeStop;
+ int i;
+ clock_t TimeStop;
TimeStop = p->dd->TimeStop; p->dd->TimeStop = 0;
bCube = Cudd_ReadOne(p->dd); Cudd_Ref( bCube );
Llb_PartForEachVar( p, pPart1, pVar, i )
diff --git a/src/proof/llb/llb4Nonlin.c b/src/proof/llb/llb4Nonlin.c
index af8dad75..f2973922 100644
--- a/src/proof/llb/llb4Nonlin.c
+++ b/src/proof/llb/llb4Nonlin.c
@@ -47,11 +47,11 @@ struct Llb_Mnx_t_
Vec_Int_t * vOrder; // for each object ID, its BDD variable number or -1
Vec_Int_t * vVars2Q; // 1 if variable is quantifiable; 0 othervise
- int timeImage;
- int timeRemap;
- int timeReo;
- int timeOther;
- int timeTotal;
+ clock_t timeImage;
+ clock_t timeRemap;
+ clock_t timeReo;
+ clock_t timeOther;
+ clock_t timeTotal;
};
//extern int timeBuild, timeAndEx, timeOther;
@@ -446,7 +446,8 @@ DdNode * Llb_Nonlin4ComputeInitState( DdManager * dd, Aig_Man_t * pAig, Vec_Int_
{
Aig_Obj_t * pObjLi, * pObjLo;
DdNode * bRes, * bVar, * bTemp;
- int i, TimeStop;
+ int i;
+ clock_t TimeStop;
TimeStop = dd->TimeStop; dd->TimeStop = 0;
bRes = Cudd_ReadOne( dd ); Cudd_Ref( bRes );
Saig_ManForEachLiLo( pAig, pObjLi, pObjLo, i )
@@ -475,7 +476,8 @@ DdNode * Llb_Nonlin4ComputeCube( DdManager * dd, Aig_Man_t * pAig, Vec_Int_t * v
{
Aig_Obj_t * pObjLo, * pObjLi, * pObjTemp;
DdNode * bRes, * bVar, * bTemp;
- int i, TimeStop;
+ int i;
+ clock_t TimeStop;
TimeStop = dd->TimeStop; dd->TimeStop = 0;
bRes = Cudd_ReadOne( dd ); Cudd_Ref( bRes );
Saig_ManForEachLiLo( pAig, pObjLi, pObjLo, i )
@@ -667,7 +669,7 @@ int Llb_Nonlin4Reachability( Llb_Mnx_t * p )
{
DdNode * bAux;
int nIters, nBddSizeFr = 0, nBddSizeTo = 0, nBddSizeTo2 = 0;
- int clkTemp, clkIter, clk = clock();
+ clock_t clkTemp, clkIter, clk = clock();
assert( Aig_ManRegNum(p->pAig) > 0 );
if ( p->pPars->fBackward )
@@ -736,7 +738,7 @@ int Llb_Nonlin4Reachability( Llb_Mnx_t * p )
{
clkIter = clock();
// check the runtime limit
- if ( p->pPars->TimeLimit && time(NULL) > p->pPars->TimeTarget )
+ if ( p->pPars->TimeLimit && clock() > p->pPars->TimeTarget )
{
if ( !p->pPars->fSilent )
printf( "Reached timeout (%d seconds) during image computation.\n", p->pPars->TimeLimit );
@@ -904,7 +906,7 @@ printf( "Before = %d. After = %d.\n", Cudd_DagSize(bAux), Cudd_DagSize(p->bCurr
***********************************************************************/
void Llb_Nonlin4Reorder( DdManager * dd, int fTwice, int fVerbose )
{
- int clk = clock();
+ clock_t clk = clock();
if ( fVerbose )
Abc_Print( 1, "Reordering... Before =%5d. ", Cudd_ReadKeys(dd) - Cudd_ReadDead(dd) );
Cudd_ReduceHeap( dd, CUDD_REORDER_SYMM_SIFT, 100 );
@@ -940,7 +942,7 @@ Llb_Mnx_t * Llb_MnxStart( Aig_Man_t * pAig, Gia_ParLlb_t * pPars )
p->pPars = pPars;
// compute time to stop
- p->pPars->TimeTarget = p->pPars->TimeLimit ? time(NULL) + p->pPars->TimeLimit : 0;
+ p->pPars->TimeTarget = p->pPars->TimeLimit ? p->pPars->TimeLimit * CLOCKS_PER_SEC + clock(): 0;
if ( pPars->fCluster )
{
@@ -1071,7 +1073,7 @@ int Llb_Nonlin4CoreReach( Aig_Man_t * pAig, Gia_ParLlb_t * pPars )
return RetValue;
}
{
- int clk = clock();
+ clock_t clk = clock();
pMnn = Llb_MnxStart( pAig, pPars );
//Llb_MnxCheckNextStateVars( pMnn );
if ( !pPars->fSkipReach )
diff --git a/src/proof/llb/llb4Sweep.c b/src/proof/llb/llb4Sweep.c
index 6b223ab9..709bd61a 100644
--- a/src/proof/llb/llb4Sweep.c
+++ b/src/proof/llb/llb4Sweep.c
@@ -286,7 +286,8 @@ DdNode * Llb4_Nonlin4SweepBadMonitor( Aig_Man_t * pAig, Vec_Int_t * vOrder, DdMa
{
Aig_Obj_t * pObj;
DdNode * bRes, * bVar, * bTemp;
- int i, TimeStop;
+ int i;
+ clock_t TimeStop;
TimeStop = dd->TimeStop; dd->TimeStop = 0;
bRes = Cudd_ReadOne( dd ); Cudd_Ref( bRes );
Saig_ManForEachPo( pAig, pObj, i )
diff --git a/src/proof/llb/llbInt.h b/src/proof/llb/llbInt.h
index d81aadcf..58e2b543 100644
--- a/src/proof/llb/llbInt.h
+++ b/src/proof/llb/llbInt.h
@@ -152,34 +152,34 @@ extern int Llb_ManReachability( Llb_Man_t * p, Vec_Int_t * vHints, D
extern void Llb_MtrSchedule( Llb_Mtr_t * p );
/*=== llb2Bad.c ======================================================*/
-extern DdNode * Llb_BddComputeBad( Aig_Man_t * pInit, DdManager * dd, int TimeOut );
+extern DdNode * Llb_BddComputeBad( Aig_Man_t * pInit, DdManager * dd, clock_t TimeOut );
extern DdNode * Llb_BddQuantifyPis( Aig_Man_t * pInit, DdManager * dd, DdNode * bFunc );
/*=== llb2Core.c ======================================================*/
extern DdNode * Llb_CoreComputeCube( DdManager * dd, Vec_Int_t * vVars, int fUseVarIndex, char * pValues );
-extern int Llb_CoreExperiment( Aig_Man_t * pInit, Aig_Man_t * pAig, Gia_ParLlb_t * pPars, Vec_Ptr_t * vResult, int TimeTarget );
+extern int Llb_CoreExperiment( Aig_Man_t * pInit, Aig_Man_t * pAig, Gia_ParLlb_t * pPars, Vec_Ptr_t * vResult, clock_t TimeTarget );
/*=== llb2Driver.c ======================================================*/
extern Vec_Int_t * Llb_DriverCountRefs( Aig_Man_t * p );
extern Vec_Int_t * Llb_DriverCollectNs( Aig_Man_t * pAig, Vec_Int_t * vDriRefs );
extern Vec_Int_t * Llb_DriverCollectCs( Aig_Man_t * pAig );
extern DdNode * Llb_DriverPhaseCube( Aig_Man_t * pAig, Vec_Int_t * vDriRefs, DdManager * dd );
-extern DdManager * Llb_DriverLastPartition( Aig_Man_t * p, Vec_Int_t * vVarsNs, int TimeTarget );
+extern DdManager * Llb_DriverLastPartition( Aig_Man_t * p, Vec_Int_t * vVarsNs, clock_t TimeTarget );
/*=== llb2Image.c ======================================================*/
extern Vec_Ptr_t * Llb_ImgSupports( Aig_Man_t * p, Vec_Ptr_t * vDdMans, Vec_Int_t * vStart, Vec_Int_t * vStop, int fAddPis, int fVerbose );
extern void Llb_ImgSchedule( Vec_Ptr_t * vSupps, Vec_Ptr_t ** pvQuant0, Vec_Ptr_t ** pvQuant1, int fVerbose );
-extern DdManager * Llb_ImgPartition( Aig_Man_t * p, Vec_Ptr_t * vLower, Vec_Ptr_t * vUpper, int TimeTarget );
+extern DdManager * Llb_ImgPartition( Aig_Man_t * p, Vec_Ptr_t * vLower, Vec_Ptr_t * vUpper, clock_t TimeTarget );
extern void Llb_ImgQuantifyFirst( Aig_Man_t * pAig, Vec_Ptr_t * vDdMans, Vec_Ptr_t * vQuant0, int fVerbose );
extern void Llb_ImgQuantifyReset( Vec_Ptr_t * vDdMans );
extern DdNode * Llb_ImgComputeImage( Aig_Man_t * pAig, Vec_Ptr_t * vDdMans, DdManager * dd, DdNode * bInit,
Vec_Ptr_t * vQuant0, Vec_Ptr_t * vQuant1, Vec_Int_t * vDriRefs,
- int TimeTarget, int fBackward, int fReorder, int fVerbose );
+ clock_t TimeTarget, int fBackward, int fReorder, int fVerbose );
-extern DdManager * Llb_NonlinImageStart( Aig_Man_t * pAig, Vec_Ptr_t * vLeaves, Vec_Ptr_t * vRoots, int * pVars2Q, int * pOrder, int fFirst, int TimeTarget );
+extern DdManager * Llb_NonlinImageStart( Aig_Man_t * pAig, Vec_Ptr_t * vLeaves, Vec_Ptr_t * vRoots, int * pVars2Q, int * pOrder, int fFirst, clock_t TimeTarget );
extern DdNode * Llb_NonlinImageCompute( DdNode * bCurrent, int fReorder, int fDrop, int fVerbose, int * pOrder );
extern void Llb_NonlinImageQuit();
/*=== llb3Image.c =======================================================*/
extern DdNode * Llb_NonlinImage( Aig_Man_t * pAig, Vec_Ptr_t * vLeaves, Vec_Ptr_t * vRoots, int * pVars2Q,
- DdManager * dd, DdNode * bCurrent, int fReorder, int fVerbose, int * pOrder, int Limit, int TimeTarget );
+ DdManager * dd, DdNode * bCurrent, int fReorder, int fVerbose, int * pOrder );
/*=== llb3Nonlin.c ======================================================*/
extern DdNode * Llb_NonlinComputeInitState( Aig_Man_t * pAig, DdManager * dd );
diff --git a/src/proof/pdr/pdrCore.c b/src/proof/pdr/pdrCore.c
index 9cecbd78..765894e3 100644
--- a/src/proof/pdr/pdrCore.c
+++ b/src/proof/pdr/pdrCore.c
@@ -418,7 +418,8 @@ int Pdr_ManBlockCube( Pdr_Man_t * p, Pdr_Set_t * pCube )
Pdr_Obl_t * pThis;
Pdr_Set_t * pPred, * pCubeMin;
int i, k, RetValue, Prio = ABC_INFINITY, Counter = 0;
- int kMax = Vec_PtrSize(p->vSolvers)-1, clk;
+ int kMax = Vec_PtrSize(p->vSolvers)-1;
+ clock_t clk;
p->nBlocks++;
// create first proof obligation
assert( p->pQueue == NULL );
@@ -528,7 +529,7 @@ int Pdr_ManBlockCube( Pdr_Man_t * p, Pdr_Set_t * pCube )
}
// check the timeout
- if ( p->timeToStop && time(NULL) > p->timeToStop )
+ if ( p->timeToStop && clock() > p->timeToStop )
return -1;
}
return 1;
@@ -551,7 +552,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p )
Pdr_Set_t * pCube;
int k, RetValue = -1;
clock_t clkStart = clock();
- p->timeToStop = p->pPars->nTimeOut ? time(NULL) + p->pPars->nTimeOut : 0;
+ p->timeToStop = p->pPars->nTimeOut ? p->pPars->nTimeOut * CLOCKS_PER_SEC + clock(): 0;
assert( Vec_PtrSize(p->vSolvers) == 0 );
// create the first timeframe
Pdr_ManCreateSolver( p, (k = 0) );
@@ -633,7 +634,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p )
}
// check the timeout
- if ( p->timeToStop && time(NULL) > p->timeToStop )
+ if ( p->timeToStop && clock() > p->timeToStop )
{
if ( fPrintClauses )
{
diff --git a/src/proof/ssw/sswBmc.c b/src/proof/ssw/sswBmc.c
index ff428fa1..4fa9c07a 100644
--- a/src/proof/ssw/sswBmc.c
+++ b/src/proof/ssw/sswBmc.c
@@ -128,7 +128,8 @@ int Ssw_BmcDynamic( Aig_Man_t * pAig, int nFramesMax, int nConfLimit, int fVerbo
Ssw_Frm_t * pFrm;
Ssw_Sat_t * pSat;
Aig_Obj_t * pObj, * pObjFrame;
- int status, clkPart, Lit, i, f, RetValue;
+ int status, Lit, i, f, RetValue;
+ clock_t clkPart;
// start managers
assert( Saig_ManRegNum(pAig) > 0 );
diff --git a/src/proof/ssw/sswClass.c b/src/proof/ssw/sswClass.c
index 581b8aed..28c4947a 100644
--- a/src/proof/ssw/sswClass.c
+++ b/src/proof/ssw/sswClass.c
@@ -610,7 +610,8 @@ Ssw_Cla_t * Ssw_ClassesPrepare( Aig_Man_t * pAig, int nFramesK, int fLatchCorr,
Ssw_Sml_t * pSml;
Vec_Ptr_t * vCands;
Aig_Obj_t * pObj;
- int i, k, RetValue, clk;
+ int i, k, RetValue;
+ clock_t clk;
// start the classes
p = Ssw_ClassesStart( pAig );
diff --git a/src/proof/ssw/sswConstr.c b/src/proof/ssw/sswConstr.c
index 82977edb..5459aa72 100644
--- a/src/proof/ssw/sswConstr.c
+++ b/src/proof/ssw/sswConstr.c
@@ -408,7 +408,8 @@ int Ssw_ManSweepBmcConstr_old( Ssw_Man_t * p )
{
Bar_Progress_t * pProgress = NULL;
Aig_Obj_t * pObj, * pObjNew, * pObjLi, * pObjLo;
- int i, f, iLits, clk;
+ int i, f, iLits;
+ clock_t clk;
clk = clock();
// start initialized timeframes
@@ -497,7 +498,8 @@ p->timeBmc += clock() - clk;
int Ssw_ManSweepBmcConstr( Ssw_Man_t * p )
{
Aig_Obj_t * pObj, * pObjNew, * pObjLi, * pObjLo;
- int i, f, iLits, clk;
+ int i, f, iLits;
+ clock_t clk;
clk = clock();
// start initialized timeframes
@@ -618,7 +620,8 @@ int Ssw_ManSweepConstr( Ssw_Man_t * p )
{
Bar_Progress_t * pProgress = NULL;
Aig_Obj_t * pObj, * pObj2, * pObjNew;
- int nConstrPairs, clk, i, f, iLits;
+ int nConstrPairs, i, f, iLits;
+ clock_t clk;
//Ssw_ManPrintPolarity( p->pAig );
// perform speculative reduction
diff --git a/src/proof/ssw/sswCore.c b/src/proof/ssw/sswCore.c
index c51d421c..b27e7eaf 100644
--- a/src/proof/ssw/sswCore.c
+++ b/src/proof/ssw/sswCore.c
@@ -236,7 +236,7 @@ Aig_Man_t * Ssw_SignalCorrespondenceRefine( Ssw_Man_t * p )
int nSatProof, nSatCallsSat, nRecycles, nSatFailsReal, nUniques;
Aig_Man_t * pAigNew;
int RetValue, nIter = -1;
- int clk, clkTotal = clock();
+ clock_t clk, clkTotal = clock();
// get the starting stats
p->nLitsBeg = Ssw_ClassesLitNum( p->ppClasses );
p->nNodesBeg = Aig_ManNodeNum(p->pAig);
diff --git a/src/proof/ssw/sswDyn.c b/src/proof/ssw/sswDyn.c
index 617bb40f..760f457a 100644
--- a/src/proof/ssw/sswDyn.c
+++ b/src/proof/ssw/sswDyn.c
@@ -262,7 +262,8 @@ void Ssw_ManSweepTransferDyn( Ssw_Man_t * p )
***********************************************************************/
int Ssw_ManSweepResimulateDyn( Ssw_Man_t * p, int f )
{
- int RetValue1, RetValue2, clk = clock();
+ int RetValue1, RetValue2;
+ clock_t clk = clock();
// transfer PI simulation information from storage
// Ssw_SmlAssignDist1Plus( p->pSml, p->pPatWords );
Ssw_ManSweepTransferDyn( p );
@@ -294,7 +295,8 @@ p->timeSimSat += clock() - clk;
int Ssw_ManSweepResimulateDynLocal( Ssw_Man_t * p, int f )
{
Aig_Obj_t * pObj, * pRepr, ** ppClass;
- int i, k, nSize, RetValue1, RetValue2, clk = clock();
+ int i, k, nSize, RetValue1, RetValue2;
+ clock_t clk = clock();
p->nSimRounds++;
// transfer PI simulation information from storage
// Ssw_SmlAssignDist1Plus( p->pSml, p->pPatWords );
@@ -372,7 +374,8 @@ int Ssw_ManSweepDyn( Ssw_Man_t * p )
{
Bar_Progress_t * pProgress = NULL;
Aig_Obj_t * pObj, * pObjNew;
- int clk, i, f;
+ int i, f;
+ clock_t clk;
// perform speculative reduction
clk = clock();
diff --git a/src/proof/ssw/sswFilter.c b/src/proof/ssw/sswFilter.c
index 5f467123..3fff79bb 100644
--- a/src/proof/ssw/sswFilter.c
+++ b/src/proof/ssw/sswFilter.c
@@ -278,7 +278,8 @@ Aig_Obj_t * Ssw_ManSweepBmcFilter_rec( Ssw_Man_t * p, Aig_Obj_t * pObj, int f )
int Ssw_ManSweepBmcFilter( Ssw_Man_t * p, int TimeLimit )
{
Aig_Obj_t * pObj, * pObjNew, * pObjLi, * pObjLo;
- int f, f1, i, clkTotal = clock();
+ int f, f1, i;
+ clock_t clkTotal = clock();
// start initialized timeframes
p->pFrames = Aig_ManStart( Aig_ManObjNumMax(p->pAig) * p->pPars->nFramesK );
Saig_ManForEachLo( p->pAig, pObj, i )
@@ -383,7 +384,7 @@ void Ssw_SignalFilter( Aig_Man_t * pAig, int nFramesMax, int nConfMax, int nRoun
Ssw_Pars_t Pars, * pPars = &Pars;
Ssw_Man_t * p;
int r, TimeLimitPart;//, clkTotal = clock();
- int nTimeToStop = TimeLimit ? TimeLimit + time(NULL) : 0;
+ clock_t nTimeToStop = TimeLimit ? TimeLimit * CLOCKS_PER_SEC + clock(): 0;
assert( Aig_ManRegNum(pAig) > 0 );
assert( Aig_ManConstrNum(pAig) == 0 );
// consider the case of empty AIG
@@ -429,7 +430,7 @@ void Ssw_SignalFilter( Aig_Man_t * pAig, int nFramesMax, int nConfMax, int nRoun
Ssw_ClassesPrint( p->ppClasses, 0 );
}
p->pMSat = Ssw_SatStart( 0 );
- TimeLimitPart = TimeLimit ? nTimeToStop - time(NULL) : 0;
+ TimeLimitPart = TimeLimit ? (nTimeToStop - clock()) / CLOCKS_PER_SEC : 0;
if ( TimeLimit2 )
{
if ( TimeLimitPart )
@@ -444,7 +445,7 @@ void Ssw_SignalFilter( Aig_Man_t * pAig, int nFramesMax, int nConfMax, int nRoun
// simulate pattern forward
Ssw_ManRollForward( p, p->pPars->nFramesK );
// check timeout
- if ( TimeLimit && time(NULL) > nTimeToStop )
+ if ( TimeLimit && clock() > nTimeToStop )
{
printf( "Reached timeout (%d seconds).\n", TimeLimit );
break;
diff --git a/src/proof/ssw/sswInt.h b/src/proof/ssw/sswInt.h
index acd273fd..8749cec1 100644
--- a/src/proof/ssw/sswInt.h
+++ b/src/proof/ssw/sswInt.h
@@ -127,16 +127,16 @@ struct Ssw_Man_t_
int nRegsBegC;
int nRegsEndC;
// runtime stats
- int timeBmc; // bounded model checking
- int timeReduce; // speculative reduction
- int timeMarkCones; // marking the cones not to be refined
- int timeSimSat; // simulation of the counter-examples
- int timeSat; // solving SAT
- int timeSatSat; // sat
- int timeSatUnsat; // unsat
- int timeSatUndec; // undecided
- int timeOther; // other runtime
- int timeTotal; // total runtime
+ clock_t timeBmc; // bounded model checking
+ clock_t timeReduce; // speculative reduction
+ clock_t timeMarkCones; // marking the cones not to be refined
+ clock_t timeSimSat; // simulation of the counter-examples
+ clock_t timeSat; // solving SAT
+ clock_t timeSatSat; // sat
+ clock_t timeSatUnsat; // unsat
+ clock_t timeSatUndec; // undecided
+ clock_t timeOther; // other runtime
+ clock_t timeTotal; // total runtime
};
// internal SAT manager
diff --git a/src/proof/ssw/sswIslands.c b/src/proof/ssw/sswIslands.c
index 8f54432d..97e9cf54 100644
--- a/src/proof/ssw/sswIslands.c
+++ b/src/proof/ssw/sswIslands.c
@@ -479,7 +479,8 @@ int Ssw_SecWithSimilarityPairs( Aig_Man_t * p0, Aig_Man_t * p1, Vec_Int_t * vPai
{
Ssw_Pars_t Pars;
Aig_Man_t * pAigRes;
- int RetValue, clk = clock();
+ int RetValue;
+ clock_t clk = clock();
// derive parameters if not given
if ( pPars == NULL )
Ssw_ManSetDefaultParams( pPars = &Pars );
diff --git a/src/proof/ssw/sswLcorr.c b/src/proof/ssw/sswLcorr.c
index 71f148e3..e58e9b50 100644
--- a/src/proof/ssw/sswLcorr.c
+++ b/src/proof/ssw/sswLcorr.c
@@ -77,7 +77,8 @@ void Ssw_ManSweepTransfer( Ssw_Man_t * p )
***********************************************************************/
int Ssw_ManSweepResimulate( Ssw_Man_t * p )
{
- int RetValue1, RetValue2, clk = clock();
+ int RetValue1, RetValue2;
+ clock_t clk = clock();
// transfer PI simulation information from storage
Ssw_ManSweepTransfer( p );
// simulate internal nodes
@@ -159,7 +160,8 @@ void Ssw_ManBuildCone_rec( Ssw_Man_t * p, Aig_Obj_t * pObj )
void Ssw_ManSweepLatchOne( Ssw_Man_t * p, Aig_Obj_t * pObjRepr, Aig_Obj_t * pObj )
{
Aig_Obj_t * pObjFraig, * pObjReprFraig, * pObjLi;
- int RetValue, clk;
+ int RetValue;
+ clock_t clk;
assert( Aig_ObjIsCi(pObj) );
assert( Aig_ObjIsCi(pObjRepr) || Aig_ObjIsConst1(pObjRepr) );
// check if it makes sense to skip some calls
diff --git a/src/proof/ssw/sswPairs.c b/src/proof/ssw/sswPairs.c
index e356aa60..e4228685 100644
--- a/src/proof/ssw/sswPairs.c
+++ b/src/proof/ssw/sswPairs.c
@@ -320,7 +320,8 @@ Aig_Man_t * Ssw_SignalCorrespondeceTestPairs( Aig_Man_t * pAig )
Ssw_Pars_t Pars, * pPars = &Pars;
Vec_Int_t * vIds1, * vIds2;
Aig_Obj_t * pObj, * pRepr;
- int RetValue, i, clk = clock();
+ int RetValue, i;
+ clock_t clk = clock();
Ssw_ManSetDefaultParams( pPars );
pPars->fVerbose = 1;
pAigNew = Ssw_SignalCorrespondence( pAig, pPars );
@@ -379,7 +380,8 @@ Aig_Man_t * Ssw_SignalCorrespondeceTestPairs( Aig_Man_t * pAig )
int Ssw_SecWithPairs( Aig_Man_t * pAig1, Aig_Man_t * pAig2, Vec_Int_t * vIds1, Vec_Int_t * vIds2, Ssw_Pars_t * pPars )
{
Aig_Man_t * pAigRes;
- int RetValue, clk = clock();
+ int RetValue;
+ clock_t clk = clock();
assert( vIds1 != NULL && vIds2 != NULL );
// try the new AIGs
printf( "Performing specialized verification with node pairs.\n" );
@@ -413,7 +415,8 @@ int Ssw_SecWithPairs( Aig_Man_t * pAig1, Aig_Man_t * pAig2, Vec_Int_t * vIds1, V
int Ssw_SecGeneral( Aig_Man_t * pAig1, Aig_Man_t * pAig2, Ssw_Pars_t * pPars )
{
Aig_Man_t * pAigRes, * pMiter;
- int RetValue, clk = clock();
+ int RetValue;
+ clock_t clk = clock();
// try the new AIGs
printf( "Performing general verification without node pairs.\n" );
pMiter = Saig_ManCreateMiter( pAig1, pAig2, 0 );
@@ -449,7 +452,8 @@ int Ssw_SecGeneral( Aig_Man_t * pAig1, Aig_Man_t * pAig2, Ssw_Pars_t * pPars )
int Ssw_SecGeneralMiter( Aig_Man_t * pMiter, Ssw_Pars_t * pPars )
{
Aig_Man_t * pAigRes;
- int RetValue, clk = clock();
+ int RetValue;
+ clock_t clk = clock();
// try the new AIGs
// printf( "Performing general verification without node pairs.\n" );
pAigRes = Ssw_SignalCorrespondence( pMiter, pPars );
diff --git a/src/proof/ssw/sswPart.c b/src/proof/ssw/sswPart.c
index 5a3aea10..22340779 100644
--- a/src/proof/ssw/sswPart.c
+++ b/src/proof/ssw/sswPart.c
@@ -53,7 +53,7 @@ Aig_Man_t * Ssw_SignalCorrespondencePart( Aig_Man_t * pAig, Ssw_Pars_t * pPars )
int * pMapBack;
int i, nCountPis, nCountRegs;
int nClasses, nPartSize, fVerbose;
- int clk = clock();
+ clock_t clk = clock();
if ( pPars->fConstrs )
{
printf( "Cannot use partitioned computation with constraints.\n" );
diff --git a/src/proof/ssw/sswRarity.c b/src/proof/ssw/sswRarity.c
index 032bc5ba..7048927f 100644
--- a/src/proof/ssw/sswRarity.c
+++ b/src/proof/ssw/sswRarity.c
@@ -286,7 +286,8 @@ void transpose64Simple( word A[64], word B[64] )
void TransposeTest()
{
word M[64], N[64];
- int i, clk;
+ int i;
+ clock_t clk;
Aig_ManRandom64( 1 );
// for ( i = 0; i < 64; i++ )
// M[i] = Aig_ManRandom64( 0 );
@@ -896,8 +897,9 @@ int Ssw_RarSimulate( Aig_Man_t * pAig, int nFrames, int nWords, int nBinSize, in
int fTryBmc = 0;
int fMiter = 1;
Ssw_RarMan_t * p;
- int r, f = -1, clk, clkTotal = clock();
- int nTimeToStop = time(NULL) + TimeOut;
+ int r, f = -1;
+ clock_t clk, clkTotal = clock();
+ clock_t nTimeToStop = TimeOut ? TimeOut * CLOCKS_PER_SEC + clock(): 0;
int RetValue = -1;
int iFrameFail = -1;
assert( Aig_ManRegNum(pAig) > 0 );
@@ -945,7 +947,7 @@ int Ssw_RarSimulate( Aig_Man_t * pAig, int nFrames, int nWords, int nBinSize, in
goto finish;
}
// check timeout
- if ( TimeOut && time(NULL) > nTimeToStop )
+ if ( TimeOut && clock() > nTimeToStop )
{
if ( fVerbose ) printf( "\n" );
printf( "Reached timeout (%d seconds).\n", TimeOut );
@@ -1013,8 +1015,9 @@ int Ssw_RarSimulateGia( Gia_Man_t * p, int nFrames, int nWords, int nBinSize, in
int Ssw_RarSignalFilter( Aig_Man_t * pAig, int nFrames, int nWords, int nBinSize, int nRounds, int nRandSeed, int TimeOut, int fMiter, Abc_Cex_t * pCex, int fLatchOnly, int fVerbose )
{
Ssw_RarMan_t * p;
- int r, f = -1, i, k, clkTotal = clock();
- int nTimeToStop = time(NULL) + TimeOut;
+ int r, f = -1, i, k;
+ clock_t clkTotal = clock();
+ clock_t nTimeToStop = TimeOut ? TimeOut * CLOCKS_PER_SEC + clock(): 0;
int RetValue = -1;
assert( Aig_ManRegNum(pAig) > 0 );
assert( Aig_ManConstrNum(pAig) == 0 );
@@ -1084,7 +1087,7 @@ int Ssw_RarSignalFilter( Aig_Man_t * pAig, int nFrames, int nWords, int nBinSize
goto finish;
}
// check timeout
- if ( TimeOut && time(NULL) > nTimeToStop )
+ if ( TimeOut && clock() > nTimeToStop )
{
if ( fVerbose ) printf( "\n" );
printf( "Reached timeout (%d seconds).\n", TimeOut );
diff --git a/src/proof/ssw/sswRarity2.c b/src/proof/ssw/sswRarity2.c
index 0851cf3d..1d93de60 100644
--- a/src/proof/ssw/sswRarity2.c
+++ b/src/proof/ssw/sswRarity2.c
@@ -308,8 +308,9 @@ int Ssw_RarSimulate2( Aig_Man_t * pAig, int nFrames, int nWords, int nBinSize, i
{
int fMiter = 1;
Ssw_RarMan_t * p;
- int r, clk, clkTotal = clock();
- int nTimeToStop = time(NULL) + TimeOut;
+ int r;
+ clock_t clk, clkTotal = clock();
+ clock_t nTimeToStop = TimeOut ? TimeOut * CLOCKS_PER_SEC + clock(): 0;
int RetValue = -1;
assert( Aig_ManRegNum(pAig) > 0 );
assert( Aig_ManConstrNum(pAig) == 0 );
@@ -352,7 +353,7 @@ int Ssw_RarSimulate2( Aig_Man_t * pAig, int nFrames, int nWords, int nBinSize, i
printf( "." );
}
// check timeout
- if ( TimeOut && time(NULL) > nTimeToStop )
+ if ( TimeOut && clock() > nTimeToStop )
{
if ( fVerbose ) printf( "\n" );
printf( "Reached timeout (%d seconds).\n", TimeOut );
@@ -386,8 +387,9 @@ int Ssw_RarSignalFilter2( Aig_Man_t * pAig, int nFrames, int nWords, int nBinSiz
{
int fMiter = 0;
Ssw_RarMan_t * p;
- int r, i, k, clkTotal = clock();
- int nTimeToStop = time(NULL) + TimeOut;
+ int r, i, k;
+ clock_t clkTotal = clock();
+ clock_t nTimeToStop = TimeOut ? TimeOut * CLOCKS_PER_SEC + clock(): 0;
int RetValue = -1;
assert( Aig_ManRegNum(pAig) > 0 );
assert( Aig_ManConstrNum(pAig) == 0 );
@@ -460,7 +462,7 @@ int Ssw_RarSignalFilter2( Aig_Man_t * pAig, int nFrames, int nWords, int nBinSiz
Ssw_RarTransferPatterns( p, p->vInits );
Ssw_SmlInitializeSpecial( p->pSml, p->vInits );
// check timeout
- if ( TimeOut && time(NULL) > nTimeToStop )
+ if ( TimeOut && clock() > nTimeToStop )
{
if ( fVerbose ) printf( "\n" );
printf( "Reached timeout (%d seconds).\n", TimeOut );
diff --git a/src/proof/ssw/sswSat.c b/src/proof/ssw/sswSat.c
index 7d371cac..e5971a64 100644
--- a/src/proof/ssw/sswSat.c
+++ b/src/proof/ssw/sswSat.c
@@ -45,7 +45,8 @@ ABC_NAMESPACE_IMPL_START
int Ssw_NodesAreEquiv( Ssw_Man_t * p, Aig_Obj_t * pOld, Aig_Obj_t * pNew )
{
int nBTLimit = p->pPars->nBTLimit;
- int pLits[3], nLits, RetValue, RetValue1, clk;//, status;
+ int pLits[3], nLits, RetValue, RetValue1;
+ clock_t clk;//, status;
p->nSatCalls++;
p->pMSat->nSolverCalls++;
diff --git a/src/proof/ssw/sswSemi.c b/src/proof/ssw/sswSemi.c
index a04f6f54..e58ba848 100644
--- a/src/proof/ssw/sswSemi.c
+++ b/src/proof/ssw/sswSemi.c
@@ -179,7 +179,8 @@ int Ssw_ManFilterBmc( Ssw_Sem_t * pBmc, int iPat, int fCheckTargets )
Ssw_Man_t * p = pBmc->pMan;
Aig_Obj_t * pObj, * pObjNew, * pObjLi, * pObjLo;
unsigned * pInfo;
- int i, f, clk, RetValue, fFirst = 0;
+ int i, f, RetValue, fFirst = 0;
+ clock_t clk;
clk = clock();
// start initialized timeframes
@@ -260,7 +261,8 @@ p->timeBmc += clock() - clk;
int Ssw_FilterUsingSemi( Ssw_Man_t * pMan, int fCheckTargets, int nConfMax, int fVerbose )
{
Ssw_Sem_t * p;
- int RetValue, Frames, Iter, clk = clock();
+ int RetValue, Frames, Iter;
+ clock_t clk = clock();
p = Ssw_SemManStart( pMan, nConfMax, fVerbose );
if ( fCheckTargets && Ssw_SemCheckTargets( p ) )
{
diff --git a/src/proof/ssw/sswSim.c b/src/proof/ssw/sswSim.c
index b53e8baf..bb4a55d2 100644
--- a/src/proof/ssw/sswSim.c
+++ b/src/proof/ssw/sswSim.c
@@ -38,7 +38,7 @@ struct Ssw_Sml_t_
int nWordsPref; // the number of word in the prefix
int fNonConstOut; // have seen a non-const-0 output during simulation
int nSimRounds; // statistics
- int timeSim; // statistics
+ clock_t timeSim; // statistics
unsigned pData[0]; // simulation data for the nodes
};
@@ -1005,7 +1005,8 @@ int Ssw_SmlCheckNonConstOutputs( Ssw_Sml_t * p )
void Ssw_SmlSimulateOne( Ssw_Sml_t * p )
{
Aig_Obj_t * pObj, * pObjLi, * pObjLo;
- int f, i, clk;
+ int f, i;
+ clock_t clk;
clk = clock();
for ( f = 0; f < p->nFrames; f++ )
{
@@ -1116,7 +1117,8 @@ void Ssw_SmlSimulateOneDyn_rec( Ssw_Sml_t * p, Aig_Obj_t * pObj, int f, int * pV
void Ssw_SmlSimulateOneFrame( Ssw_Sml_t * p )
{
Aig_Obj_t * pObj, * pObjLi, * pObjLo;
- int i, clk;
+ int i;
+ clock_t clk;
clk = clock();
// simulate the nodes
Aig_ManForEachNode( p->pAig, pObj, i )
diff --git a/src/proof/ssw/sswSimSat.c b/src/proof/ssw/sswSimSat.c
index 098b1e0f..4d1b3ba2 100644
--- a/src/proof/ssw/sswSimSat.c
+++ b/src/proof/ssw/sswSimSat.c
@@ -45,7 +45,8 @@ ABC_NAMESPACE_IMPL_START
void Ssw_ManResimulateBit( Ssw_Man_t * p, Aig_Obj_t * pCand, Aig_Obj_t * pRepr )
{
Aig_Obj_t * pObj;
- int i, RetValue1, RetValue2, clk = clock();
+ int i, RetValue1, RetValue2;
+ clock_t clk = clock();
// set the PI simulation information
Aig_ManConst1(p->pAig)->fMarkB = 1;
Aig_ManForEachCi( p->pAig, pObj, i )
@@ -90,7 +91,8 @@ p->timeSimSat += clock() - clk;
***********************************************************************/
void Ssw_ManResimulateWord( Ssw_Man_t * p, Aig_Obj_t * pCand, Aig_Obj_t * pRepr, int f )
{
- int RetValue1, RetValue2, clk = clock();
+ int RetValue1, RetValue2;
+ clock_t clk = clock();
// set the PI simulation information
Ssw_SmlAssignDist1Plus( p->pSml, p->pPatWords );
// simulate internal nodes
diff --git a/src/proof/ssw/sswSweep.c b/src/proof/ssw/sswSweep.c
index 5dd7a1f2..ab6952a2 100644
--- a/src/proof/ssw/sswSweep.c
+++ b/src/proof/ssw/sswSweep.c
@@ -187,7 +187,8 @@ void Ssw_SmlAddPatternDyn( Ssw_Man_t * p )
int Ssw_ManSweepNode( Ssw_Man_t * p, Aig_Obj_t * pObj, int f, int fBmc, Vec_Int_t * vPairs )
{
Aig_Obj_t * pObjRepr, * pObjFraig, * pObjFraig2, * pObjReprFraig;
- int RetValue, clk;
+ int RetValue;
+ clock_t clk;
// get representative of this class
pObjRepr = Aig_ObjRepr( p->pAig, pObj );
if ( pObjRepr == NULL )
@@ -267,7 +268,8 @@ int Ssw_ManSweepBmc( Ssw_Man_t * p )
{
Bar_Progress_t * pProgress = NULL;
Aig_Obj_t * pObj, * pObjNew, * pObjLi, * pObjLo;
- int i, f, clk;
+ int i, f;
+ clock_t clk;
clk = clock();
// start initialized timeframes
@@ -365,7 +367,8 @@ int Ssw_ManSweep( Ssw_Man_t * p )
static int Counter;
Bar_Progress_t * pProgress = NULL;
Aig_Obj_t * pObj, * pObj2, * pObjNew;
- int nConstrPairs, clk, i, f;
+ int nConstrPairs, i, f;
+ clock_t clk;
Vec_Int_t * vDisproved;
// perform speculative reduction
diff --git a/src/sat/bsat/satChecker.c b/src/sat/bsat/satChecker.c
index f478928c..70bb9c85 100644
--- a/src/sat/bsat/satChecker.c
+++ b/src/sat/bsat/satChecker.c
@@ -22,7 +22,7 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
+
#include "misc/vec/vec.h"
ABC_NAMESPACE_IMPL_START
diff --git a/src/sat/bsat/satInter.c b/src/sat/bsat/satInter.c
index 8617def9..6f564225 100644
--- a/src/sat/bsat/satInter.c
+++ b/src/sat/bsat/satInter.c
@@ -22,7 +22,7 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
+
#include "satStore.h"
ABC_NAMESPACE_IMPL_START
@@ -71,9 +71,9 @@ struct Int_Man_t_
int nResLits; // the number of literals of the resolvent
int nResLitsAlloc;// the number of literals of the resolvent
// runtime stats
- int timeBcp; // the runtime for BCP
- int timeTrace; // the runtime of trace construction
- int timeTotal; // the total runtime of interpolation
+ clock_t timeBcp; // the runtime for BCP
+ clock_t timeTrace; // the runtime of trace construction
+ clock_t timeTotal; // the total runtime of interpolation
};
// procedure to get hold of the clauses' truth table
@@ -535,7 +535,7 @@ Sto_Cls_t * Int_ManPropagate( Int_Man_t * p, int Start )
{
Sto_Cls_t * pClause;
int i;
- int clk = clock();
+ clock_t clk = clock();
for ( i = Start; i < p->nTrailSize; i++ )
{
pClause = Int_ManPropagateOne( p, p->pTrail[i] );
@@ -591,7 +591,7 @@ int Int_ManProofTraceOne( Int_Man_t * p, Sto_Cls_t * pConflict, Sto_Cls_t * pFin
Sto_Cls_t * pReason;
int i, v, Var, PrevId;
int fPrint = 0;
- int clk = clock();
+ clock_t clk = clock();
// collect resolvent literals
if ( p->fProofVerif )
@@ -1006,7 +1006,7 @@ int Int_ManInterpolate( Int_Man_t * p, Sto_Man_t * pCnf, int fVerbose, unsigned
{
Sto_Cls_t * pClause;
int RetValue = 1;
- int clkTotal = clock();
+ clock_t clkTotal = clock();
// check that the CNF makes sense
assert( pCnf->nVars > 0 && pCnf->nClauses > 0 );
diff --git a/src/sat/bsat/satInterA.c b/src/sat/bsat/satInterA.c
index 4057ce7e..8b2ef8b7 100644
--- a/src/sat/bsat/satInterA.c
+++ b/src/sat/bsat/satInterA.c
@@ -22,7 +22,7 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
+
#include "satStore.h"
#include "src/aig/aig/aig.h"
@@ -70,9 +70,9 @@ struct Inta_Man_t_
int nResLits; // the number of literals of the resolvent
int nResLitsAlloc;// the number of literals of the resolvent
// runtime stats
- int timeBcp; // the runtime for BCP
- int timeTrace; // the runtime of trace construction
- int timeTotal; // the total runtime of interpolation
+ clock_t timeBcp; // the runtime for BCP
+ clock_t timeTrace; // the runtime of trace construction
+ clock_t timeTotal; // the total runtime of interpolation
};
// procedure to get hold of the clauses' truth table
@@ -491,7 +491,7 @@ Sto_Cls_t * Inta_ManPropagate( Inta_Man_t * p, int Start )
{
Sto_Cls_t * pClause;
int i;
- int clk = clock();
+ clock_t clk = clock();
for ( i = Start; i < p->nTrailSize; i++ )
{
pClause = Inta_ManPropagateOne( p, p->pTrail[i] );
@@ -547,7 +547,7 @@ int Inta_ManProofTraceOne( Inta_Man_t * p, Sto_Cls_t * pConflict, Sto_Cls_t * pF
Sto_Cls_t * pReason;
int i, v, Var, PrevId;
int fPrint = 0;
- int clk = clock();
+ clock_t clk = clock();
// collect resolvent literals
if ( p->fProofVerif )
@@ -954,7 +954,7 @@ void * Inta_ManInterpolate( Inta_Man_t * p, Sto_Man_t * pCnf, void * vVarsAB, in
Aig_Obj_t * pObj;
Sto_Cls_t * pClause;
int RetValue = 1;
- int clkTotal = clock();
+ clock_t clkTotal = clock();
// check that the CNF makes sense
assert( pCnf->nVars > 0 && pCnf->nClauses > 0 );
diff --git a/src/sat/bsat/satInterB.c b/src/sat/bsat/satInterB.c
index a9b18fd5..5a154aa0 100644
--- a/src/sat/bsat/satInterB.c
+++ b/src/sat/bsat/satInterB.c
@@ -22,7 +22,7 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
+
#include "satStore.h"
#include "src/aig/aig/aig.h"
@@ -70,9 +70,9 @@ struct Intb_Man_t_
int nResLits; // the number of literals of the resolvent
int nResLitsAlloc;// the number of literals of the resolvent
// runtime stats
- int timeBcp; // the runtime for BCP
- int timeTrace; // the runtime of trace construction
- int timeTotal; // the total runtime of interpolation
+ clock_t timeBcp; // the runtime for BCP
+ clock_t timeTrace; // the runtime of trace construction
+ clock_t timeTotal; // the total runtime of interpolation
};
// procedure to get hold of the clauses' truth table
@@ -493,7 +493,7 @@ Sto_Cls_t * Intb_ManPropagate( Intb_Man_t * p, int Start )
{
Sto_Cls_t * pClause;
int i;
- int clk = clock();
+ clock_t clk = clock();
for ( i = Start; i < p->nTrailSize; i++ )
{
pClause = Intb_ManPropagateOne( p, p->pTrail[i] );
@@ -570,7 +570,7 @@ int Intb_ManProofTraceOne( Intb_Man_t * p, Sto_Cls_t * pConflict, Sto_Cls_t * pF
Sto_Cls_t * pReason;
int i, v, Var, PrevId;
int fPrint = 0;
- int clk = clock();
+ clock_t clk = clock();
// collect resolvent literals
if ( p->fProofVerif )
@@ -990,7 +990,7 @@ void * Intb_ManInterpolate( Intb_Man_t * p, Sto_Man_t * pCnf, void * vVarsAB, in
Aig_Obj_t * pObj;
Sto_Cls_t * pClause;
int RetValue = 1;
- int clkTotal = clock();
+ clock_t clkTotal = clock();
// check that the CNF makes sense
assert( pCnf->nVars > 0 && pCnf->nClauses > 0 );
diff --git a/src/sat/bsat/satInterP.c b/src/sat/bsat/satInterP.c
index b8ab473a..2e3caeeb 100644
--- a/src/sat/bsat/satInterP.c
+++ b/src/sat/bsat/satInterP.c
@@ -22,7 +22,6 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
#include "satStore.h"
#include "src/misc/vec/vec.h"
@@ -70,9 +69,9 @@ struct Intp_Man_t_
int nResLits; // the number of literals of the resolvent
int nResLitsAlloc;// the number of literals of the resolvent
// runtime stats
- int timeBcp; // the runtime for BCP
- int timeTrace; // the runtime of trace construction
- int timeTotal; // the total runtime of interpolation
+ clock_t timeBcp; // the runtime for BCP
+ clock_t timeTrace; // the runtime of trace construction
+ clock_t timeTotal; // the total runtime of interpolation
};
// reading/writing the proof for a clause
@@ -420,7 +419,7 @@ Sto_Cls_t * Intp_ManPropagate( Intp_Man_t * p, int Start )
{
Sto_Cls_t * pClause;
int i;
- int clk = clock();
+ clock_t clk = clock();
for ( i = Start; i < p->nTrailSize; i++ )
{
pClause = Intp_ManPropagateOne( p, p->pTrail[i] );
@@ -476,7 +475,7 @@ int Intp_ManProofTraceOne( Intp_Man_t * p, Sto_Cls_t * pConflict, Sto_Cls_t * pF
Sto_Cls_t * pReason;
int i, v, Var, PrevId;
int fPrint = 0;
- int clk = clock();
+ clock_t clk = clock();
// collect resolvent literals
if ( p->fProofVerif )
@@ -864,7 +863,8 @@ void Intp_ManUnsatCoreVerify( Sto_Man_t * pCnf, Vec_Int_t * vCore )
sat_solver * pSat;
Sto_Cls_t * pClause;
Vec_Ptr_t * vClauses;
- int i, iClause, RetValue, clk = clock();
+ int i, iClause, RetValue;
+ clock_t clk = clock();
// collect the clauses
vClauses = Vec_PtrAlloc( 1000 );
Sto_ManForEachClauseRoot( pCnf, pClause )
@@ -962,7 +962,7 @@ void * Intp_ManUnsatCore( Intp_Man_t * p, Sto_Man_t * pCnf, int fVerbose )
Vec_Int_t * vVisited;
Sto_Cls_t * pClause;
int RetValue = 1;
- int clkTotal = clock();
+ clock_t clkTotal = clock();
// check that the CNF makes sense
assert( pCnf->nVars > 0 && pCnf->nClauses > 0 );
diff --git a/src/sat/bsat/satProof.c b/src/sat/bsat/satProof.c
index f56c20cc..f7e08592 100644
--- a/src/sat/bsat/satProof.c
+++ b/src/sat/bsat/satProof.c
@@ -145,7 +145,7 @@ Vec_Int_t * Proof_CollectUsedIter( Vec_Set_t * vProof, Vec_Int_t * vRoots, int f
{
int fVerify = 0;
Vec_Int_t * vUsed, * vStack;
- int clk = clock();
+ clock_t clk = clock();
int i, Entry, iPrev = 0;
vUsed = Vec_IntAlloc( 1000 );
vStack = Vec_IntAlloc( 1000 );
@@ -309,8 +309,9 @@ void Sat_ProofReduce2( sat_solver2 * s )
int fVerbose = 0;
Vec_Int_t * vUsed;
satset * pNode, * pFanin, * pPivot;
- int i, k, hTemp, clk = clock();
- static int TimeTotal = 0;
+ int i, k, hTemp;
+ clock_t clk = clock();
+ static clock_t TimeTotal = 0;
// collect visited nodes
vUsed = Proof_CollectUsedIter( vProof, vRoots, 1 );
@@ -371,8 +372,9 @@ void Sat_ProofReduce( sat_solver2 * s )
int fVerbose = 0;
Vec_Ptr_t * vUsed;
satset * pNode, * pFanin, * pPivot;
- int i, j, k, hTemp, nSize, clk = clock();
- static int TimeTotal = 0;
+ int i, j, k, hTemp, nSize;
+ clock_t clk = clock();
+ static clock_t TimeTotal = 0;
// collect visited nodes
nSize = Proof_MarkUsedRec( vProof, vRoots );
@@ -525,7 +527,8 @@ void Sat_ProofCheck( sat_solver2 * s )
Vec_Set_t * vResolves;
Vec_Int_t * vUsed, * vTemp;
satset * pSet, * pSet0 = NULL, * pSet1;
- int i, k, hRoot, Handle, Counter = 0, clk = clock();
+ int i, k, hRoot, Handle, Counter = 0;
+ clock_t clk = clock();
hRoot = s->hProofLast;
if ( hRoot == -1 )
return;
diff --git a/src/sat/bsat/satSolver.c b/src/sat/bsat/satSolver.c
index 2d41e2fe..f143916a 100644
--- a/src/sat/bsat/satSolver.c
+++ b/src/sat/bsat/satSolver.c
@@ -1605,7 +1605,7 @@ int sat_solver_solve(sat_solver* s, lit* begin, lit* end, ABC_INT64_T nConfLimit
while (status == l_Undef){
double Ratio = (s->stats.learnts == 0)? 0.0 :
s->stats.learnts_literals / (double)s->stats.learnts;
- if ( s->nRuntimeLimit && time(NULL) > s->nRuntimeLimit )
+ if ( s->nRuntimeLimit && clock() > s->nRuntimeLimit )
break;
if (s->verbosity >= 1)
{
@@ -1629,7 +1629,7 @@ int sat_solver_solve(sat_solver* s, lit* begin, lit* end, ABC_INT64_T nConfLimit
break;
if ( s->nInsLimit && s->stats.propagations > s->nInsLimit )
break;
- if ( s->nRuntimeLimit && time(NULL) > s->nRuntimeLimit )
+ if ( s->nRuntimeLimit && clock() > s->nRuntimeLimit )
break;
}
if (s->verbosity >= 1)
diff --git a/src/sat/bsat/satSolver.h b/src/sat/bsat/satSolver.h
index 40f637ee..62ad5e0c 100644
--- a/src/sat/bsat/satSolver.h
+++ b/src/sat/bsat/satSolver.h
@@ -142,7 +142,7 @@ struct sat_solver_t
ABC_INT64_T nConfLimit; // external limit on the number of conflicts
ABC_INT64_T nInsLimit; // external limit on the number of implications
- int nRuntimeLimit; // external limit on runtime
+ clock_t nRuntimeLimit; // external limit on runtime
veci act_vars; // variables whose activity has changed
double* factors; // the activity factors
@@ -198,9 +198,9 @@ static int sat_solver_final(sat_solver* s, int ** ppArray)
return s->conf_final.size;
}
-static int sat_solver_set_runtime_limit(sat_solver* s, int Limit)
+static clock_t sat_solver_set_runtime_limit(sat_solver* s, clock_t Limit)
{
- int nRuntimeLimit = s->nRuntimeLimit;
+ clock_t nRuntimeLimit = s->nRuntimeLimit;
s->nRuntimeLimit = Limit;
return nRuntimeLimit;
}
diff --git a/src/sat/bsat/satSolver2.c b/src/sat/bsat/satSolver2.c
index 2e0a5f4a..cbe6bc52 100644
--- a/src/sat/bsat/satSolver2.c
+++ b/src/sat/bsat/satSolver2.c
@@ -1398,12 +1398,13 @@ void luby2_test()
// updates clauses, watches, units, and proof
void sat_solver2_reducedb(sat_solver2* s)
{
- static int TimeTotal = 0;
+ static clock_t TimeTotal = 0;
satset * c, * pivot;
cla h,* pArray,* pArray2;
int * pPerm, * pClaAct, nClaAct, ActCutOff;
int i, j, k, hTemp, hHandle, LastSize = 0;
- int Counter, CounterStart, clk = clock();
+ int Counter, CounterStart;
+ clock_t clk = clock();
// check if it is time to reduce
if ( s->nLearntMax == 0 || s->stats.learnts < (unsigned)s->nLearntMax )
@@ -1845,7 +1846,7 @@ int sat_solver2_solve(sat_solver2* s, lit* begin, lit* end, ABC_INT64_T nConfLim
s->progress_estimate*100);
fflush(stdout);
}
- if ( s->nRuntimeLimit && time(NULL) > s->nRuntimeLimit )
+ if ( s->nRuntimeLimit && clock() > s->nRuntimeLimit )
break;
// reduce the set of learnt clauses:
sat_solver2_reducedb(s);
diff --git a/src/sat/bsat/satSolver2.h b/src/sat/bsat/satSolver2.h
index 79eb64ed..ffab91be 100644
--- a/src/sat/bsat/satSolver2.h
+++ b/src/sat/bsat/satSolver2.h
@@ -160,7 +160,7 @@ struct sat_solver2_t
stats_t stats;
ABC_INT64_T nConfLimit; // external limit on the number of conflicts
ABC_INT64_T nInsLimit; // external limit on the number of implications
- int nRuntimeLimit; // external limit on runtime
+ clock_t nRuntimeLimit; // external limit on runtime
};
typedef struct satset_t satset;
@@ -240,9 +240,9 @@ static inline int sat_solver2_final(sat_solver2* s, int ** ppArray)
return s->conf_final.size;
}
-static inline int sat_solver2_set_runtime_limit(sat_solver2* s, int Limit)
+static inline clock_t sat_solver2_set_runtime_limit(sat_solver2* s, clock_t Limit)
{
- int temp = s->nRuntimeLimit;
+ clock_t temp = s->nRuntimeLimit;
s->nRuntimeLimit = Limit;
return temp;
}
diff --git a/src/sat/bsat/satStore.c b/src/sat/bsat/satStore.c
index ac74c4a6..fab13666 100644
--- a/src/sat/bsat/satStore.c
+++ b/src/sat/bsat/satStore.c
@@ -22,7 +22,6 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
#include "satStore.h"
diff --git a/src/sat/cnf/cnf.h b/src/sat/cnf/cnf.h
index 478755d6..16aaa21f 100644
--- a/src/sat/cnf/cnf.h
+++ b/src/sat/cnf/cnf.h
@@ -30,7 +30,6 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
#include "src/misc/vec/vec.h"
#include "src/aig/aig/aig.h"
@@ -88,9 +87,9 @@ struct Cnf_Man_t_
int nMergeLimit; // the limit on the size of merged cut
unsigned * pTruths[4]; // temporary truth tables
Vec_Int_t * vMemory; // memory for intermediate ISOP representation
- int timeCuts;
- int timeMap;
- int timeSave;
+ clock_t timeCuts;
+ clock_t timeMap;
+ clock_t timeSave;
};
diff --git a/src/sat/cnf/cnfCore.c b/src/sat/cnf/cnfCore.c
index 65d7ef60..f08ea6d1 100644
--- a/src/sat/cnf/cnfCore.c
+++ b/src/sat/cnf/cnfCore.c
@@ -50,7 +50,7 @@ Vec_Int_t * Cnf_DeriveMappingArray( Aig_Man_t * pAig )
Cnf_Man_t * p;
Vec_Ptr_t * vMapped;
Aig_MmFixed_t * pMemCuts;
- int clk;
+ clock_t clk;
// allocate the CNF manager
if ( s_pManCnf == NULL )
s_pManCnf = Cnf_ManStart();
@@ -103,7 +103,7 @@ Cnf_Dat_t * Cnf_Derive( Aig_Man_t * pAig, int nOutputs )
Cnf_Dat_t * pCnf;
Vec_Ptr_t * vMapped;
Aig_MmFixed_t * pMemCuts;
- int clk;
+ clock_t clk;
// allocate the CNF manager
if ( s_pManCnf == NULL )
s_pManCnf = Cnf_ManStart();
@@ -156,7 +156,7 @@ Cnf_Dat_t * Cnf_DeriveOther( Aig_Man_t * pAig, int fSkipTtMin )
Cnf_Dat_t * pCnf;
Vec_Ptr_t * vMapped;
Aig_MmFixed_t * pMemCuts;
- int clk;
+ clock_t clk;
// allocate the CNF manager
if ( s_pManCnf == NULL )
s_pManCnf = Cnf_ManStart();
diff --git a/src/sat/cnf/cnfFast.c b/src/sat/cnf/cnfFast.c
index 492ddb61..93b3072b 100644
--- a/src/sat/cnf/cnfFast.c
+++ b/src/sat/cnf/cnfFast.c
@@ -666,7 +666,7 @@ Cnf_Dat_t * Cnf_DeriveFastClauses( Aig_Man_t * p, int nOutputs )
Cnf_Dat_t * Cnf_DeriveFast( Aig_Man_t * p, int nOutputs )
{
Cnf_Dat_t * pCnf = NULL;
- int clk;//, clkTotal = clock();
+ clock_t clk;//, clkTotal = clock();
// printf( "\n" );
Aig_ManCleanMarkAB( p );
// create initial marking
diff --git a/src/sat/msat/msatInt.h b/src/sat/msat/msatInt.h
index 58baa7b4..a1d9e14d 100644
--- a/src/sat/msat/msatInt.h
+++ b/src/sat/msat/msatInt.h
@@ -30,7 +30,6 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
#include <math.h>
#include "src/misc/util/abc_global.h"
diff --git a/src/sat/msat/msatOrderH.c b/src/sat/msat/msatOrderH.c
index 4bdefc6d..d0c9c997 100644
--- a/src/sat/msat/msatOrderH.c
+++ b/src/sat/msat/msatOrderH.c
@@ -58,7 +58,7 @@ static void Msat_HeapIncrease( Msat_Order_t * p, int n );
static void Msat_HeapPercolateUp( Msat_Order_t * p, int i );
static void Msat_HeapPercolateDown( Msat_Order_t * p, int i );
-extern int timeSelect;
+extern clock_t timeSelect;
////////////////////////////////////////////////////////////////////////
/// FUNCTION DEFINITIONS ///
@@ -191,7 +191,7 @@ int Msat_OrderVarSelect( Msat_Order_t * p )
// return var_Undef;
int Var;
- int clk = clock();
+ clock_t clk = clock();
while ( !HEMPTY(p) )
{
@@ -237,7 +237,7 @@ void Msat_OrderVarUnassigned( Msat_Order_t * p, int Var )
// if (!heap.inHeap(x))
// heap.insert(x);
- int clk = clock();
+ clock_t clk = clock();
if ( !HINHEAP(p,Var) )
Msat_HeapInsert( p, Var );
timeSelect += clock() - clk;
@@ -259,7 +259,7 @@ void Msat_OrderUpdate( Msat_Order_t * p, int Var )
// if (heap.inHeap(x))
// heap.increase(x);
- int clk = clock();
+ clock_t clk = clock();
if ( HINHEAP(p,Var) )
Msat_HeapIncrease( p, Var );
timeSelect += clock() - clk;
diff --git a/src/sat/msat/msatOrderJ.c b/src/sat/msat/msatOrderJ.c
index 2be6b47b..a9c27bd0 100644
--- a/src/sat/msat/msatOrderJ.c
+++ b/src/sat/msat/msatOrderJ.c
@@ -81,8 +81,8 @@ struct Msat_Order_t_
static void Msat_OrderRingAddLast( Msat_OrderRing_t * pRing, Msat_OrderVar_t * pVar );
static void Msat_OrderRingRemove( Msat_OrderRing_t * pRing, Msat_OrderVar_t * pVar );
-extern int timeSelect;
-extern int timeAssign;
+extern clock_t timeSelect;
+extern clock_t timeAssign;
////////////////////////////////////////////////////////////////////////
/// FUNCTION DEFINITIONS ///
diff --git a/src/sat/msat/msatSolverCore.c b/src/sat/msat/msatSolverCore.c
index 4ef40ad0..eff1d6d7 100644
--- a/src/sat/msat/msatSolverCore.c
+++ b/src/sat/msat/msatSolverCore.c
@@ -140,7 +140,7 @@ int Msat_SolverSolve( Msat_Solver_t * p, Msat_IntVec_t * vAssumps, int nBackTra
Msat_SearchParams_t Params = { 0.95, 0.999 };
double nConflictsLimit, nLearnedLimit;
Msat_Type_t Status;
- int timeStart = clock();
+ clock_t timeStart = clock();
// p->pFreq = ABC_ALLOC( int, p->nVarsAlloc );
// memset( p->pFreq, 0, sizeof(int) * p->nVarsAlloc );
diff --git a/src/sat/proof/pr.c b/src/sat/proof/pr.c
index 45bc2e33..f559d851 100644
--- a/src/sat/proof/pr.c
+++ b/src/sat/proof/pr.c
@@ -22,9 +22,7 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <time.h>
-//#include "vec.h"
#include "src/misc/util/abc_global.h"
#include "pr.h"
@@ -90,10 +88,10 @@ struct Pr_Man_t_
int nResLits; // the number of literals of the resolvent
int nResLitsAlloc;// the number of literals of the resolvent
// runtime stats
- int timeBcp;
- int timeTrace;
- int timeRead;
- int timeTotal;
+ clock_t timeBcp;
+ clock_t timeTrace;
+ clock_t timeRead;
+ clock_t timeTotal;
};
// variable assignments
@@ -580,7 +578,7 @@ Pr_Cls_t * Pr_ManPropagate( Pr_Man_t * p, int Start )
{
Pr_Cls_t * pClause;
int i;
- int clk = clock();
+ clock_t clk = clock();
for ( i = Start; i < p->nTrailSize; i++ )
{
pClause = Pr_ManPropagateOne( p, p->pTrail[i] );
@@ -676,7 +674,7 @@ int Pr_ManProofTraceOne( Pr_Man_t * p, Pr_Cls_t * pConflict, Pr_Cls_t * pFinal )
Pr_Cls_t * pReason;
int i, v, Var, PrevId;
int fPrint = 0;
- int clk = clock();
+ clock_t clk = clock();
// collect resolvent literals
if ( p->fProofVerif )
@@ -1228,7 +1226,7 @@ int Pr_ManProofCount_rec( Pr_Cls_t * pClause )
int Pr_ManProofTest( char * pFileName )
{
Pr_Man_t * p;
- int clk, clkTotal = clock();
+ clock_t clk, clkTotal = clock();
clk = clock();
p = Pr_ManProofRead( pFileName );