2012-06-17 28 views
6

Trong C99 spec nó nói về remquo:remquo: giảm đối số?

Các chức năng remquo được dành cho việc thực hiện cắt giảm tranh luận mà có thể khai thác một vài bit bậc thấp của thương. Lưu ý rằng x có thể quá lớn so với y mà biểu diễn chính xác của thương là không thực tế.

"Giảm đối số" trong ngữ cảnh này là gì và ví dụ về cách nào có thể khai thác một vài bit có thứ tự thấp của thương?

+0

Dường như phải thực hiện tính toán hiệu quả các hàm siêu việt bằng cách "giảm" đối số thành phạm vi nhỏ hơn và sử dụng tra cứu và nội suy. Xem [this] (http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.123.9012&rep=rep1&type=pdf) [hai] (http://www.imada.sdu.dk/~ giấy tờ kornerup/papers/RR2.pdf). –

Trả lời

7

Giảm đối số có nghĩa là ánh xạ đối số của hàm tuần hoàn vào chu kỳ kinh điển (ví dụ, (-π, π] hoặc tương tự) .Nếu bạn sử dụng π/2 làm số chia, các bit thấp của thương số sẽ là đủ để xác định dấu hiệu đúng/etc cho các chức năng trang điểm

Thật không may, tuy nhiên, remquo là vô ích cho việc thực hiện giảm tranh cãi lượng giác tiêu chuẩn, vì π là không hợp lý;.. giảm tranh cãi lớn modulo một xấp xỉ của π sẽ cho bạn kết quả với không có các bit quan trọng, tức là tất cả lỗi.

Nếu bạn đang viết hàm f(x) được xác định là sin (πx) hoặc tương tự, khoảng thời gian này có thể biểu diễn chính xác trong dấu phẩy động, và remquo có thể thực hiện chính xác những gì bạn cần, trong khi gọi trực tiếp sin(2*M_PI*x) (I E tất cả các lỗi) khi x lớn.

+2

Để rõ ràng, việc triển khai remquo đúng sẽ trả lại kết quả chính xác (không có lỗi) do các đối số được chuyển. Lý do nó được sử dụng hạn chế trong việc giảm các đối số lượng giác là nó không thể vượt qua nó giá trị của π chính xác hơn nó có thể được biểu diễn trong một đôi (hoặc trong một đôi dài cho remquol). Vì vậy, vấn đề là trên đầu vào, không phải trong tính toán chức năng. –

+0

Thật vậy, nó không phải là một lỗi trong cách chức năng hoạt động; đó là một hạn chế cơ bản trong giao diện làm cho nó vô dụng đối với các chức năng trig tiêu chuẩn. –

Các vấn đề liên quan