This does not work. The C code has: typedef float float128_t;

You could map it to gcc's 128 bit floating point type (https://gcc.gnu.
org/onlinedocs/gcc/Floating-Types.html) or use the 80-bit long double
type (https://stackoverflow.com/questions/13516476/long-double-gcc-spec
ific-and-float128)

Neither of these options are standard. For arbitrary precision math in
C I like to use https://gmplib.org/.



On Mon, 2016-05-23 at 21:26 -0500, Guillaume Poirier-Morency wrote:
> It's possible to declare these types if you need to use them.
> 
> https://wiki.gnome.org/Projects/Vala/Manual/Attributes#FloatingType_A
> tt
> ribute
> 
>     [CCode (has_type_id = false)]
>     [FloatingType (decimal = false, rank = 12, width = 128]
>     struct float128_t {}
> 
> Like Daniel said, Vala primitive types are mapped to GLib's type with
> the GType system, so it's not really the language's fault if there is
> no support for 128 bit floating points. It's not a common use case
> either way.
> 
> With 'has_type_id = false', the compiler knows that there's no type
> information to retreive.
> 
> Rank 12 does not really exist, but that would be the appropriate
> value
> since 10 and 11 are for signed and unsigned 64 bit types.
> 
> It might be handy to have a VAPI for that in 'vala-extra-vapis'.
> 
> Cheers and best luck,
> 
> Le lundi 23 mai 2016 à 09:59 +0300, Vitaly V. Ch a écrit :
> > Ok, Thanks.
> > 
> > It clarifies the situation.
> > 
> > With best regards,
> > 
> > Vitaly Chernooky
> > 
> > On Mon, May 23, 2016 at 4:51 AM, Daniel Espinosa <eso...@gmail.com>
> > wrote:
> > 
> > > May you should be able to create your own basic type.
> > > 
> > > May should be a guide to do so.
> > > 
> > > GLib should have this types too, before you are able to create
> > > your
> > > basic
> > > types. This means you should define a GType for a basic type, in
> > > this case
> > > your long double.
> > > 
> > > May we can create a library to define this math basic types, to
> > > be
> > > used in
> > > other libraries. This is not a GLib interest, I think, because is
> > > not a
> > > primary Math library.
> > > 
> > > I was working a little in that, but may you should ask to gtk-
> > > list
> > > for
> > > help on defining this new types.
> > > 
> > > In other ideas, is required to use that types or is possible to
> > > use
> > > some
> > > structs holding your information in a way to be used in other
> > > methods, that
> > > may take that structs an do calculations using that types
> > > internally,
> > > written in C with Vala bindings [1], then return again that
> > > structs.
> > > 
> > > [] See git.gnome.org/browse/gxml it uses simple C methods and
> > > Vala
> > > bindings to be used in Vala code for xlibxml
> > > El may. 22, 2016 3:23 PM, "Vitaly V. Ch" <vitaly.v...@gmail.com>
> > > escribió:
> > > 
> > > Hi All!
> > > 
> > > Some time ago Vala has pulled my attention as a way to solve some
> > > kind of
> > > math problems. But some time later I realized that this cozy and
> > > beautiful
> > > staff does not have extended floating datatypes such as long
> > > double
> > > or
> > > float128_t. This fact disappointed me and I'm interested in some
> > > comments.
> > > 
> > > With best regards,
> > > 
> > > Vitaly Chernooky
> > > _______________________________________________
> > > vala-list mailing list
> > > vala-list@gnome.org
> > > https://mail.gnome.org/mailman/listinfo/vala-list
> > > 
> > > 
> > _______________________________________________
> > vala-list mailing list
> > vala-list@gnome.org
> > https://mail.gnome.org/mailman/listinfo/vala-list
> _______________________________________________
> vala-list mailing list
> vala-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/vala-list
_______________________________________________
vala-list mailing list
vala-list@gnome.org
https://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to