/*
 *  rhs_protocol.h
 *  ddetest
 *
 *  Created by Ashley on 09/04/2007.
 *  Copyright 2007 __MyCompanyName__. All rights reserved.
 *
 */
#import "history_protocol.h"

@protocol rhs_protocol
- (void) initState:(double *)state;
- (void) setHistory:(id /*<history, NSObject>*/)history;
- (id) history;
- (int) nVariables;
- (int) nHistory;
- (long) histSize;
- (int) nLag;
- (int) nSwitches;
- (void) output:(double *)s gradients:(double *)g time:(double)t;
- (id) option:(NSString *)name;
- (void) setOption:(id) value forName:(NSString *)name;
/*- (double) t0;
- (double) t1;
- (double) dt;
- (double) eps;
- (double) outputStep; 
- (void) setOutputStep:(double)outputStep; */
- (void) stateScale:(double *)scale;
- (void) switchFunctions:(double *)sw newState:(double *)s time:(double)t;
- (void) map:(double *)s time:(double)t switchNo:(int)swno;
- (BOOL) gradients:(double *)grad forState:(double *)state atTime:(double)t;
- (void) storeHistory:(double *)his gradientsHistory:(double *)ghis gradients:(double *)gradients state:(double *)state time:(double)t;

@end