조금 놀랐습니다 :) 저는 수사학적 질문을 하지 않고 공유하기로 결정했습니다. - 페이지 21

 
Renat :

실패한 문에서 다른 문으로 쉽게 이동할 수 있습니다.

합리적인 데이터 유형 을 가진 프로세서가 있고 다음 SSExxx 명령어 세트가 두 배보다 빠르게 작업할 수 있을 때 유리수를 계산 속도 향상 주제에 대한 논의에 연결할 수 있습니다. 다른 방법으로 SMA 계산 테스트를 게시하고 두 배 이상의 승리를 보여주면 연습 연설이 됩니다.

그 동안 정수로 전환할 때 실제 수학 계산의 가속화에 대한 원래의 진술은 실패했습니다.

뭐가 문제 야 ?! 나는 아무 곳도 건너 뛰지 않았습니다. 반만 읽으면. 아아. 나는 유리수에 대해 이미 스무 번이나 말했습니다. 그러나 그가 분수라는 것을 코를 찌르기 전까지는 아무도 이해하지 못했습니다. :) 나는 당신에게 말하고 있습니다 - 그것은 재미있습니다. 아아. :(


:) 실패 - 나는 정수와 POINT의 개념에 대해 이야기하고 있었고 요점은 항상 분모입니다. 포인트가 10000인 경우 13000포인트 - 값은 = 13000/10000 = 1.3입니다. :)

 
Academic :

뭐가 문제 야 ?! 나는 아무 곳도 건너 뛰지 않았습니다. 반만 읽으면. 아아. 나는 유리수에 대해 이미 스무 번이나 말했습니다. 그러나 그가 분수라는 것을 코를 찌르기 전까지는 아무도 이해하지 못했습니다. :) 나는 당신에게 말하고 있습니다 - 그것은 재미있습니다. 아아. :(


:) 실패 - 나는 정수와 POINT의 개념에 대해 이야기하고 있었고 요점은 항상 분모입니다. 포인트가 10000인 경우 13000포인트 - 값은 = 13000/10000 = 1.3입니다. :)

8바이트 더블(정수 부분 + 분모 + 분자) 대신 3개의 8바이트 길이를 처리하도록 제안하는 사람들은 그러한 거대함을 끌어내기에 충분한 메모리가 없을 것입니다. 그리고 더 짧은 것을 위해 long을 자르기 시작하면 꽤 적절한 계산에서 오버플로가 발생합니다.

세 개의 int라도 하나의 double 이상입니다.

 
Urain :
8바이트 더블(정수 부분 + 분모 + 분자) 대신 3개의 8바이트 길이를 처리하도록 제안하는 사람들은 그러한 거대함을 끌어내기에 충분한 메모리가 없을 것입니다. 그리고 더 짧은 것을 위해 long을 자르기 시작하면 꽤 적절한 계산에서 오버플로가 발생합니다.

구현하는 최악의 방법을 선택했습니다. 당신이 나에게 말한 것을 감안할 때, 그것은 적합하지 않습니다. 우리 중 누가 더 잘 알까요?

킬로미터 단위의 숫자가 있습니다. 이것은 int32입니다. 그리고 그는 다른 것이 필요하지 않습니다. 다른 차원의 값에 추가하지 마십시오. :) 킬로미터보다 더 높은 정확도를 원하면 나노미터로 이동하십시오. :) 그리고 정수로 저장하십시오. :)

 

TheXpert :

그리고 두 번째로, 나는 double을 사용한 산술이 유리수보다 느리다는 것을 강력히 의심합니다.

Wapcheta는 더 느립니다. 그는 단지 잘못된 링크를 제공했습니다.

1. BOOST의 구현은 rac을 정규화합니다. 그들과 함께 각 작업 중 번호. 비용이 많이 들기 때문에 모든 사람에게 이 작업을 수행할 필요는 없습니다. 분모 오버플로의 실제 위협이 있는 경우에만 수행하는 것이 좋습니다.

2. 가장 빠른 알고리즘에 따라 공통 분모로의 환원(더 정확하게는 최대 공약수의 계산)이 수행되지 않습니다. 오늘은 더 빠릅니다.

말한 대로 조정한 그는 rac의 발사 속도에 대해 옳았습니다. 숫자.

산술 연산 이 다시 로드되면 mql에 둘 것입니다. 그리고 그것 없이는 - 매우 지루한 구문이 (기능적) 밝혀졌습니다. 그래서 글쎄, 그것은 ... C++에 있습니다 :-)

--

그러나 프로세서 수준에서 지원이 나타나면 정말 멋질 것입니다 ...

 
MetaDriver :

Wapcheta는 더 느립니다. 그는 단지 잘못된 링크를 제공했습니다.

1. BOOST의 구현은 rac을 정규화합니다. 그들과 함께 각 작업 중 번호. 비용이 많이 들기 때문에 모든 사람에게 이 작업을 수행할 필요는 없습니다. 분모 오버플로의 실제 위협이 있는 경우에만 수행하는 것이 좋습니다.

2. 가장 빠른 알고리즘에 따라 공통 분모로의 환원(더 정확하게는 최대 공약수의 계산)이 수행되지 않습니다. 오늘은 더 빠릅니다.

말한 대로 조정한 그는 rac의 발사 속도에 대해 옳았습니다. 숫자.

산술 연산 이 다시 로드되면 mql에 둘 것입니다. 그리고 그것 없이는 - 매우 지루한 구문이 (기능적) 밝혀졌습니다. 그래서 글쎄, 그것은 ... C++에 있습니다 :-)

--

그러나 프로세서 수준에서 지원이 나타나면 정말 멋질 것입니다 ...

산술 자체는 여전히 부동 소수점을 처리해야 하기 때문에 더 느리지만(이는 double과 long의 순수한 산술을 비교하는 경우), double을 정수 산술로 변환하면 잃게 됩니다. gcd 재귀 계산만으로는 log(N) 연산이 필요하며, 각 곱셈 연산에는 오버플로를 확인하기 위해 if가 필요합니다. 그런 다음 4개의 나눗셈을 더 합니다(2개는 GCD 및 정수 부분과 나머지 부분을 강조 표시하기 위해).

게다가 이 모든 말도 안되는 내용을 저장하려면 테이크에 필요한 것보다 더 많은 메모리를 할당해야 합니다.

 
MetaDriver :

Wapcheta는 더 느립니다. 그는 단지 잘못된 링크를 제공했습니다.

증거? 물론 내 눈에는 당신이 topikstarter보다 더 권위적이지만 그 말은 강력합니다.

따라서 비교 테스트를보고 싶습니다.

 
Urain :

산술 자체는 여전히 부동 소수점을 처리해야 하기 때문에 더 느립니다(이는 double과 long의 순수한 산술을 비교하는 경우).

1. 중복 항목을 정수 산술로 변환하면 잃게 됩니다.

2. gcd의 재귀 계산만으로도 log(N) 연산이 필요합니다.

3. 각 곱셈 연산에는 오버플로를 확인하기 위해 if가 필요합니다.

4. 그런 다음 4개의 나눗셈을 더 나눕니다(2개는 GCD에 대해 그리고 정수 부분과 나머지 부분을 강조 표시하기 위해).

5. 무엇보다도 이 모든 말도 안 되는 것들을 저장하기 위해 테이크에 필요한 것보다 더 많은 메모리를 할당해야 합니다.

1. 각 테이크에 대해 1회 작업입니다. 손실은 무시할 만하고 그 다음은 확실한 이익입니다. :) 원래 인용문은 로그가 한 번이고 정수 표현으로 변환된다고 가정합니다.

2. 맞습니다. 빠르지만 비트 시프트를 사용하는 스마트 알고리즘이 있기 때문입니다.

3. 오버플로 검사가 길지 않습니다.

4. 정수 부분은 전혀 선택할 필요가 없습니다. 분수는 long 쌍으로 저장됩니다. 그리고 가능하다면 int 쌍으로.

5. long 쌍으로 저장하면 정확히 같은 양, int가 충분하면 절반입니다(알고리즘의 정확성에 따라 다름).

따옴표가 메모리의 주요 소비자라는 점을 고려하면 정수 표현을 사용하면 공간의 이점을 부인할 수 없습니다.

주요 기능은 메모리 절약이 아니라 속도 향상이라는 사실에도 불구하고. 이것은 훨씬 더 중요합니다.

--

학자의 문제는 그가 틀렸다는 것이 아닙니다. 그리고 그것은 다른 사람들에게 잘못된 것을 드러냅니다.

이것은 존재하는 사람들의 짜증을 유발하고 건강한 아이디어에 대한 거부를 유발합니다 ... 더러운 물과 함께 ... :(

 
TheXpert :

따라서 비교 테스트를보고 싶습니다.

노력하겠습니다. mql5에서 그런 술이 사라졌다면 ... :)

시간이 걸릴 것입니다. 라이브러리를 작성해야 합니다.

 
MetaDriver :

노력하겠습니다. mql5에서 그런 술이 사라졌다면 ... :)

무엇 때문에? C++가 허용됩니다.

메타드라이버 :

학자의 문제는 그가 틀렸다는 것이 아닙니다. 그리고 그것은 다른 사람들에게 잘못된 것을 드러냅니다.

문제는 자신이 남들보다 똑똑하다고 생각하고 끊임없이 누군가를 바보로 만들려고 한다는 것입니다.

동시에 거짓말입니다. 장소에 강합니다.

 
MetaDriver :

학자의 문제는 그가 틀렸다는 것이 아닙니다. 그리고 그것은 다른 사람들에게 잘못된 것을 드러냅니다.

이것은 존재하는 사람들의 짜증을 유발하고 건강한 아이디어에 대한 거부를 유발합니다 ... 더러운 물과 함께 ... :(

나는 누구와도 어울리지 않습니다. 하지만 저에게는 반대입니다. :) 누가 조언으로 누구를 불렀습니까? "주제와 함께 가야합니까?" :)

그리고 그 사실은 이미 내가 - :) 글쎄, 오리 nefig와 나.

일반적인 차이점은 무엇입니까? - 여기서 무엇을 논의할 수 있습니까? IMHO - 모든 것이 그대로 기본 수준으로 유지되었습니다. 그래서 나에게는 아무런 문제가 없습니다. 마치 내가 존재하지 않는 것과 같습니다. :)