2016-04-06 46 views
0

Java'da, platformlar arasında kayan noktalı determinizmi zorlamak için strictfp kullanabilirsiniz. Android'de böyle bir uygulama var mı, eğer öyleyse nasıl kullanıyorsunuz?Android'de kayan nokta determinizmi nasıl edinilir?

+0

, önceki soruya bir cevap kazanılmış olacaktı. Onu sildikten ve bir snide yorum bıraktıktan sonra, hepsini sizin için yeniden yaratmayacağım. Kısa versiyon, 'strictfp' çalışır. – chrylis

+0

@chrylis Teşekkürler dostum! Onu bir kaynakla gerçek bir cevaba sok, böylece seni baştan çıkar ve seni cevap olarak seçebilirim. – CodeCamper

cevap

1

Normal Java'da olduğu gibi kullanabilirsiniz. Örnek:

public class TestStrictfp { 
    strictfp double computeTotal(double x, double y) { 
     return x + y; 
    } 
} 

Ve gibi kullanın:

Eğer böyle bir snit içinde olmasaydı
TestStrictfp o = new TestStrictfp(); 
double d = o.computeTotal(1, 2); 
+0

Sınıfta yer aldığınızda yöntemin katı olması gerekir mi? Ayrıca, katı hesaplamalar AMD/Intel ve tüm Android cihazlarda da aynı şekilde hesaplanmalı mı? – CodeCamper

+0

Karmaşıklığı önlemek için strictfp anahtar sözcüğünü sınıf bildiriminden kaldırdım. Demek istediğim, Android’in normal Java kodunda olduğu gibi geçerli olmasıdır. Anladığım kadarıyla, strictfp kullanmak, kayan nokta hesaplamalarının sonuçlarının tüm platformlarda aynı olduğunu garanti eder. –