-->

float a = 0.2f;
float b = 0.4f;
//resultには1が代入される
float result = step(a, b);
private float Step(float a, float b)
{
if (a <= b)
{
return 1;
}
else
{
return 0;
}
}
private float Step(float a, float b)
{
if (a < b)
{
return 1;
}
else
{
return 0;
}
}
//aとbが同じ値なら0を、aがbより小さいなら0を、aがbより大きいなら1を返す
1 - step(b, a);

float a = 0.2f;
float b = 0.4f;
//resultMinには0.2が代入される
float resultMin = min(a, b);
//resultMaxには0.4が代入される
float resultMax = max(a, b);

//divisionが0以下ならoriginalの値をそのまま返す。
//それ以外はorginalの値にdivisionを割った値を返し、
//またdivisionの最大値は1000とする。
private float Calc(float original, float division)
{
if(division <= 0)
{
return original
}
division = division > 1000? 1000 : division;
return original / division;
}
float calc(float original, float division)
{
//divisionが0以下なら0を返し、それ以外は1を返す
float avoidZero = 1 - step(division, 0);
//もしavoidZeroが0なら1を返し、1ならdivisionの値をそのまま返す
float fixDivision = max(1 - avoidZero, division * avoidZero);
//fixDivisionと1000を比較し、小さい方を返す
fixDivision = min(fixDivision, 1000);
//originalの値にfixDivisionを割って返す
return original / fixDivision;
}