Sinclair BASIC didn't directly calculate any of the higher functions - instead, it had an intermediate "maths language" which was interpreted (on-topic! whee!) by the calculator routine. Basically, you set your algorithm up as a series of bytes (which represented the commands of this language) and then issued an RST instruction on the CPU, which called the interpreter.
It was very, very slow - floating point calculations took forever in terms of CPU cycles. The spectrum also handled integers very fast indeed, but unlike the BBC could handle any variable as int or float, and knew how to make the distinction. The calculator is fascinating stuff, and is fully documented in Geoff Wearmouth's
online disassembly of the Spectrum ROM. The calculator disassembly starts at L0028 and thereafter moves almost immediately to L335B.
I'm currently working on an x86 adaptation of the sinclair spectrum ROM for use on old laptops and suchlike, to be used as a retro-styled OS but with modern capability in graphics/sound/storage.
WarmFluffyUK:
The entire Spectrum manual is part of the BASin distribution - BASin being an integrated development environment (IDE) for Sinclair BASIC. You can find it
here, as a windows installer. It's quite fun to play with the BASIC with a full delphi-like debugging suite and tools. The manual can be found in the helpfile, and it's fully hotlinked and searchable.
D.