float/double; implement softmax