Partager via


GDI Floating-Point Services

Les pilotes graphiques en mode noyau doivent effectuer toutes les opérations à virgule flottante entre les appels aux routines EngSaveFloatingPointState et EngRestoreFloatingPointState fournies par GDI.

Si le matériel a un processeur à virgule flottante, le pilote peut effectuer directement des opérations à virgule flottante. Sinon, le pilote peut utiliser les services GDI FLOATOBJ indiqués dans le tableau suivant pour émuler des opérations à virgule flottante. Quel que soit le type de processeur, le pilote doit utiliser le type de données FLOATL lors de la déclaration de valeurs à virgule flottante.

Fonction Description

EngRestoreFloatingPointState

Restaure l’état à virgule flottante du noyau Windows 2000 et ultérieur après que le pilote a utilisé des instructions matérielles à virgule flottante ou MMX.

EngSaveFloatingPointState

Enregistre l’état à virgule flottante du noyau Windows 2000 et ultérieur.

FLOATOBJ_Add

Ajoute deux FLOATOBJ.

FLOATOBJ_AddFloat

Ajoute un FLOATOBJ et un FLOATL.

FLOATOBJ_AddLong

Ajoute un FLOATOBJ et un LONG.

FLOATOBJ_Div

Divise un FLOATOBJ par un autre.

FLOATOBJ_DivFloat

Divise un FLOATOBJ par un FLOATL.

FLOATOBJ_DivLong

Divise un FLOATOBJ par un LONG.

FLOATOBJ_Equal

Détermine si deux FLOATOBJ sont égaux.

FLOATOBJ_EqualLong

Détermine si un FLOATOBJ et un LONG sont égaux.

FLOATOBJ_GetFloat

Calculez et retournez la valeur d’équivalent FLOAT d’un FLOATOBJ.

FLOATOBJ_GetLong

Calculez et retournez la valeur d’équivalent LONG d’un FLOATOBJ.

FLOATOBJ_GreaterThan

Détermine si un FLOATOBJ est plus grand qu’un autre.

FLOATOBJ_GreaterThanLong

Détermine si un FLOATOBJ est plus grand qu’un LONG.

FLOATOBJ_LessThan

Détermine si un FLOATOBJ est inférieur à un autre.

FLOATOBJ_LessThanLong

Détermine si un FLOATOBJ est inférieur à un LONG.

FLOATOBJ_Mul

Multiplie deux valeurs FLOATOBJ.

FLOATOBJ_MulFloat

Multiplie un FLOATOBJ par un FLOATL.

FLOATOBJ_MulLong

Multiplie un FLOATOBJ par un LONG.

FLOATOBJ_Neg

Modifie le signe d’un FLOATOBJ.

FLOATOBJ_SetFloat

Définit un FLOATOBJ sur une valeur FLOATL particulière.

FLOATOBJ_SetLong

Définit un FLOATOBJ sur une valeur LONG particulière.

FLOATOBJ_Sub

Soustrait un FLOATOBJ d’un autre.

FLOATOBJ_SubFloat

Soustrait un FLOATL d’un FLOATOBJ.

FLOATOBJ_SubLong

Soustrait un LONG d’un FLOATOBJ.