Creating real bool type for simulation in physics

Dan Nelson dnelson at
Mon Mar 13 17:13:52 UTC 2006

In the last episode (Mar 13), Mathieu Prevot said:
> I use freebsd/amd64 (RELENG_6) for simulation in physics. I am
> working on the Ising model: an assembly of spins (micromagnets) which
> interact and which are in one of two states (up or down). Until now I
> use char to define the state of each spin (-1 or 1), however, I
> remarked that most time is spent on memory I/O.  Most of bits are
> unused.
> I think that if I can use just one bit per spin, I can have something
> much faster. I need advices on how to use it. I guess I can't define
> a new type with a 1/8 byte height (or one bit), yes ? What variable
> (int, char...) do you recommend to use for a sempron 64 bits. I think
> I'll need to define new operators (opaque operators, built with bit
> operators) to switch my spins or use directly the following: & | ^ ~
> ...

Take a look at the "bitstring" functions, which let you allocate an
array of "bits" and manipulate them individually.  They're documented
in the bitstring manpage.

	Dan Nelson
	dnelson at

More information about the freebsd-amd64 mailing list