}
case reflect.Float64Kind:
return float64(v.(reflect.Float64Value).Get()), true;
- case reflect.Float80Kind:
- break; // TODO: what to do here?
}
return 0.0, false;
}
case reflect.Float32Kind:
v, ok := getFloat32(field);
s = p.fmt.Fmt_g32(v).Str();
- case reflect.Float64Kind, reflect.Float80Kind:
+ case reflect.Float64Kind:
v, ok := getFloat64(field);
s = p.fmt.Fmt_g64(v).Str();
case reflect.FloatKind:
typedump("float", "float");
typedump("float32", "float32");
typedump("float64", "float64");
- typedump("float80", "float80");
typedump("int8", "int8");
typedump("whoknows.whatsthis", "$missing$");
typedump("**int8", "**int8");
return "$missing$";
case IntKind, Int8Kind, Int16Kind, Int32Kind, Int64Kind,
UintKind, Uint8Kind, Uint16Kind, Uint32Kind, Uint64Kind,
- FloatKind, Float32Kind, Float64Kind, Float80Kind,
+ FloatKind, Float32Kind, Float64Kind,
StringKind,
DotDotDotKind:
return typ.Name();
return strconv.Ftoa32(val.(Float32Value).Get(), 'g', -1);
case Float64Kind:
return strconv.Ftoa64(val.(Float64Value).Get(), 'g', -1);
- case Float80Kind:
- return "float80";
case StringKind:
return val.(StringValue).Get();
case BoolKind:
FloatKind;
Float32Kind;
Float64Kind;
- Float80Kind;
FuncKind;
IntKind;
Int16Kind;
Float = newBasicType("float", FloatKind, unsafe.Sizeof(float(0)));
Float32 = newBasicType("float32", Float32Kind, 4);
Float64 = newBasicType("float64", Float64Kind, 8);
- Float80 = newBasicType("float80", Float80Kind, 10); // TODO: strange size?
String = newBasicType("string", StringKind, unsafe.Sizeof(""));
)
types["float"] = Float;
types["float32"] = Float32;
types["float64"] = Float64;
- types["float80"] = Float80;
types["string"] = String;
types["bool"] = Bool;
basicstub["float"] = newStubType("float", Float);
basicstub["float32"] = newStubType("float32", Float32);
basicstub["float64"] = newStubType("float64", Float64);
- basicstub["float80"] = newStubType("float80", Float80);
basicstub["string"] = newStubType("string", String);
basicstub["bool"] = newStubType("bool", Bool);
*(*float64)(v.addr) = f
}
-// -- Float80
-
-// Float80Value represents a float80 value.
-type Float80Value interface {
- Value;
- Get() float80; // Get the underlying float80.
- Set(float80); // Get the underlying float80.
-}
-
-type float80ValueStruct struct {
- commonValue
-}
-
-func float80Creator(typ Type, addr Addr) Value {
- return &float80ValueStruct{ commonValue{Float80Kind, typ, addr} }
-}
-
-/*
-BUG: can't gen code for float80s
-func (v *Float80ValueStruct) Get() float80 {
- return *(*float80)(v.addr)
-}
-
-func (v *Float80ValueStruct) Set(f float80) {
- *(*float80)(v.addr) = f
-}
-*/
-
// -- String
// StringValue represents a string value.
FloatKind : floatCreator,
Float32Kind : float32Creator,
Float64Kind : float64Creator,
- Float80Kind : float80Creator,
StringKind : stringCreator,
BoolKind : boolCreator,
PtrKind : ptrCreator,