@specs-feup/kadabra
Version:
A Java source-to-source compiler written in Typescript
52 lines • 2.33 kB
TypeScript
import { Class } from "../../Joinpoints.js";
/**
* Provides basic functionality to test versions by: <br>
* * adding a new timer, test time, best time, bestVersion, adapt, numRuns and warmup fields, <br>
* * creating basic code to start the adaptation after "numRuns" executions <br>
* * creating basic code to update after a given execution <br> <br>
* must invoke methods "onNewVersion", "ifBetterVersion" and "beforeUpdate" before injecting the adaptation <br>
* must insert the following variables: adapt(), update(), timerStart, timerStop
*/
export declare function NewVersionTester($class: Class, targetType: string, timeUnit?: string, numRuns?: number, warmup?: number, jumpIfWorse?: boolean): {
$tester: import("../../Joinpoints.js").Field;
onInitialize: (code: string) => string;
onFinalize: (code: string) => string;
setTests: (versions: string[]) => string;
isAdapting: undefined;
hasFinished: string;
start: string;
pause: string;
stop: string;
timerStart: string;
timerStop: string;
getTime: string;
update: string;
timerStopAndUpdate: string;
testTime: string;
bestTime: string;
testPos: string;
bestPos: string;
bestVersion: string;
numRuns: string;
};
export declare function VersionTester($class: Class, targetType: string, targetFieldRef: string, numRuns?: number, timeUnit?: string, warmup?: number, jumpIfWorse?: boolean): {
$testTime: import("../../Joinpoints.js").Field;
$bestTime: import("../../Joinpoints.js").Field;
$bestVersion: import("../../Joinpoints.js").Field;
$numRuns: import("../../Joinpoints.js").Field;
$improved: string;
ifBetterVersion: (code: string) => void;
onNewVersion: (code: string) => void;
beforeUpdate: (code: string) => void;
onInitialize: (code: string) => void;
timerStart: ($target?: import("../../Joinpoints.js").Joinpoint, when?: "replace" | "before" | "after") => string;
timerStop: ($target?: import("../../Joinpoints.js").Joinpoint, when?: "replace" | "before" | "after") => string;
getTime: () => string;
adapt: (alwaysAdapt: boolean, useNewVersionInInit: boolean) => string;
update: () => string;
start: string;
stop: string;
pause: string;
isAdapting: string;
};
//# sourceMappingURL=VersionTester.d.ts.map