Skip to content

Commit 1f8deb8

Browse files
committed
Fix Quadruple.ATan2 #1
1 parent ef29dda commit 1f8deb8

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

QPFloat/ManagedQuadruple.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -343,8 +343,8 @@ namespace System
343343

344344
System::Quadruple Quadruple::ATan2( Quadruple y, Quadruple x )
345345
{
346-
pin_ptr<byte> yPtr = x.storage;
347-
pin_ptr<byte> xPtr = y.storage;
346+
pin_ptr<byte> xPtr = x.storage;
347+
pin_ptr<byte> yPtr = y.storage;
348348
__float128 result = __float128::ATan2(*(__float128*)yPtr, *(__float128*)xPtr);
349349
return *(Quadruple*)&result;
350350
}
@@ -451,9 +451,10 @@ namespace System
451451
str = str->Trim();
452452
System::Text::StringBuilder^ s = gcnew System::Text::StringBuilder(str);
453453
Quadruple result = 0;
454+
bool negative = false;
454455
if (s->default[0] == '-')
455456
{
456-
result.IsSigned = true;
457+
negative = true;
457458
s->Remove(0, 1);
458459
}
459460
Quadruple ten = 10;
@@ -487,6 +488,7 @@ namespace System
487488
}
488489
Quadruple temp = Quadruple::Pow(ten, -postDecimalDigits);
489490
Quadruple::Mul(result, temp, result);
491+
result.IsSigned = negative;
490492
return result;
491493
}
492494
}

0 commit comments

Comments
 (0)