一連の数値 (例: 0.1、-0.5、1.0、-0.33、...) をループするとき、現在の数値が前の数値とは異なる符号を持っているかどうかをテストする方法が必要です。私のコードは以下の通りですが、もっと良い方法があるはずです..
-(bool)signChanged:(float)prev :(float)value{
// our value is negative
if(value < 0.0){
// previous value is positive or zero
if(prev >= 0.0) return true;
// our value is positive
}else{
if(prev < 0.0) return true;
}
return false;
}