mirror of
https://github.com/nickshanks/ResKnife.git
synced 2024-08-30 13:28:58 +00:00
51 lines
804 B
Mathematica
51 lines
804 B
Mathematica
|
#import "ElementFRAC.h"
|
||
|
|
||
|
@implementation ElementFRAC
|
||
|
|
||
|
- (id)copyWithZone:(NSZone *)zone
|
||
|
{
|
||
|
ElementFRAC *element = [super copyWithZone:zone];
|
||
|
[element setValue:value];
|
||
|
return element;
|
||
|
}
|
||
|
|
||
|
- (void)readDataFrom:(TemplateStream *)stream
|
||
|
{
|
||
|
[stream readAmount:sizeof(value) toBuffer:&value];
|
||
|
}
|
||
|
|
||
|
- (unsigned int)sizeOnDisk
|
||
|
{
|
||
|
return sizeof(value);
|
||
|
}
|
||
|
|
||
|
- (void)writeDataTo:(TemplateStream *)stream
|
||
|
{
|
||
|
[stream writeAmount:sizeof(value) fromBuffer:&value];
|
||
|
}
|
||
|
|
||
|
- (void)setValue:(Fract)v
|
||
|
{
|
||
|
value = v;
|
||
|
}
|
||
|
|
||
|
- (Fract)value
|
||
|
{
|
||
|
return value;
|
||
|
}
|
||
|
|
||
|
- (NSString *)stringValue
|
||
|
{
|
||
|
return [NSString stringWithFormat:@"%.10lg", FractToFloat(value)];
|
||
|
}
|
||
|
|
||
|
- (void)setStringValue:(NSString *)str
|
||
|
{
|
||
|
char cstr[256];
|
||
|
char *endPtr = cstr + 255;
|
||
|
strncpy(cstr, [str cString], 255);
|
||
|
value = FloatToFract(strtof(cstr, &endPtr));
|
||
|
}
|
||
|
|
||
|
@end
|