//
//  Algorithm20.h
//  Pods
//
//  Created by Ran Zhao on 9/2/24.
//

#ifndef Algorithm20_h
#define Algorithm20_h

#import <Foundation/Foundation.h>
#import "IValue.h"
#import "IValueManager.h"
#import "ReferenceManager.h"
#import "ParamX.h"
#import "I4Algorithm.h"

@interface Algorithm20 : NSObject

@property (nonatomic, strong) ParamX *X;
@property (nonatomic, strong) NSMutableArray<IValue *> *calIValue;
@property (nonatomic, strong) IValueManager *iValueManager;
@property (nonatomic, strong) ReferenceManager *rfManager;

- (instancetype)init;
- (IValue *)getInitParam;
- (void)setInitParam:(IValue *)iValue;
- (void)addRef:(NSNumber *)value time:(NSDate *)time;
- (NSNumber *)calcBloodGlucose:(double)current datetime:(NSDate *)datetime;
- (NSNumber *)calcBloodGlucose:(double)current index:(NSInteger)index;
- (NSMutableArray<NSNumber *> *)calculateBloodGlucose:(NSInteger)index refValue:(NSNumber *)refValue values:(NSMutableArray<NSNumber *> *)values;
- (IValue *)calTest:(double)current datetime:(NSDate *)datetime;
- (int)calRoc;
- (NSString *)dateformate:(NSDate *)date;

@end

#endif /* Algorithm20_h */
