Sha256: 415faa90c095eed3513d99eb4688ab5e474fff3722902c0b5c27a71cbaf67501

Contents?: true

Size: 433 Bytes

Versions: 68

Compression:

Stored size: 433 Bytes

Contents

real((R,_), R).
imaginary((_,I), I).

conjugate((R, I), (R, Ir)) :- Ir is 0-I.
abs((R,I), Rr) :- Rr is (R^2 + I^2)^(1/2).

add((Ra,Ia), (Rb,Ib), (Rr,Ir)) :- Rr is Ra+Rb, Ir is Ia+Ib.
sub((Ra,Ia), (Rb,Ib), (Rr,Ir)) :- Rr is Ra-Rb, Ir is Ia-Ib.

mul((Ra,Ia), (Rb,Ib), (Rr,Ir)) :-
  Rr is (Ra*Rb - Ia*Ib), Ir is (Ra*Ib + Ia*Rb).

div((Ra,Ia), (Rb,Ib), (Rr,Ir)) :-
  Y is (Rb^2 + Ib^2), Rr is (Ra*Rb + Ia*Ib)/Y, Ir is (Ia*Rb - Ra*Ib)/Y.

Version data entries

68 entries across 68 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/prolog/exercises/complex-numbers/complex_numbers.example
trackler-2.2.1.179 tracks/prolog/exercises/complex-numbers/complex_numbers.example
trackler-2.2.1.178 tracks/prolog/exercises/complex-numbers/complex_numbers.example
trackler-2.2.1.177 tracks/prolog/exercises/complex-numbers/complex_numbers.example
trackler-2.2.1.176 tracks/prolog/exercises/complex-numbers/complex_numbers.example
trackler-2.2.1.175 tracks/prolog/exercises/complex-numbers/complex_numbers.example
trackler-2.2.1.174 tracks/prolog/exercises/complex-numbers/complex_numbers.example
trackler-2.2.1.173 tracks/prolog/exercises/complex-numbers/complex_numbers.example
trackler-2.2.1.172 tracks/prolog/exercises/complex-numbers/complex_numbers.example
trackler-2.2.1.171 tracks/prolog/exercises/complex-numbers/complex_numbers.example
trackler-2.2.1.170 tracks/prolog/exercises/complex-numbers/complex_numbers.example
trackler-2.2.1.169 tracks/prolog/exercises/complex-numbers/complex_numbers.example
trackler-2.2.1.167 tracks/prolog/exercises/complex-numbers/complex_numbers.example
trackler-2.2.1.166 tracks/prolog/exercises/complex-numbers/complex_numbers.example
trackler-2.2.1.165 tracks/prolog/exercises/complex-numbers/complex_numbers.example
trackler-2.2.1.164 tracks/prolog/exercises/complex-numbers/complex_numbers.example
trackler-2.2.1.163 tracks/prolog/exercises/complex-numbers/complex_numbers.example
trackler-2.2.1.162 tracks/prolog/exercises/complex-numbers/complex_numbers.example
trackler-2.2.1.161 tracks/prolog/exercises/complex-numbers/complex_numbers.example
trackler-2.2.1.160 tracks/prolog/exercises/complex-numbers/complex_numbers.example