android/guava/src/com/google/common/util/concurrent/AtomicDoubleArray.java
public final boolean weakCompareAndSet(int i, double expect, double update) {
    return longs.weakCompareAndSet(i, doubleToRawLongBits(expect), doubleToRawLongBits(update));
  }
public final boolean weakCompareAndSet(int i, double expect, double update) {
    return longs.weakCompareAndSet(i, doubleToRawLongBits(expect), doubleToRawLongBits(update));
  }
public final boolean weakCompareAndSet ( int i , double expect , double update ) { return longs . weakCompareAndSet ( i , doubleToRawLongBits ( expect ) , doubleToRawLongBits ( update ) ) ; }
Atomically sets the element at position {@code i} to the given updated value if the current
value is <a href="#bitEquals">bitwise equal</a> to the expected value.

<p>May <a
href="http://download.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/package-summary.html#Spurious">
fail spuriously</a> and does not provide ordering guarantees, so is only rarely an appropriate
alternative to {@code compareAndSet}.

@param i the index
@param expect the expected value
@param update the new value
@return true if successful
Atomically sets the element at position { @code i } to the given updated value if the current value is <a href = #bitEquals > bitwise equal< / a > to the expected value .