I have software written in VB.NET that does a lot of calculations, basically extracts jpegs for bitmaps and calculates calculations on pixels like convolutions and matrix multiplication. Different computers give me different results, despite the fact that they have the same input. What could be the reason?
Edit : I cannot provide an algorithm because it is proprietary, but I can provide all the relevant operations:
- ULong \ ULong (truncation division)
- Bitmap.Load ("filename.bmp ') (Loading a bitmap into memory)
- Bitmap.GetPixel (Integer, Integer) (get pixel brightness)
- Double + Double
- Double * Double
- Math.Sqrt (Double)
- Math.pi
- Math.cos (Double)
- ULong - ULong
- ULong * ULong
- ULong <ULong
- List.OrderBy (Of Double) (Func)
Hmm ... Is it possible that OrderBy uses unstable QuickSort and that QuickSort uses a random kernel? Edit : just tested, no. The variety is stable.
source share