Как сравнивать числа четвёртой точности в C с использованием библиотеки quadmath?
В данном коде сравнение происходит следующим образом:
#include <stdio.h>
#include <math.h>
#include <quadmath.h>
#include <string.h>
#include <stdlib.h>
typedef __complex128 long_double_q_t;
int main() {
long_double_q_t e = 2.7182818284590452353602874713526625Q;
long_double_q_t pi = 3.1415926535897932384626433832795029Q;
if (e < pi) {
printf("true");
}
else {
printf("false");
}
Однако компилятор выдаёт ошибку:
error: invalid operands to binary < (have ‘long_double_q_t’ {aka ‘_Complex _Float128’} and ‘long_double_q_t’ {aka ‘_Complex _Float128’})
if (e < pi) {
^
Как сравнивать числа четвёртой точности? Поиск в недрах библиотеки не дал результатов, как и документация. Возможно есть некая функция, позволяющая осуществить сравнение?
Использую CMake 3.14 / gcc 8.3.0 / Ubuntu 19.04 64-bit / CLion 2019.1
Содержимое Cmake
cmake_minimum_required(VERSION 3.14)
project(untitled C)
set(CMAKE_C_STANDARD 11)
add_executable(untitled main.c)
target_link_libraries(untitled m)