Bug in type(HFloat(-infinity),  pos_infinity). Negative infinity is incorrectly recognized as positive one:

s:=HFloat(-infinity);
                   HFloat(-infinity)

type(s, neg_infinity);
type(s, pos_infinity); # bug
                              true
                              true

type(s, And(infinity,negative));
type(s, And(infinity,positive)); # bug
                              true
                              true

Workaround:

type(s, infinity) and signum(s)<0;
type(s, infinity) and signum(s)>0;
                              true
                             false


Please Wait...