You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This one's been around for ages, but has just now started bothering me enough to file a bug report:
import std.math;
void main() {
uint num = 1;
auto ans = sqrt(num);
}
Error:
test.d(5): Error: function std.math.sqrt called with argument types:
((uint))
matches both:
std.math.sqrt(float x)
and:
std.math.sqrt(real x)
I guess the solution is to make long and ulong overloads that forward to std.math.sqrt(real x).
The text was updated successfully, but these errors were encountered:
Partially unrelated: an efficient D compiler can desire to implement the sqrt with SSE instructions like SQRTSS RSQRTSS SQRTPS and RSQRTPS, that have floats or doubles in input or output. So I think a double sqrt(double) too can be useful, to avoid the useless argument passing of 10-12-16 bytes (necessary for an argument of type real) for the computation of sqrt on a double.
dsimcha (@dsimcha) reported this on 2010-07-13T13:56:00Z
Transfered from https://issues.dlang.org/show_bug.cgi?id=4455
CC List
Description
This one's been around for ages, but has just now started bothering me enough to file a bug report: import std.math; void main() { uint num = 1; auto ans = sqrt(num); } Error: test.d(5): Error: function std.math.sqrt called with argument types: ((uint)) matches both: std.math.sqrt(float x) and: std.math.sqrt(real x) I guess the solution is to make long and ulong overloads that forward to std.math.sqrt(real x).The text was updated successfully, but these errors were encountered: