소스 검색

Added some safeguards against default "1" value in C++

master
Archivist 5 년 전
부모
커밋
01b4f6f1cb
1개의 변경된 파일5개의 추가작업 그리고 5개의 파일을 삭제
  1. +5
    -5
      include/9float.hpp

+ 5
- 5
include/9float.hpp 파일 보기

@ -27,7 +27,7 @@ public:
template<class srcT>
constexpr Q (const srcT value)
: backend{(integer_type)(value*(1<<degen))}
: backend{(integer_type)(value*(p">((integer_type)1)<<degen))}
{}
constexpr Q ()
@ -43,7 +43,7 @@ public:
constexpr bool is_negative()
{
return backend&(1<<(sizeof(backend)-1));
return backend&(p">((integer_type)1)<<(sizeof(backend)-1));
}
@ -71,7 +71,7 @@ public:
constexpr Q<integer_type, fractionals>& operator/=(const Q& oth)
{
backend*=1<<Q<integer_type, fractionals>::degen;
backend*=p">((integer_type)1)<<Q<integer_type, fractionals>::degen;
backend/=oth.backend;
return *this;
}
@ -145,14 +145,14 @@ public:
constexpr operator float()
{
float n=backend;
n/=(1<<Q<integer_type, fractionals>::degen);
n/=(p">((integer_type)1)<<Q<integer_type, fractionals>::degen);
return n;
}
constexpr operator double()
{
double n=backend;
n/=(1<<Q<integer_type, fractionals>::degen);
n/=(p">((integer_type)1)<<Q<integer_type, fractionals>::degen);
return n;
}
};

불러오는 중...
취소
저장